Cree una nueva versión del prompt de Agent Observability

Note: This endpoint is in preview and is subject to change. If you have any feedback, contact Datadog support.

POST https://api.ap1.datadoghq.com/api/v2/llm-obs/v1/prompts/{prompt_id}/versionshttps://api.ap2.datadoghq.com/api/v2/llm-obs/v1/prompts/{prompt_id}/versionshttps://api.datadoghq.eu/api/v2/llm-obs/v1/prompts/{prompt_id}/versionshttps://api.ddog-gov.com/api/v2/llm-obs/v1/prompts/{prompt_id}/versionshttps://api.us2.ddog-gov.com/api/v2/llm-obs/v1/prompts/{prompt_id}/versionshttps://api.uk1.datadoghq.com/api/v2/llm-obs/v1/prompts/{prompt_id}/versionshttps://api.datadoghq.com/api/v2/llm-obs/v1/prompts/{prompt_id}/versionshttps://api.us3.datadoghq.com/api/v2/llm-obs/v1/prompts/{prompt_id}/versionshttps://api.us5.datadoghq.com/api/v2/llm-obs/v1/prompts/{prompt_id}/versions

Descripción general

Create a new version of an existing Agent Observability prompt.

Preview: Prompt composition is available in Preview. To request access, contact Datadog Support or your Customer Success Manager.

This endpoint requires all of the following permissions:
  • llm_observability_read
  • llm_observability_write
  • feature_flag_config_read
  • feature_flag_config_write
  • feature_flag_environment_config_read

  • Argumentos

    Parámetros de ruta

    Nombre

    Type

    Descripción

    prompt_id [required]

    string

    The customer-provided identifier of the Agent Observability prompt.

    Solicitud

    Body Data (required)

    Create prompt version payload.

    Expand All

    Campo

    Type

    Descripción

    data [required]

    object

    Data object for creating an Agent Observability prompt version.

    attributes [required]

    object

    Attributes for creating a new version of an Agent Observability prompt. template is required; all other attributes are optional. If config is omitted, the latest version's configuration is carried forward. An explicit empty object clears it. Configuration authoring must be enabled for your organization to supply config. Otherwise, supplying it, including an empty object, returns HTTP 403. Omitting config still carries forward the latest configuration.

    config

    object

    Versioned prompt configuration is in Preview. To request access, contact Datadog Support or your Customer Success Manager. Customer-owned configuration delivered with a prompt version. Datadog stores and returns the object without interpolating it, validating provider-specific keys, or applying it to model calls. Do not include secrets.

    description

    string

    Optional description of this version.

    env_ids

    [string]

    Optional feature-flag environment UUIDs the service attempts to enable and configure to use this version as their default after creation.

    labels

    [string]

    DEPRECATED: Optional labels to attach to this version. Do not use this attribute for new integrations.

    template [required]

     <oneOf>

    A text template, a list of chat messages and named message placeholders, or an authored chat object. Text can include an exact prompt version with {{>prompt-id version=N}}; other text, including {{>...}} sequences without a version, remains literal. Use an authored chat object when including prompts as chat messages. Preview: Prompt composition is available in Preview. To request access, contact Datadog Support or your Customer Success Manager. Without access, inline references remain literal text and structured includes are unsupported. Previously compiled prompt versions remain available for execution. Preview: Message placeholders are available in Preview. To request access, contact Datadog Support or your Customer Success Manager.

    Object 1

    string

    A text prompt template.

    Object 2

    [ <oneOf>]

    A chat prompt template containing messages and optional named message placeholders. Preview: Message placeholders are available in Preview. To request access, contact Datadog Support or your Customer Success Manager.

    Object 1

    object

    A single chat message in a prompt template.

    content [required]

    string

    Content of the message.

    role [required]

    string

    Role of the message (for example system, user, or assistant).

    <type=placeholder>

    object

    A named placeholder that inserts a list of messages when a compatible SDK formats the prompt. Preview: Message placeholders are available in Preview. To request access, contact Datadog Support or your Customer Success Manager.

    name [required]

    string

    Name used to supply the message list when formatting the prompt.

    type [required]

    enum

    Type of chat-template item. Allowed enum values: placeholder

    Object 3

    object

    A chat prompt whose authored items are stored under messages.

    messages [required]

    [ <oneOf>]

    A chat prompt containing messages, references to specific versions of other prompts, or both.

    Object 1

    object

    A single chat message in a prompt template.

    content [required]

    string

    Content of the message.

    role [required]

    string

    Role of the message (for example system, user, or assistant).

    Object 2

    object

    Includes all or selected messages from a specific version of another prompt.

    include [required]

    object

    Includes messages from a specific version of another prompt. Omitting items includes every message from that version in its original order. When items is present, messages are included in the specified order, including repetitions.

    items

    [integer]

    Zero-based indexes of messages from the included prompt. For example, [2, 0, 0] includes the third message, followed by the first message twice. Omit this field to include all messages in their original order.

    prompt_id [required]

    string

    Customer-provided identifier of the included prompt.

    version [required]

    int64

    Positive sequential version number of the included prompt.

    user_version

    string

    Optional user-supplied version identifier for this version.

    type [required]

    enum

    Resource type of an Agent Observability prompt version. Allowed enum values: prompt-template-versions

    {
      "data": {
        "attributes": {
          "config": {
            "model": "provider-model",
            "response_format": {
              "type": "json_object"
            },
            "temperature": 0.2
          },
          "description": "string",
          "env_ids": [],
          "labels": [],
          "template": {
            "description": "You are a helpful assistant for {{audience}}.",
            "minLength": "You are a helpful assistant for {{audience}}.",
            "pattern": "You are a helpful assistant for {{audience}}.",
            "type": "You are a helpful assistant for {{audience}}."
          },
          "user_version": "string"
        },
        "type": "prompt-template-versions"
      }
    }

    Respuesta

    OK

    Response containing a specific version of an Agent Observability prompt.

    Expand All

    Campo

    Type

    Descripción

    data [required]

    object

    Data object for a specific version of an Agent Observability prompt.

    attributes [required]

    object

    Attributes of a specific version of an Agent Observability prompt. For a composed version, authoring_template contains its pinned include-bearing source; ordinary versions omit that attribute. Empty config is omitted when configuration authoring is disabled for the organization. Non-empty saved configuration is always returned.

    author

    string

    UUID of the user who authored this version.

    authoring_template

     <oneOf>

    A text template, a list of chat messages and named message placeholders, or an authored chat object. Text can include an exact prompt version with {{>prompt-id version=N}}; other text, including {{>...}} sequences without a version, remains literal. Use an authored chat object when including prompts as chat messages. Preview: Prompt composition is available in Preview. To request access, contact Datadog Support or your Customer Success Manager. Without access, inline references remain literal text and structured includes are unsupported. Previously compiled prompt versions remain available for execution. Preview: Message placeholders are available in Preview. To request access, contact Datadog Support or your Customer Success Manager.

    Object 1

    string

    A text prompt template.

    Object 2

    [ <oneOf>]

    A chat prompt template containing messages and optional named message placeholders. Preview: Message placeholders are available in Preview. To request access, contact Datadog Support or your Customer Success Manager.

    Object 1

    object

    A single chat message in a prompt template.

    content [required]

    string

    Content of the message.

    role [required]

    string

    Role of the message (for example system, user, or assistant).

    <type=placeholder>

    object

    A named placeholder that inserts a list of messages when a compatible SDK formats the prompt. Preview: Message placeholders are available in Preview. To request access, contact Datadog Support or your Customer Success Manager.

    name [required]

    string

    Name used to supply the message list when formatting the prompt.

    type [required]

    enum

    Type of chat-template item. Allowed enum values: placeholder

    Object 3

    object

    A chat prompt whose authored items are stored under messages.

    messages [required]

    [ <oneOf>]

    A chat prompt containing messages, references to specific versions of other prompts, or both.

    Object 1

    object

    A single chat message in a prompt template.

    content [required]

    string

    Content of the message.

    role [required]

    string

    Role of the message (for example system, user, or assistant).

    Object 2

    object

    Includes all or selected messages from a specific version of another prompt.

    include [required]

    object

    Includes messages from a specific version of another prompt. Omitting items includes every message from that version in its original order. When items is present, messages are included in the specified order, including repetitions.

    items

    [integer]

    Zero-based indexes of messages from the included prompt. For example, [2, 0, 0] includes the third message, followed by the first message twice. Omit this field to include all messages in their original order.

    prompt_id [required]

    string

    Customer-provided identifier of the included prompt.

    version [required]

    int64

    Positive sequential version number of the included prompt.

    config

    object

    Versioned prompt configuration is in Preview. To request access, contact Datadog Support or your Customer Success Manager. Customer-owned configuration delivered with a prompt version. Datadog stores and returns the object without interpolating it, validating provider-specific keys, or applying it to model calls. Do not include secrets.

    created_at

    date-time

    Timestamp stored on this prompt version.

    datasets

    [object]

    Datasets observed in runs associated with this prompt version.

    id [required]

    string

    Unique identifier of the dataset.

    name

    string

    Name of the dataset.

    description

    string

    Description of this version.

    labels

    [string]

    DEPRECATED: Labels attached to this version (for example development, staging, production).

    last_seen_at

    date-time

    Timestamp of the most recent observed run of this prompt version.

    ml_app

    string

    The ML application this prompt is associated with.

    ml_apps

    [string]

    ML applications observed running this prompt version.

    prompt_id [required]

    string

    Customer-provided identifier of the parent prompt.

    prompt_uuid [required]

    string

    Unique identifier of the parent prompt.

    tags

    [string]

    Tags observed on runs of this prompt version.

    template [required]

     <oneOf>

    A text template, a list of chat messages and named message placeholders, or an authored chat object. Text can include an exact prompt version with {{>prompt-id version=N}}; other text, including {{>...}} sequences without a version, remains literal. Use an authored chat object when including prompts as chat messages. Preview: Prompt composition is available in Preview. To request access, contact Datadog Support or your Customer Success Manager. Without access, inline references remain literal text and structured includes are unsupported. Previously compiled prompt versions remain available for execution. Preview: Message placeholders are available in Preview. To request access, contact Datadog Support or your Customer Success Manager.

    Object 1

    string

    A text prompt template.

    Object 2

    [ <oneOf>]

    A chat prompt template containing messages and optional named message placeholders. Preview: Message placeholders are available in Preview. To request access, contact Datadog Support or your Customer Success Manager.

    Object 1

    object

    A single chat message in a prompt template.

    content [required]

    string

    Content of the message.

    role [required]

    string

    Role of the message (for example system, user, or assistant).

    <type=placeholder>

    object

    A named placeholder that inserts a list of messages when a compatible SDK formats the prompt. Preview: Message placeholders are available in Preview. To request access, contact Datadog Support or your Customer Success Manager.

    name [required]

    string

    Name used to supply the message list when formatting the prompt.

    type [required]

    enum

    Type of chat-template item. Allowed enum values: placeholder

    Object 3

    object

    A chat prompt whose authored items are stored under messages.

    messages [required]

    [ <oneOf>]

    A chat prompt containing messages, references to specific versions of other prompts, or both.

    Object 1

    object

    A single chat message in a prompt template.

    content [required]

    string

    Content of the message.

    role [required]

    string

    Role of the message (for example system, user, or assistant).

    Object 2

    object

    Includes all or selected messages from a specific version of another prompt.

    include [required]

    object

    Includes messages from a specific version of another prompt. Omitting items includes every message from that version in its original order. When items is present, messages are included in the specified order, including repetitions.

    items

    [integer]

    Zero-based indexes of messages from the included prompt. For example, [2, 0, 0] includes the third message, followed by the first message twice. Omit this field to include all messages in their original order.

    prompt_id [required]

    string

    Customer-provided identifier of the included prompt.

    version [required]

    int64

    Positive sequential version number of the included prompt.

    user_version

    string

    User-supplied identifier for this version.

    version [required]

    int64

    Sequential version number.

    version_created_at

    date-time

    Timestamp when this version was created.

    id [required]

    string

    Unique identifier of the prompt version.

    type [required]

    enum

    Resource type of an Agent Observability prompt version. Allowed enum values: prompt-template-versions

    {
      "data": {
        "attributes": {
          "author": "3b12f1df-14fd-4e12-bd6f-4a2f5c8b3d1e",
          "config": {},
          "created_at": "2025-02-01T14:30:00Z",
          "description": "Give concise answers and cite relevant help-center articles.",
          "prompt_id": "customer-support-assistant",
          "prompt_uuid": "4a1a28ff-8a25-5f0f-946f-f48264d772eb",
          "template": [
            {
              "content": "You are a helpful customer support assistant for {{company_name}}.",
              "role": "system"
            },
            {
              "content": "Help {{customer_name}} with this question: {{question}}",
              "role": "user"
            }
          ],
          "version": 2,
          "version_created_at": "2025-02-01T14:30:00Z"
        },
        "id": "d83ab666-61cc-5545-a83b-2424bb85467b",
        "type": "prompt-template-versions"
      }
    }

    Bad Request

    API error response.

    Expand All

    Campo

    Type

    Descripción

    errors [required]

    [object]

    A list of errors.

    detail

    string

    A human-readable explanation specific to this occurrence of the error.

    meta

    object

    Non-standard meta-information about the error

    source

    object

    References to the source of the error.

    header

    string

    A string indicating the name of a single request header which caused the error.

    parameter

    string

    A string indicating which URI query parameter caused the error.

    pointer

    string

    A JSON pointer to the value in the request document that caused the error.

    status

    string

    Status code of the response.

    title

    string

    Short human-readable summary of the error.

    {
      "errors": [
        {
          "detail": "Missing required attribute in body",
          "meta": {},
          "source": {
            "header": "Authorization",
            "parameter": "limit",
            "pointer": "/data/attributes/title"
          },
          "status": "400",
          "title": "Bad Request"
        }
      ]
    }

    Unauthorized

    API error response.

    Expand All

    Campo

    Type

    Descripción

    errors [required]

    [object]

    A list of errors.

    detail

    string

    A human-readable explanation specific to this occurrence of the error.

    meta

    object

    Non-standard meta-information about the error

    source

    object

    References to the source of the error.

    header

    string

    A string indicating the name of a single request header which caused the error.

    parameter

    string

    A string indicating which URI query parameter caused the error.

    pointer

    string

    A JSON pointer to the value in the request document that caused the error.

    status

    string

    Status code of the response.

    title

    string

    Short human-readable summary of the error.

    {
      "errors": [
        {
          "detail": "Missing required attribute in body",
          "meta": {},
          "source": {
            "header": "Authorization",
            "parameter": "limit",
            "pointer": "/data/attributes/title"
          },
          "status": "400",
          "title": "Bad Request"
        }
      ]
    }

    Forbidden

    API error response.

    Expand All

    Campo

    Type

    Descripción

    errors [required]

    [object]

    A list of errors.

    detail

    string

    A human-readable explanation specific to this occurrence of the error.

    meta

    object

    Non-standard meta-information about the error

    source

    object

    References to the source of the error.

    header

    string

    A string indicating the name of a single request header which caused the error.

    parameter

    string

    A string indicating which URI query parameter caused the error.

    pointer

    string

    A JSON pointer to the value in the request document that caused the error.

    status

    string

    Status code of the response.

    title

    string

    Short human-readable summary of the error.

    {
      "errors": [
        {
          "detail": "Missing required attribute in body",
          "meta": {},
          "source": {
            "header": "Authorization",
            "parameter": "limit",
            "pointer": "/data/attributes/title"
          },
          "status": "400",
          "title": "Bad Request"
        }
      ]
    }

    Not Found

    API error response.

    Expand All

    Campo

    Type

    Descripción

    errors [required]

    [object]

    A list of errors.

    detail

    string

    A human-readable explanation specific to this occurrence of the error.

    meta

    object

    Non-standard meta-information about the error

    source

    object

    References to the source of the error.

    header

    string

    A string indicating the name of a single request header which caused the error.

    parameter

    string

    A string indicating which URI query parameter caused the error.

    pointer

    string

    A JSON pointer to the value in the request document that caused the error.

    status

    string

    Status code of the response.

    title

    string

    Short human-readable summary of the error.

    {
      "errors": [
        {
          "detail": "Missing required attribute in body",
          "meta": {},
          "source": {
            "header": "Authorization",
            "parameter": "limit",
            "pointer": "/data/attributes/title"
          },
          "status": "400",
          "title": "Bad Request"
        }
      ]
    }

    Too many requests

    API error response.

    Expand All

    Campo

    Type

    Descripción

    errors [required]

    [string]

    A list of errors.

    {
      "errors": [
        "Bad Request"
      ]
    }

    Ejemplo de código

                      ## Create a version that includes all or selected messages from other prompts
    # 
    
    # Path parameters
    export prompt_id="customer-support-assistant"
    # Use a Personal Access Token or Service Access Token
    export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

    # Curl command
    curl -X POST "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.us2.ddog-gov.com"https://api.uk1.datadoghq.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/llm-obs/v1/prompts/${prompt_id}/versions" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${DD_BEARER_TOKEN}" \ -d @- << EOF { "data": { "attributes": { "template": { "messages": [ { "include": { "prompt_id": "assistant-introduction", "version": 2 } }, { "include": { "items": [ 2, 0, 0 ], "prompt_id": "response-examples", "version": 4 } }, { "content": "Answer {{question}}.", "role": "user" } ] } }, "type": "prompt-template-versions" } } EOF
    ## Create a version that includes text from another prompt #
    # Path parameters
    export prompt_id="customer-support-assistant"
    # Use a Personal Access Token or Service Access Token
    export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

    # Curl command
    curl -X POST "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.us2.ddog-gov.com"https://api.uk1.datadoghq.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/llm-obs/v1/prompts/${prompt_id}/versions" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${DD_BEARER_TOKEN}" \ -d @- << EOF { "data": { "attributes": { "description": "Reuse the exact response policy.", "template": "{{\u003eresponse-policy version=3}}\n\nAnswer {{question}}." }, "type": "prompt-template-versions" } } EOF
    ## default #
    # Path parameters
    export prompt_id="customer-support-assistant"
    # Use a Personal Access Token or Service Access Token
    export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

    # Curl command
    curl -X POST "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.us2.ddog-gov.com"https://api.uk1.datadoghq.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/llm-obs/v1/prompts/${prompt_id}/versions" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${DD_BEARER_TOKEN}" \ -d @- << EOF { "data": { "attributes": { "config": { "model": "provider-model", "temperature": 0.4 }, "description": "Give concise answers and cite relevant help-center articles.", "template": [ { "content": "You are a helpful customer support assistant for {{company_name}}.", "role": "system" }, { "content": "Help {{customer_name}} with this question: {{question}}", "role": "user" } ] }, "type": "prompt-template-versions" } } EOF
    """
    Create a new Agent Observability prompt version returns "OK" response
    """
    
    from os import environ
    from datadog_api_client import ApiClient, Configuration
    from datadog_api_client.v2.api.agent_observability_api import AgentObservabilityApi
    from datadog_api_client.v2.model.llm_obs_create_prompt_version_data import LLMObsCreatePromptVersionData
    from datadog_api_client.v2.model.llm_obs_create_prompt_version_data_attributes import (
        LLMObsCreatePromptVersionDataAttributes,
    )
    from datadog_api_client.v2.model.llm_obs_create_prompt_version_request import LLMObsCreatePromptVersionRequest
    from datadog_api_client.v2.model.llm_obs_prompt_config import LLMObsPromptConfig
    from datadog_api_client.v2.model.llm_obs_prompt_version_label import LLMObsPromptVersionLabel
    from datadog_api_client.v2.model.llm_obs_prompt_version_type import LLMObsPromptVersionType
    
    body = LLMObsCreatePromptVersionRequest(
        data=LLMObsCreatePromptVersionData(
            attributes=LLMObsCreatePromptVersionDataAttributes(
                config=LLMObsPromptConfig(
                    [("model", "provider-model"), ("response_format", "{'type': 'json_object'}"), ("temperature", "0.2")]
                ),
                env_ids=[],
                labels=[
                    LLMObsPromptVersionLabel.PRODUCTION,
                ],
                template="You are a helpful assistant for .",
            ),
            type=LLMObsPromptVersionType.PROMPT_TEMPLATE_VERSIONS,
        ),
    )
    
    configuration = Configuration()
    configuration.access_token = environ["DD_BEARER_TOKEN"]
    configuration.unstable_operations["create_llm_obs_prompt_version"] = True
    with ApiClient(configuration) as api_client:
        api_instance = AgentObservabilityApi(api_client)
        response = api_instance.create_llm_obs_prompt_version(prompt_id="prompt_id", body=body)
    
        print(response)
    

    Instructions

    First install the library and its dependencies and then save the example to example.py and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"
    # Create a new Agent Observability prompt version returns "OK" response
    
    require "datadog_api_client"
    DatadogAPIClient.configure do |config|
      config.access_token = ENV["DD_BEARER_TOKEN"]
      config.unstable_operations["v2.create_llm_obs_prompt_version".to_sym] = true
    end
    api_instance = DatadogAPIClient::V2::AgentObservabilityAPI.new
    
    body = DatadogAPIClient::V2::LLMObsCreatePromptVersionRequest.new({
      data: DatadogAPIClient::V2::LLMObsCreatePromptVersionData.new({
        attributes: DatadogAPIClient::V2::LLMObsCreatePromptVersionDataAttributes.new({
          config: DatadogAPIClient::V2::LLMObsPromptConfig.new({}),
          env_ids: [],
          labels: [
            DatadogAPIClient::V2::LLMObsPromptVersionLabel::PRODUCTION,
          ],
          template: "You are a helpful assistant for .",
        }),
        type: DatadogAPIClient::V2::LLMObsPromptVersionType::PROMPT_TEMPLATE_VERSIONS,
      }),
    })
    p api_instance.create_llm_obs_prompt_version("prompt_id", body)
    

    Instructions

    First install the library and its dependencies and then save the example to example.rb and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"
    // Create a new Agent Observability prompt version returns "OK" response
    
    package main
    
    import (
    	"context"
    	"encoding/json"
    	"fmt"
    	"os"
    
    	"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
    	"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
    )
    
    func main() {
    	body := datadogV2.LLMObsCreatePromptVersionRequest{
    		Data: datadogV2.LLMObsCreatePromptVersionData{
    			Attributes: datadogV2.LLMObsCreatePromptVersionDataAttributes{
    				Config: map[string]interface{}{
    					"model":           "provider-model",
    					"response_format": "{'type': 'json_object'}",
    					"temperature":     0.2,
    				},
    				EnvIds: []string{},
    				Labels: []datadogV2.LLMObsPromptVersionLabel{
    					datadogV2.LLMOBSPROMPTVERSIONLABEL_PRODUCTION,
    				},
    				Template: datadogV2.LLMObsPromptTemplate{
    					LLMObsPromptTextTemplate: datadog.PtrString("You are a helpful assistant for .")},
    			},
    			Type: datadogV2.LLMOBSPROMPTVERSIONTYPE_PROMPT_TEMPLATE_VERSIONS,
    		},
    	}
    	ctx := datadog.NewDefaultContext(context.Background())
    	ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
    	configuration := datadog.NewConfiguration()
    	configuration.SetUnstableOperationEnabled("v2.CreateLLMObsPromptVersion", true)
    	apiClient := datadog.NewAPIClient(configuration)
    	api := datadogV2.NewAgentObservabilityApi(apiClient)
    	resp, r, err := api.CreateLLMObsPromptVersion(ctx, "prompt_id", body)
    
    	if err != nil {
    		fmt.Fprintf(os.Stderr, "Error when calling `AgentObservabilityApi.CreateLLMObsPromptVersion`: %v\n", err)
    		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
    	}
    
    	responseContent, _ := json.MarshalIndent(resp, "", "  ")
    	fmt.Fprintf(os.Stdout, "Response from `AgentObservabilityApi.CreateLLMObsPromptVersion`:\n%s\n", responseContent)
    }
    

    Instructions

    First install the library and its dependencies and then save the example to main.go and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"
    // Create a new Agent Observability prompt version returns "OK" response
    
    import com.datadog.api.client.ApiClient;
    import com.datadog.api.client.ApiException;
    import com.datadog.api.client.v2.api.AgentObservabilityApi;
    import com.datadog.api.client.v2.model.LLMObsCreatePromptVersionData;
    import com.datadog.api.client.v2.model.LLMObsCreatePromptVersionDataAttributes;
    import com.datadog.api.client.v2.model.LLMObsCreatePromptVersionRequest;
    import com.datadog.api.client.v2.model.LLMObsPromptTemplate;
    import com.datadog.api.client.v2.model.LLMObsPromptVersionLabel;
    import com.datadog.api.client.v2.model.LLMObsPromptVersionResponse;
    import com.datadog.api.client.v2.model.LLMObsPromptVersionType;
    import java.util.Collections;
    import java.util.Map;
    
    public class Example {
      public static void main(String[] args) {
        ApiClient defaultClient = ApiClient.getDefaultApiClient();
        defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
        defaultClient.setUnstableOperationEnabled("v2.createLLMObsPromptVersion", true);
        AgentObservabilityApi apiInstance = new AgentObservabilityApi(defaultClient);
    
        LLMObsCreatePromptVersionRequest body =
            new LLMObsCreatePromptVersionRequest()
                .data(
                    new LLMObsCreatePromptVersionData()
                        .attributes(
                            new LLMObsCreatePromptVersionDataAttributes()
                                .config(
                                    Map.ofEntries(
                                        Map.entry("model", "provider-model"),
                                        Map.entry("response_format", "{'type': 'json_object'}"),
                                        Map.entry("temperature", "0.2")))
                                .labels(Collections.singletonList(LLMObsPromptVersionLabel.PRODUCTION))
                                .template(
                                    new LLMObsPromptTemplate("You are a helpful assistant for .")))
                        .type(LLMObsPromptVersionType.PROMPT_TEMPLATE_VERSIONS));
    
        try {
          LLMObsPromptVersionResponse result =
              apiInstance.createLLMObsPromptVersion("customer-support-assistant", body);
          System.out.println(result);
        } catch (ApiException e) {
          System.err.println("Exception when calling AgentObservabilityApi#createLLMObsPromptVersion");
          System.err.println("Status code: " + e.getCode());
          System.err.println("Reason: " + e.getResponseBody());
          System.err.println("Response headers: " + e.getResponseHeaders());
          e.printStackTrace();
        }
      }
    }
    

    Instructions

    First install the library and its dependencies and then save the example to Example.java and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"
    // Create a new Agent Observability prompt version returns "OK" response
    use datadog_api_client::datadog;
    use datadog_api_client::datadogV2::api_agent_observability::AgentObservabilityAPI;
    use datadog_api_client::datadogV2::model::LLMObsCreatePromptVersionData;
    use datadog_api_client::datadogV2::model::LLMObsCreatePromptVersionDataAttributes;
    use datadog_api_client::datadogV2::model::LLMObsCreatePromptVersionRequest;
    use datadog_api_client::datadogV2::model::LLMObsPromptTemplate;
    use datadog_api_client::datadogV2::model::LLMObsPromptVersionLabel;
    use datadog_api_client::datadogV2::model::LLMObsPromptVersionType;
    use serde_json::Value;
    use std::collections::BTreeMap;
    
    #[tokio::main]
    async fn main() {
        let body = LLMObsCreatePromptVersionRequest::new(LLMObsCreatePromptVersionData::new(
            LLMObsCreatePromptVersionDataAttributes::new(
                LLMObsPromptTemplate::LLMObsPromptTextTemplate(
                    "You are a helpful assistant for .".to_string(),
                ),
            )
            .config(BTreeMap::from([
                ("model".to_string(), Value::from("provider-model")),
                ("temperature".to_string(), Value::from(0.2)),
            ]))
            .env_ids(vec![])
            .labels(vec![LLMObsPromptVersionLabel::PRODUCTION]),
            LLMObsPromptVersionType::PROMPT_TEMPLATE_VERSIONS,
        ));
        let mut configuration = datadog::Configuration::new();
        configuration.set_unstable_operation_enabled("v2.CreateLLMObsPromptVersion", true);
        let api = AgentObservabilityAPI::with_config(configuration);
        let resp = api
            .create_llm_obs_prompt_version("prompt_id".to_string(), body)
            .await;
        if let Ok(value) = resp {
            println!("{:#?}", value);
        } else {
            println!("{:#?}", resp.unwrap_err());
        }
    }
    

    Instructions

    First install the library and its dependencies and then save the example to src/main.rs and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
    /**
     * Create a new Agent Observability prompt version returns "OK" response
     */
    
    import { client, v2 } from "@datadog/datadog-api-client";
    
    const configuration = client.createConfiguration({
      authMethods: {
        AuthZ: {
          accessToken: process.env.DD_BEARER_TOKEN as string,
        },
      },
    });
    configuration.unstableOperations["v2.createLLMObsPromptVersion"] = true;
    const apiInstance = new v2.AgentObservabilityApi(configuration);
    
    const params: v2.AgentObservabilityApiCreateLLMObsPromptVersionRequest = {
      body: {
        data: {
          attributes: {
            config: {
              model: "provider-model",
              response_format: "{'type': 'json_object'}",
              temperature: "0.2",
            },
            envIds: [],
            labels: ["production"],
            template: "You are a helpful assistant for .",
          },
          type: "prompt-template-versions",
        },
      },
      promptId: "prompt_id",
    };
    
    apiInstance
      .createLLMObsPromptVersion(params)
      .then((data: v2.LLMObsPromptVersionResponse) => {
        console.log(
          "API called successfully. Returned data: " + JSON.stringify(data)
        );
      })
      .catch((error: any) => console.error(error));
    

    Instructions

    First install the library and its dependencies and then save the example to example.ts and run following commands:

        
    DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comuk1.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"