Skip to main content
curl -X POST 'https://app.langtrace.ai/api/trace' \
  -H 'Content-Type: application/json' \
  -H 'User-Agent: opentelemetry-python' \
  -H 'x-api-key: <LANGTRACE_API_KEY>' \
  --data-raw '{
    "resourceSpans": [{
      "resource": {
        "attributes": {
          "service.name": {
            "stringValue": "my-ai-service"
          },
          "service.version": {
            "stringValue": "1.0.0"
          }
        }
      },
      "scopeSpans": [{
        "spans": [{
          "traceId": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6",
          "spanId": "1234567890abcdef",
          "name": "OpenAI ChatCompletion",
          "kind": 1,
          "startTimeUnixNano": "1701555555000000000",
          "endTimeUnixNano": "1701555557000000000",
          "attributes": {
            "llm.vendor": {
              "stringValue": "openai"
            },
            "llm.request.model": {
              "stringValue": "gpt-3.5-turbo"
            },
            "llm.request.type": {
              "stringValue": "chat_completion"
            },
            "llm.request.messages": {
              "stringValue": "[{\"role\":\"user\",\"content\":\"Hello, how are you?\"}]"
            },
            "llm.response.choices": {
              "stringValue": "[{\"role\":\"assistant\",\"content\":\"I'm doing well, thank you for asking!\"}]"
            }
          }
        }]
      }]
    }]
  }'
{
  "status": 200,
  "message": "Traces received successfully"
}

Documentation Index

Fetch the complete documentation index at: https://docs.langtrace.ai/llms.txt

Use this file to discover all available pages before exploring further.

Send traces to Langtrace using the OpenTelemetry trace format. This endpoint accepts traces for various operations including OpenAI chat completions, function calls, and other LLM interactions.

Headers

x-api-key
string
required
Your Langtrace API key
Content-Type
string
required
Must be application/json
User-Agent
string
required
Must be opentelemetry-python

Body

resourceSpans
array
required
Array of resource spans containing trace data
resourceSpans[].resource.attributes
object
required
Resource attributes identifying the service and environment
resourceSpans[].scopeSpans
array
required
Array of scope spans containing individual operation traces
resourceSpans[].scopeSpans[].spans
array
required
Array of spans representing individual operations

Request Example for OpenAI Chat Completion

curl -X POST 'https://app.langtrace.ai/api/trace' \
  -H 'Content-Type: application/json' \
  -H 'User-Agent: opentelemetry-python' \
  -H 'x-api-key: <LANGTRACE_API_KEY>' \
  --data-raw '{
    "resourceSpans": [{
      "resource": {
        "attributes": {
          "service.name": {
            "stringValue": "my-ai-service"
          },
          "service.version": {
            "stringValue": "1.0.0"
          }
        }
      },
      "scopeSpans": [{
        "spans": [{
          "traceId": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6",
          "spanId": "1234567890abcdef",
          "name": "OpenAI ChatCompletion",
          "kind": 1,
          "startTimeUnixNano": "1701555555000000000",
          "endTimeUnixNano": "1701555557000000000",
          "attributes": {
            "llm.vendor": {
              "stringValue": "openai"
            },
            "llm.request.model": {
              "stringValue": "gpt-3.5-turbo"
            },
            "llm.request.type": {
              "stringValue": "chat_completion"
            },
            "llm.request.messages": {
              "stringValue": "[{\"role\":\"user\",\"content\":\"Hello, how are you?\"}]"
            },
            "llm.response.choices": {
              "stringValue": "[{\"role\":\"assistant\",\"content\":\"I'm doing well, thank you for asking!\"}]"
            }
          }
        }]
      }]
    }]
  }'

Response

status
number
HTTP status code (200 for success)
message
string
Success or error message
{
  "status": 200,
  "message": "Traces received successfully"
}

Error Codes

401
string
Invalid or missing API key
400
string
Invalid request format or missing required fields
500
string
Internal server error