Docs
Trace Ingestion API
Trace Ingestion API
Submit trace records, specialized ingest events, and Bifrost proxy traffic.
AITracer ingestion endpoints accept workspace API keys (Authorization: Bearer akt_...) and enrich incoming data for governance, verification, alerts, and audit workflows.
Core endpoints
POST /api/traces
POST /api/integrations/openai-agents
POST /api/integrations/openai-guardrails
POST /api/integrations/otlp/v1/tracesSpecialized ingest endpoints
POST /api/ingest/tool-calls
POST /api/ingest/feedback
POST /api/ingest/webhooks- Tool calls: function-call telemetry with arguments, result/error, optional trace link
- Feedback: human thumbs-up/down signals linked to trace IDs
- Webhooks: external security alerts (Dependabot/Snyk/etc.) for correlation
POST /api/ingest/webhooks also supports optional signed delivery headers:
X-AITracer-Delivery-Timestamp: <unix-seconds>X-AITracer-Signature: v1=<hmac_sha256_hex>
When provided and workspace signing secrets exist, signatures are verified and replayed signatures are rejected.
Bifrost proxy endpoint
POST /api/proxy/openai/responsesThe proxy route performs governance preflight checks, forwards to OpenAI Responses, and persists trace telemetry in one hop.
stream: false→ JSON responsestream: true→text/event-streampassthrough (SSE)
Native trace example
{
"actionName": "finance-review",
"environment": "prod",
"status": "completed",
"requestId": "req_finance_001",
"model": "gpt-4o",
"prompt": "Summarize this report",
"response": "Summary text",
"metrics": {
"promptTokens": 420,
"completionTokens": 155,
"totalTokens": 575,
"latencyMs": 830,
"estimatedCostUsd": 0.0042,
"finishReason": "stop"
}
}Bifrost quick test body
{
"model": "gpt-4o-mini",
"input": "Give me a one-line incident summary.",
"stream": false
}Captured metadata and outcomes
- prompts / responses
- latency + token usage
- provider metadata + request IDs
- governance findings + policy records
- audit logs + alert signals
- verification records
Rate limiting
Ingest and proxy endpoints apply request throttling. Bursts beyond route limits return:
429 Too Many RequestsRetry-Afterheader with retry secondsX-RateLimit-Remainingheader
Response
{
"trace": {
"traceId": "req_finance_001",
"status": "completed"
}
}OpenAPI reference
See /developers for the full OpenAPI schema, including specialized ingest and proxy routes.