Delete an LLM Observability prompt

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

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

Overview

Soft-delete an LLM Observability prompt. The prompt’s version rows are retained, but they are no longer accessible through the public prompt registry endpoints. 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

  • Arguments

    Path Parameters

    Name

    Type

    Description

    prompt_id [required]

    string

    The customer-provided identifier of the LLM Observability prompt.

    Response

    OK

    Response confirming that an LLM Observability prompt was deleted.

    Expand All

    Field

    Type

    Description

    data [required]

    object

    Data object confirming that an LLM Observability prompt was deleted.

    attributes [required]

    object

    Attributes confirming that an LLM Observability prompt was deleted.

    deleted_at [required]

    date-time

    Timestamp when the prompt was deleted.

    prompt_id [required]

    string

    Customer-provided identifier of the deleted prompt.

    id [required]

    string

    Unique identifier of the deleted prompt.

    type [required]

    enum

    Resource type of an LLM Observability prompt. Allowed enum values: prompt-templates

    {
      "data": {
        "attributes": {
          "deleted_at": "2025-02-10T09:15:00Z",
          "prompt_id": "customer-support-assistant"
        },
        "id": "4a1a28ff-8a25-5f0f-946f-f48264d772eb",
        "type": "prompt-templates"
      }
    }

    Unauthorized

    API error response.

    Expand All

    Field

    Type

    Description

    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

    Field

    Type

    Description

    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

    Field

    Type

    Description

    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

    Field

    Type

    Description

    errors [required]

    [string]

    A list of errors.

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

    Code Example

                      # Path parameters
    export prompt_id="customer-support-assistant"
    # Curl command
    curl -X DELETE "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}" \ -H "Accept: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}"
    """
    Delete an LLM Observability prompt returns "OK" response
    """
    
    from os import environ
    from datadog_api_client import ApiClient, Configuration
    from datadog_api_client.v2.api.llm_observability_api import LLMObservabilityApi
    
    # there is a valid "prompt" in the system
    PROMPT_DATA_ATTRIBUTES_PROMPT_ID = environ["PROMPT_DATA_ATTRIBUTES_PROMPT_ID"]
    
    configuration = Configuration()
    configuration.unstable_operations["delete_llm_obs_prompt"] = True
    with ApiClient(configuration) as api_client:
        api_instance = LLMObservabilityApi(api_client)
        response = api_instance.delete_llm_obs_prompt(
            prompt_id=PROMPT_DATA_ATTRIBUTES_PROMPT_ID,
        )
    
        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_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"
    # Delete an LLM Observability prompt returns "OK" response
    
    require "datadog_api_client"
    DatadogAPIClient.configure do |config|
      config.unstable_operations["v2.delete_llm_obs_prompt".to_sym] = true
    end
    api_instance = DatadogAPIClient::V2::LLMObservabilityAPI.new
    
    # there is a valid "prompt" in the system
    PROMPT_DATA_ATTRIBUTES_PROMPT_ID = ENV["PROMPT_DATA_ATTRIBUTES_PROMPT_ID"]
    p api_instance.delete_llm_obs_prompt(PROMPT_DATA_ATTRIBUTES_PROMPT_ID)
    

    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_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
    // Delete an LLM Observability prompt 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() {
    	// there is a valid "prompt" in the system
    	PromptDataAttributesPromptID := os.Getenv("PROMPT_DATA_ATTRIBUTES_PROMPT_ID")
    
    	ctx := datadog.NewDefaultContext(context.Background())
    	configuration := datadog.NewConfiguration()
    	configuration.SetUnstableOperationEnabled("v2.DeleteLLMObsPrompt", true)
    	apiClient := datadog.NewAPIClient(configuration)
    	api := datadogV2.NewLLMObservabilityApi(apiClient)
    	resp, r, err := api.DeleteLLMObsPrompt(ctx, PromptDataAttributesPromptID)
    
    	if err != nil {
    		fmt.Fprintf(os.Stderr, "Error when calling `LLMObservabilityApi.DeleteLLMObsPrompt`: %v\n", err)
    		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
    	}
    
    	responseContent, _ := json.MarshalIndent(resp, "", "  ")
    	fmt.Fprintf(os.Stdout, "Response from `LLMObservabilityApi.DeleteLLMObsPrompt`:\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_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"
    // Delete an LLM Observability prompt returns "OK" response
    
    import com.datadog.api.client.ApiClient;
    import com.datadog.api.client.ApiException;
    import com.datadog.api.client.v2.api.LlmObservabilityApi;
    import com.datadog.api.client.v2.model.LLMObsDeletedPromptResponse;
    
    public class Example {
      public static void main(String[] args) {
        ApiClient defaultClient = ApiClient.getDefaultApiClient();
        defaultClient.setUnstableOperationEnabled("v2.deleteLLMObsPrompt", true);
        LlmObservabilityApi apiInstance = new LlmObservabilityApi(defaultClient);
    
        // there is a valid "prompt" in the system
        String PROMPT_DATA_ATTRIBUTES_PROMPT_ID = System.getenv("PROMPT_DATA_ATTRIBUTES_PROMPT_ID");
    
        try {
          LLMObsDeletedPromptResponse result =
              apiInstance.deleteLLMObsPrompt(PROMPT_DATA_ATTRIBUTES_PROMPT_ID);
          System.out.println(result);
        } catch (ApiException e) {
          System.err.println("Exception when calling LlmObservabilityApi#deleteLLMObsPrompt");
          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_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"
    // Delete an LLM Observability prompt returns "OK" response
    use datadog_api_client::datadog;
    use datadog_api_client::datadogV2::api_llm_observability::LLMObservabilityAPI;
    
    #[tokio::main]
    async fn main() {
        // there is a valid "prompt" in the system
        let prompt_data_attributes_prompt_id =
            std::env::var("PROMPT_DATA_ATTRIBUTES_PROMPT_ID").unwrap();
        let mut configuration = datadog::Configuration::new();
        configuration.set_unstable_operation_enabled("v2.DeleteLLMObsPrompt", true);
        let api = LLMObservabilityAPI::with_config(configuration);
        let resp = api
            .delete_llm_obs_prompt(prompt_data_attributes_prompt_id.clone())
            .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
    /**
     * Delete an LLM Observability prompt returns "OK" response
     */
    
    import { client, v2 } from "@datadog/datadog-api-client";
    
    const configuration = client.createConfiguration();
    configuration.unstableOperations["v2.deleteLLMObsPrompt"] = true;
    const apiInstance = new v2.LLMObservabilityApi(configuration);
    
    // there is a valid "prompt" in the system
    const PROMPT_DATA_ATTRIBUTES_PROMPT_ID = process.env
      .PROMPT_DATA_ATTRIBUTES_PROMPT_ID as string;
    
    const params: v2.LLMObservabilityApiDeleteLLMObsPromptRequest = {
      promptId: PROMPT_DATA_ATTRIBUTES_PROMPT_ID,
    };
    
    apiInstance
      .deleteLLMObsPrompt(params)
      .then((data: v2.LLMObsDeletedPromptResponse) => {
        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_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" tsc "example.ts"