Submit trace data to the OpenTelemetry Collector using OTLP/HTTP protocol.
The request must include a valid OAuth2 bearer token in the Authorization header,
obtained from the Unomiq OAuth API.
The collector processes traces through the following pipeline:
Extract API key ID from JWT sub claim
Extract app ID from JWT custom claim
Filter out spans without app ID (silently dropped, no error returned)
Note: The endpoint always returns 200 OK if the request is valid, even if spans are
filtered out due to missing app ID. Check partialSuccess in the response for details.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Unomiq","colors":{"primary":"#ff006e","light":"#ff338b","dark":"#ff006e"},"logo":{"light":"https://mintcdn.com/founderstruck/e4-EHlHsDvKY0H8E/logo/light.svg?fit=max\u0026auto=format\u0026n=e4-EHlHsDvKY0H8E\u0026q=85\u0026s=e3e1a781ab19c969b87309977203c0b9","dark":"https://mintcdn.com/founderstruck/e4-EHlHsDvKY0H8E/logo/dark.svg?fit=max\u0026auto=format\u0026n=e4-EHlHsDvKY0H8E\u0026q=85\u0026s=e1400fd9458fb6d89012cf1b53ea8810"},"favicon":"https://mintcdn.com/founderstruck/e4-EHlHsDvKY0H8E/favicon.svg?fit=max\u0026auto=format\u0026n=e4-EHlHsDvKY0H8E\u0026q=85\u0026s=e73c0506d88708cd1886b15548d5e797","navbar":{"links":[{"href":"mailto:hi@unomiq.com","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://dashboard.unomiq.com"}},"footer":{"socials":{"github":"https://github.com/unomiq-ai","linkedin":"https://linkedin.com/company/unomiq-ai","youtube":"https://youtube.com/@unomiq-ai"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"founderstruck","hasAudioNarration":false,"actualSubdomain":"founderstruck","customDomains":["docs.unomiq.com"],"gitSource":{"type":"github","owner":"unomiq-ai","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6ae94793ad87a8c861a58d8f:success","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"default","tag":"API reference","count":28},{"language":"default","tag":"Management API","count":18},{"language":"default","tag":"Guides","count":8},{"language":"default","tag":"Economic Engine API","count":6},{"language":"default","tag":"API Keys","count":6},{"language":"default","tag":"Applications","count":5},{"language":"default","tag":"Organizations","count":5},{"language":"default","tag":"Traces","count":3},{"language":"default","tag":"Sending Data","count":3},{"language":"default","tag":"Engine","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/gateway/export-traces","slug":"/api-reference/gateway/export-traces","pageMetadata":{"title":"Receive Traces","openapi":"POST /v1/traces","description":"Submit trace data to the OpenTelemetry Collector using OTLP/HTTP protocol.\n\nThe request must include a valid OAuth2 bearer token in the Authorization header,\nobtained from the Unomiq OAuth API.\n\nThe collector processes traces through the following pipeline:\n1. Extract API key ID from JWT sub claim\n2. Extract app ID from JWT custom claim\n3. Filter out spans without app ID (silently dropped, no error returned)\n\nNote: The endpoint always returns 200 OK if the request is valid, even if spans are\nfiltered out due to missing app ID. Check partialSuccess in the response for details.\n","href":"/api-reference/gateway/export-traces","hidden":false},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n li: \"li\",\n ol: \"ol\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Submit trace data to the OpenTelemetry Collector using OTLP/HTTP protocol.\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"The request must include a valid OAuth2 bearer token in the Authorization header,\\nobtained from the Unomiq OAuth API.\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"The collector processes traces through the following pipeline:\"\n }), \"\\n\", _jsxs(_components.ol, {\n children: [\"\\n\", _jsx(_components.li, {\n children: \"Extract API key ID from JWT sub claim\"\n }), \"\\n\", _jsx(_components.li, {\n children: \"Extract app ID from JWT custom claim\"\n }), \"\\n\", _jsx(_components.li, {\n children: \"Filter out spans without app ID (silently dropped, no error returned)\"\n }), \"\\n\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"Note: The endpoint always returns 200 OK if the request is valid, even if spans are\\nfiltered out due to missing app ID. Check partialSuccess in the response for details.\"\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Receive Traces","openapi":"POST /v1/traces","description":"Submit trace data to the OpenTelemetry Collector using OTLP/HTTP protocol.\n\nThe request must include a valid OAuth2 bearer token in the Authorization header,\nobtained from the Unomiq OAuth API.\n\nThe collector processes traces through the following pipeline:\n1. Extract API key ID from JWT sub claim\n2. Extract app ID from JWT custom claim\n3. Filter out spans without app ID (silently dropped, no error returned)\n\nNote: The endpoint always returns 200 OK if the request is valid, even if spans are\nfiltered out due to missing app ID. Check partialSuccess in the response for details.\n","href":"/api-reference/gateway/export-traces","hidden":false}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Traces"],"summary":"Receive traces","description":"Submit trace data to the OpenTelemetry Collector using OTLP/HTTP protocol.\n\nThe request must include a valid OAuth2 bearer token in the Authorization header,\nobtained from the Unomiq OAuth API.\n\nThe collector processes traces through the following pipeline:\n1. Extract API key ID from JWT sub claim\n2. Extract app ID from JWT custom claim\n3. Filter out spans without app ID (silently dropped, no error returned)\n\nNote: The endpoint always returns 200 OK if the request is valid, even if spans are\nfiltered out due to missing app ID. Check partialSuccess in the response for details.\n","operationId":"exportTraces","security":["0683141a-ae83-4315-bc09-2d770ee0812b"],"parameters":["b6c957ae-e7dc-4a18-a2ae-2cfd50799196"],"requestBody":"c77e9aed-6fd2-4c03-aad8-bc804d64bbed","responses":{"200":"64c02a87-8d68-4b12-959b-d8e94ce1b847","400":"8c3d9738-7682-4668-885b-c7327194ebf2","401":"33923069-3665-41b9-8b21-27d4bda8788c","500":"b2f589be-ff8e-49cc-883e-ad1a35c20e54","503":"691a1ddf-be00-4083-857a-284309463300"},"method":"post","type":"path","servers":["78c08236-59be-44d8-a1c5-874f8d669de3"],"path":"/v1/traces","baseUrlOptions":["https://gateway-api.unomiq.com"],"title":"Receive traces","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"b6c957ae-e7dc-4a18-a2ae-2cfd50799196":{"name":"Content-Type","in":"header","required":true,"schema":{"type":"string","enum":["application/json"],"isRequired":true,"description":"Content type of the request body","uniqueKey":"","typeLabel":"enum\u003cstring>"},"description":"Content type of the request body"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"OTLP ExportTraceServiceRequest. The request body follows the standard OTLP/HTTP JSON format.\nSee https://opentelemetry.io/docs/specs/otlp/#otlphttp-request for the full schema.\n","properties":{"resourceSpans":{"type":"array","description":"Array of ResourceSpans as defined by the OTLP specification","items":{"type":"object","uniqueKey":"resourceSpans.items.[INDEX]","typeLabel":"object"},"uniqueKey":"resourceSpans","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"resourceSpans":[{"resource":{"attributes":[{"key":"service.name","value":{"stringValue":"my-service"}},{"key":"service.version","value":{"stringValue":"1.0.0"}}]},"scopeSpans":[{"scope":{"name":"my-instrumentation-library","version":"1.0.0"},"spans":[{"traceId":"5B8EFFF798038103D269B633813FC60C","spanId":"EEE19B7EC3C1B174","parentSpanId":"EEE19B7EC3C1B173","name":"GET /api/users","kind":2,"startTimeUnixNano":"1544712660000000000","endTimeUnixNano":"1544712661000000000","attributes":[{"key":"http.method","value":{"stringValue":"GET"}},{"key":"http.url","value":{"stringValue":"https://api.example.com/users"}},{"key":"http.status_code","value":{"intValue":200}}],"status":{"code":0}}]}]}]},"examples":{"Example":{"title":"Example","value":{"resourceSpans":[{"resource":{"attributes":[{"key":"service.name","value":{"stringValue":"my-service"}},{"key":"service.version","value":{"stringValue":"1.0.0"}}]},"scopeSpans":[{"scope":{"name":"my-instrumentation-library","version":"1.0.0"},"spans":[{"traceId":"5B8EFFF798038103D269B633813FC60C","spanId":"EEE19B7EC3C1B174","parentSpanId":"EEE19B7EC3C1B173","name":"GET /api/users","kind":2,"startTimeUnixNano":"1544712660000000000","endTimeUnixNano":"1544712661000000000","attributes":[{"key":"http.method","value":{"stringValue":"GET"}},{"key":"http.url","value":{"stringValue":"https://api.example.com/users"}},{"key":"http.status_code","value":{"intValue":200}}],"status":{"code":0}}]}]}]}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"64c02a87-8d68-4b12-959b-d8e94ce1b847":{"description":"Traces accepted successfully","content":{"application/json":{"schema":{"type":"object","description":"OTLP ExportTraceServiceResponse.\nSee https://opentelemetry.io/docs/specs/otlp/#otlphttp-response for the full schema.\n","properties":{"partialSuccess":{"type":"object","properties":{"rejectedSpans":{"type":"integer","format":"int64","description":"Number of spans that were rejected","uniqueKey":"partialSuccess.rejectedSpans","typeLabel":"integer\u003cint64>"},"errorMessage":{"type":"string","description":"Error message describing why spans were rejected","uniqueKey":"partialSuccess.errorMessage","typeLabel":"string"}},"uniqueKey":"partialSuccess","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"partialSuccess":{"rejectedSpans":0,"errorMessage":""}},"examples":{"Example":{"title":"Example","value":{"partialSuccess":{"rejectedSpans":0,"errorMessage":""}}}},"exampleType":"examples"}},"exampleType":"examples"},"8c3d9738-7682-4668-885b-c7327194ebf2":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","description":"OTLP status response","required":["code","message"],"properties":{"code":{"type":"integer","description":"Status code","example":3,"isRequired":true,"uniqueKey":"code","typeLabel":"integer"},"message":{"type":"string","description":"Error message","example":"Invalid request","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"array","description":"Additional error details","items":{"type":"object","uniqueKey":"details.items.[INDEX]","typeLabel":"object"},"uniqueKey":"details","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"code":3,"message":"Invalid trace data format","details":[]},"examples":{"Example":{"title":"Example","value":{"code":3,"message":"Invalid trace data format","details":[]}}},"exampleType":"examples"}},"exampleType":"examples"},"33923069-3665-41b9-8b21-27d4bda8788c":{"description":"Authentication failed","content":{"application/json":{"schema":{"type":"object","description":"OTLP status response","required":["code","message"],"properties":{"code":{"type":"integer","description":"Status code","example":3,"isRequired":true,"uniqueKey":"code","typeLabel":"integer"},"message":{"type":"string","description":"Error message","example":"Invalid request","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"array","description":"Additional error details","items":{"type":"object","uniqueKey":"details.items.[INDEX]","typeLabel":"object"},"uniqueKey":"details","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"missing_token":{"title":"missing_token","value":{"code":16,"message":"Missing authorization header","details":[]}},"invalid_token":{"title":"invalid_token","value":{"code":16,"message":"Invalid or expired JWT token","details":[]}}},"exampleType":"examples"}},"exampleType":"examples"},"b2f589be-ff8e-49cc-883e-ad1a35c20e54":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","description":"OTLP status response","required":["code","message"],"properties":{"code":{"type":"integer","description":"Status code","example":3,"isRequired":true,"uniqueKey":"code","typeLabel":"integer"},"message":{"type":"string","description":"Error message","example":"Invalid request","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"array","description":"Additional error details","items":{"type":"object","uniqueKey":"details.items.[INDEX]","typeLabel":"object"},"uniqueKey":"details","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"code":13,"message":"Internal server error","details":[]},"examples":{"Example":{"title":"Example","value":{"code":13,"message":"Internal server error","details":[]}}},"exampleType":"examples"}},"exampleType":"examples"},"691a1ddf-be00-4083-857a-284309463300":{"description":"Service unavailable (memory limit exceeded)","content":{"application/json":{"schema":{"type":"object","description":"OTLP status response","required":["code","message"],"properties":{"code":{"type":"integer","description":"Status code","example":3,"isRequired":true,"uniqueKey":"code","typeLabel":"integer"},"message":{"type":"string","description":"Error message","example":"Invalid request","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"array","description":"Additional error details","items":{"type":"object","uniqueKey":"details.items.[INDEX]","typeLabel":"object"},"uniqueKey":"details","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"code":14,"message":"Memory limit exceeded - refusing spans","details":[]},"examples":{"Example":{"title":"Example","value":{"code":14,"message":"Memory limit exceeded - refusing spans","details":[]}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"0683141a-ae83-4315-bc09-2d770ee0812b":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"OAuth2/OIDC JWT token with required app ID and API key ID claims.\n","scopes":[]}}},"servers":{"78c08236-59be-44d8-a1c5-874f8d669de3":{"url":"https://gateway-api.unomiq.com"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"OAuth2/OIDC JWT token with required app ID and API key ID claims.\n","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"OAuth2/OIDC JWT token with required app ID and API key ID claims.\n","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/gateway/openapi-gateway.yaml"},"subdomain":"founderstruck","siteName":"Unomiq","title":"Receive Traces - Unomiq","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-03-02T12:51:21.516Z","originalFileLocation":"api-reference/gateway/export-traces.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Submit trace data to the OpenTelemetry Collector using OTLP/HTTP protocol. The request must include a valid OAuth2 bearer token in the Authorization header, obtained from the Unomiq OAuth API. The collector processes traces through the following pipeline: 1. Extract API key ID from JWT sub claim 2. Extract app ID from JWT custom claim 3. Filter out spans without app ID (silently dropped, no error returned) Note: The endpoint always returns 200 OK if the request is valid, even if spans are filtered out due to missing app ID. Check partialSuccess in the response for details.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Unomiq\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/founderstruck/BwX9wjumfAdReozs/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/founderstruck/BwX9wjumfAdReozs/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/founderstruck/BwX9wjumfAdReozs/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/founderstruck/BwX9wjumfAdReozs/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/founderstruck/BwX9wjumfAdReozs/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/founderstruck/BwX9wjumfAdReozs/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/founderstruck/BwX9wjumfAdReozs/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/founderstruck/BwX9wjumfAdReozs/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/founderstruck/BwX9wjumfAdReozs/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Receive Traces - Unomiq\">\u003cmeta data-mint-head property=\"og:description\" content=\"Submit trace data to the OpenTelemetry Collector using OTLP/HTTP protocol. The request must include a valid OAuth2 bearer token in the Authorization header, obtained from the Unomiq OAuth API. The collector processes traces through the following pipeline: 1. Extract API key ID from JWT sub claim 2. Extract app ID from JWT custom claim 3. Filter out spans without app ID (silently dropped, no error returned) Note: The endpoint always returns 200 OK if the request is valid, even if spans are filtered out due to missing app ID. Check partialSuccess in the response for details.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Unomiq\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.unomiq.com/api-reference/gateway/export-traces\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://founderstruck.mintlify.site/_mintlify/api/og/v2?division=OpenTelemetry+Traces\u0026amp;title=Receive+Traces\u0026amp;description=Submit+trace+data+to+the+OpenTelemetry+Collector+using+OTLP%2FHTTP+protocol.%0A%0AThe+request+must+include+a+valid+OAuth2+bearer+token+in+the+Authorization+header%2C%0Aob\u0026amp;theme=2adb288078d5bc917a3c9f52\u0026amp;signature=f0ca95bb7f6be5ddf4c2d11485f6cd490dee1911d6bec522bde81159b3889f8b\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Receive Traces - Unomiq\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Submit trace data to the OpenTelemetry Collector using OTLP/HTTP protocol. The request must include a valid OAuth2 bearer token in the Authorization header, obtained from the Unomiq OAuth API. The collector processes traces through the following pipeline: 1. Extract API key ID from JWT sub claim 2. Extract app ID from JWT custom claim 3. Filter out spans without app ID (silently dropped, no error returned) Note: The endpoint always returns 200 OK if the request is valid, even if spans are filtered out due to missing app ID. Check partialSuccess in the response for details.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://founderstruck.mintlify.site/_mintlify/api/og/v2?division=OpenTelemetry+Traces\u0026amp;title=Receive+Traces\u0026amp;description=Submit+trace+data+to+the+OpenTelemetry+Collector+using+OTLP%2FHTTP+protocol.%0A%0AThe+request+must+include+a+valid+OAuth2+bearer+token+in+the+Authorization+header%2C%0Aob\u0026amp;theme=2adb288078d5bc917a3c9f52\u0026amp;signature=f0ca95bb7f6be5ddf4c2d11485f6cd490dee1911d6bec522bde81159b3889f8b\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/founderstruck/BwX9wjumfAdReozs/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Unomiq\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#ff006e\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.unomiq.com/api-reference/gateway/export-traces\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/gateway/export-traces.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.unomiq.com/#organization\",\"name\":\"Unomiq\",\"url\":\"https://docs.unomiq.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/founderstruck/e4-EHlHsDvKY0H8E/logo/light.svg?fit=max\u0026auto=format\u0026n=e4-EHlHsDvKY0H8E\u0026q=85\u0026s=e3e1a781ab19c969b87309977203c0b9\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.unomiq.com#website\",\"name\":\"Unomiq\",\"url\":\"https://docs.unomiq.com\",\"publisher\":{\"@id\":\"https://docs.unomiq.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.unomiq.com/api-reference/gateway/export-traces#webpage\",\"url\":\"https://docs.unomiq.com/api-reference/gateway/export-traces\",\"name\":\"Receive Traces\",\"description\":\"Submit trace data to the OpenTelemetry Collector using OTLP/HTTP protocol. The request must include a valid OAuth2 bearer token in the Authorization header, obtained from the Unomiq OAuth API. The collector processes traces through the following pipeline: 1. Extract API key ID from JWT sub claim 2. Extract app ID from JWT custom claim 3. Filter out spans without app ID (silently dropped, no error returned) Note: The endpoint always returns 200 OK if the request is valid, even if spans are filtered out due to missing app ID. Check partialSuccess in the response for details.\",\"dateModified\":\"2026-03-02T12:51:21.516Z\",\"isPartOf\":{\"@id\":\"https://docs.unomiq.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.unomiq.com/api-reference/gateway/export-traces#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.unomiq.com/api-reference/gateway/export-traces#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Gateway API\",\"item\":\"https://docs.unomiq.com/api-reference/gateway/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Receive Traces\",\"item\":\"https://docs.unomiq.com/api-reference/gateway/export-traces\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.unomiq.com/api-reference/gateway/export-traces#apireference\",\"headline\":\"Receive Traces\",\"name\":\"Receive Traces\",\"description\":\"Submit trace data to the OpenTelemetry Collector using OTLP/HTTP protocol. The request must include a valid OAuth2 bearer token in the Authorization header, obtained from the Unomiq OAuth API. The collector processes traces through the following pipeline: 1. Extract API key ID from JWT sub claim 2. Extract app ID from JWT custom claim 3. Filter out spans without app ID (silently dropped, no error returned) Note: The endpoint always returns 200 OK if the request is valid, even if spans are filtered out due to missing app ID. Check partialSuccess in the response for details.\",\"url\":\"https://docs.unomiq.com/api-reference/gateway/export-traces\",\"mainEntityOfPage\":{\"@id\":\"https://docs.unomiq.com/api-reference/gateway/export-traces#webpage\"},\"dateModified\":\"2026-03-02T12:51:21.516Z\",\"publisher\":{\"@id\":\"https://docs.unomiq.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.unomiq.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Unomiq\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Unomiq\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/gateway/export-traces.md","siteName":"Unomiq","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"API reference","groups":[{"group":"OAuth API","icon":"shield","pages":[{"title":"Introduction","href":"/api-reference/oauth/introduction"},{"group":"Authentication","icon":"key","pages":[{"title":"OAuth2 Token","openapi":"POST /token","href":"/api-reference/oauth/get-token"}]}]},{"group":"Gateway API","icon":"satellite-dish","pages":[{"title":"Introduction","description":"Unomiq Gateway API reference documentation","href":"/api-reference/gateway/introduction"},{"group":"OpenTelemetry Traces","icon":"satellite","pages":[{"title":"Receive Traces","openapi":"POST /v1/traces","href":"/api-reference/gateway/export-traces"}]}]},{"group":"Economic Engine API","icon":"chart-area","pages":[{"title":"Introduction","description":"Unomiq Engine API reference documentation","href":"/api-reference/engine/introduction"},{"group":"Engine","icon":"chart-column","pages":[{"title":"Query Traces \u0026 Spans","openapi":"POST /engine/query","href":"/api-reference/engine/query-traces-spans"},{"title":"Get Trace Metrics","openapi":"POST /engine/metrics","href":"/api-reference/engine/get-trace-metrics"}]},{"group":"Traces","icon":"route","pages":[{"title":"Get Traces","openapi":"POST /traces","href":"/api-reference/engine/get-traces"},{"title":"Get Live Traces","openapi":"GET /traces/live","href":"/api-reference/engine/get-live-traces"},{"title":"Get Trace","openapi":"GET /traces/{trace_id}","href":"/api-reference/engine/get-trace"}]}]},{"group":"Management API","icon":"gear","pages":[{"title":"Introduction","href":"/api-reference/management/introduction"},{"group":"Organizations","icon":"building","pages":[{"title":"List Organizations","openapi":"GET /organizations","href":"/api-reference/management/list-organizations"},{"title":"Create Organization","openapi":"POST /organizations","href":"/api-reference/management/create-organization"},{"title":"Get Organization","openapi":"GET /organizations/{org_id}","href":"/api-reference/management/get-organization"},{"title":"Update Organization","openapi":"PATCH /organizations/{org_id}","href":"/api-reference/management/update-organization"},{"title":"Delete Organization","openapi":"DELETE /organizations/{org_id}","href":"/api-reference/management/delete-organization"}]},{"group":"Applications","icon":"grid-2","pages":[{"title":"List Applications","openapi":"GET /applications","href":"/api-reference/management/list-applications"},{"title":"Create Application","openapi":"POST /applications","href":"/api-reference/management/create-application"},{"title":"Get Application","openapi":"GET /applications/{app_id}","href":"/api-reference/management/get-application"},{"title":"Update Application","openapi":"PATCH /applications/{app_id}","href":"/api-reference/management/update-application"},{"title":"Delete Application","openapi":"DELETE /applications/{app_id}","href":"/api-reference/management/delete-application"}]},{"group":"API Keys","icon":"key","pages":[{"title":"List API Keys","openapi":"GET /api-keys","href":"/api-reference/management/list-api-keys"},{"title":"Create API Credentials","openapi":"POST /api-keys","href":"/api-reference/management/create-api-credentials"},{"title":"Get API Key","openapi":"GET /api-keys/{api_key}","href":"/api-reference/management/get-api-key"},{"title":"Update API Key","openapi":"PATCH /api-keys/{api_key}","href":"/api-reference/management/update-api-key"},{"title":"Delete API Key","openapi":"DELETE /api-keys/{api_key}","href":"/api-reference/management/delete-api-key"},{"title":"Rotate API Key Secret","openapi":"POST /api-keys/{api_key}/rotate-secret","href":"/api-reference/management/rotate-api-key-secret"}]},{"group":"Users","icon":"user","pages":[{"title":"Update Current User","openapi":"PUT /users","href":"/api-reference/management/update-current-user"}]}]}]}]},"basePath":"","title":"Receive Traces - Unomiq","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C9Wu0MeN.js","utils-jWgu-6Qf.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DBD8f9qn.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BGuX1ui5.js","snippetPresets-Evy63nQB.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BQHO1lnV.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-B6C8m-t_.js","shallow-BG4cT0fH.js","getApiPlaygroundDisplay-CgEPrE-D.js","CodeSnippet-CU8JyZ9N.js","CodeSnippets-BnxHU32T.js","Page-D6S0Yh6q.js","getPastedJson-CwiYOonh.js","icon-DYDpWmDf.js","MethodPill-C-J-l7_c.js","DuplicateIcon-B6ARwg9w.js","createIcon-Dsv4MtDq.js","DynamicMarkdown-CtasenyM.js","SectionHeading-YNcgYwjB.js","axios-vUo_bRtp.js","Markdown-CwLx6PAg.js","clsx-C3kuh_dz.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CmKHfscc.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-U3mI6Ljh.js"]}