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"
}

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