---
title: "Create Trace"
method: POST
path: "/api/v2/traces"
tags: ["traces"]
---

# Create Trace

`POST /api/v2/traces`

OTel Ingest v2 — passthrough endpoint.

Accepts OTLP/HTTP JSON (primary) or protobuf (fallback).
Promotes recognized Gen AI semantic conventions to typed columns.
Stores ALL remaining attributes in metadata — nothing is dropped.

## Headers

- `Authorization` string, required

## Response `200`

No response body

- TracesCreateTraceResponse200 — Empty response body

## Changes

- **2026-07-31** `c26d550029f8` — 1 breaking, 1 warning, 2 info
  - removed the request body
  - removed the optional property `partialSuccess` from the response with the `200` status
  - removed the non-success response with the status `400`
  - removed the non-success response with the status `401`

[Change history](https://skmtc.dev/keywordsai/apis/api-reference/changes/api/v2/traces/post.md)

---

[API](https://skmtc.dev/keywordsai/apis/api-reference.md) · [All operations](https://skmtc.dev/keywordsai/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/keywordsai/api-reference/revisions/c26d550029f8/schema)
