fromDate and toDate are required. fromDate is included in the results and
toDate is not, so a full day is
fromDate=2026-08-05T00:00:00Z&toDate=2026-08-06T00:00:00Z.
To page through results, pass the nextCursor value from the previous response
back as cursor. Keep every other parameter the same — a cursor is tied to the
filters, data mode, and sort order it was created with, and changing any of them
makes it invalid.
To fetch one specific event, filter by eventId. There is no separate
single-event endpoint.
If you request an event name this API does not support, it is ignored rather
than rejected, and listed back to you in meta.unsupportedEventNamesRequested.
GET
/
api
/
public
/
analytics
/
projects
/
{projectId}
/
traces
List trace events grouped by trace
curl --request GET \ --url https://{host}/api/public/analytics/projects/{projectId}/traces \ --header 'x-api-key: <api-key>'
Use this endpoint to retrieve the execution events recorded while agents run. The response groups events by trace and can include LLM calls, tool calls, agent decisions, and failures. Each event provides execution metadata and, depending on the selected dataMode, either summary information or the complete sanitized request and response content.Use dataMode=summary when you need operational information such as the event type, model, token usage, duration, cost, or error status without retrieving the event payloads. Use dataMode=full when you need the detailed sanitized request and response content associated with the events.The endpoint requires a fromDate and toDate range. The start of the range is inclusive and the end is exclusive. You can further narrow the results by event type, event name, session, trace, event, agent, decision type, channel, environment, or error status. Results are paginated using a cursor; because pagination counts events before grouping them into traces, a page can contain fewer traces than the requested event limit.
fromDate — Required. Inclusive start timestamp for the time range.
toDate — Required. Exclusive end timestamp for the time range.
eventTypes — Filter by event category:
llm — LLM calls
tool — Tool calls
decision — Agent decisions
error — LLM and tool failures
eventNames — Filter by specific event names:
llm.call.completed
llm.call.failed
tool.call.completed
tool.call.failed
tool.call.skipped
agent.decision
sessionIds — Filter events belonging to specific sessions; up to 10,000 session IDs.
eventId — Return only the event with the specified ID. Use this when you need to retrieve a specific event; there is no separate single-event endpoint.
traceId — Return only events belonging to the specified trace.
agentName — Filter events produced by a specific agent. The value is matched exactly.
decisionKind — Filter agent decision events by decision type, such as routing, handoff, escalation, or completion.
channel — Filter by the exact channel name recorded for the event. Unlike the Sessions endpoint, this filter does not support channel aliases.
environment — Filter by environment: dev, staging, production, or working-copy.
hasError — Set to true to return only events with errors, false to return only events without errors, or omit the parameter to return both.
The eventTypes filter accepts up to four categories. The eventNames filter accepts up to 20 names. Unsupported event names are ignored rather than rejected and are reported in meta.unsupportedEventNamesRequested.Use GET when:
You are retrieving trace data without requiring encrypted request parameters.
You want to inspect or troubleshoot a specific event using eventId.
You want to investigate a particular trace using traceId.
You are analyzing events for one or more sessions using sessionIds.
You need to query and page through trace data using standard URL parameters.
POST — List trace events with parameters in the request body
Use this endpoint when you need the same trace data and filtering capabilities as the GET endpoint, but want to send the query parameters in the request body instead of the URL. The POST endpoint accepts the same parameters and returns the same response as GET.The POST endpoint is particularly useful when request parameters must be encrypted. When request encryption is enabled for the Platform Key, send the TracesQueryBody as an encrypted JWE. When request encryption is disabled, send the same parameters as a plain JSON object. Response encryption is independent of request encryption; when enabled, responses other than 401 are returned as encrypted JWE payloads.
The POST endpoint supports the same filtering parameters as GET:
fromDate — Required. Inclusive start timestamp.
toDate — Required. Exclusive end timestamp.
eventTypes — Filter by event category: llm, tool, decision, or error.
eventNames — Filter by specific supported event name.
sessionIds — Filter by up to 10,000 session IDs.
eventId — Retrieve a specific event.
traceId — Filter events belonging to a specific trace.
agentName — Filter by the exact agent name.
decisionKind — Filter agent decision events by decision type.
channel — Filter by the exact recorded channel name.
environment — Filter by environment.
hasError — Filter for events that have or do not have errors.
dataMode — Select summary or full event details.
sortOrder — Sort results in ascending or descending order.
The POST body uses the GET parameter names as JSON property names. List parameters can be sent as JSON arrays or comma-separated strings. traceDimensions is not a parameter in this Traces API; do not use it with this endpoint.Use POST method when:
The request parameters must be encrypted.
You want to avoid exposing potentially sensitive filter values in the URL.
You need to send the query as a JSON object rather than URL query parameters.
When request encryption is enabled, the plaintext query object is encrypted as a flattened JWE using the configured Platform Key. A plaintext POST body is rejected when request encryption is enabled, while an encrypted body is rejected when request encryption is disabled.Do not add query parameters to a POST request. All query parameters must be supplied in the request body, and the body must be a JSON object.
Filter by category of event. Pass one or more values, comma-separated or by
repeating the parameter. An unrecognised value is rejected with 400.
Each category covers a fixed set of event names: llm covers
llm.call.completed; tool covers tool.call.completed and
tool.call.skipped; decision covers agent.decision; and error covers
both failure events, llm.call.failed and tool.call.failed.
Filter by specific event name, when eventTypes is broader than you need.
Pass up to 20 values, comma-separated or by repeating the parameter.
Unrecognised names are not rejected. They are ignored and returned to you in
meta.unsupportedEventNamesRequested, so only the names listed below will
actually select data.
Filter agent decision events by the kind of decision made, for example
routing or escalation.
Matched exactly, and not restricted to a fixed list — new decision kinds can
be added by the platform at any time, so an unrecognised value returns no
results rather than an error. The values below are the ones currently in
use.
Filter by the channel the conversation took place on. Pass a single value;
if you repeat the parameter only the first value is used, and a
comma-separated list is treated as one literal value rather than a list.
Matched exactly as stored, with no alias handling. This differs from the
sessions endpoint, which accepts shorthand such as web or sms and
expands it. Here you must use the exact channel name: web_chat rather than
web, twilio_sms rather than sms, and the specific voice channel such
as voice_vxml or audiocodes rather than voice.
Not restricted to a fixed list, so an unrecognised value returns no results
rather than an error, and a newly added channel works before the list below
is updated.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Kore.ai Docs","description":"Kore.ai Product Documentation","colors":{"primary":"#16A34A","light":"#07C983","dark":"#15803D"},"logo":{"light":"https://mintcdn.com/koreai/0qAbPzQhx-4ILs7Q/assets/koreailogo-black.svg?fit=max\u0026auto=format\u0026n=0qAbPzQhx-4ILs7Q\u0026q=85\u0026s=b04520c55b7651e03e614e156f879b46","dark":"https://mintcdn.com/koreai/0qAbPzQhx-4ILs7Q/assets/koreailogo-white.svg?fit=max\u0026auto=format\u0026n=0qAbPzQhx-4ILs7Q\u0026q=85\u0026s=d974708d45aa7d1aa5f779f1cd3654ad"},"favicon":{"light":"https://mintcdn.com/koreai/w9BAaj3uMfzLSSYf/assets/favicon-light.svg?fit=max\u0026auto=format\u0026n=w9BAaj3uMfzLSSYf\u0026q=85\u0026s=3ea0a3762b1a3c65d930d1a5fd7a2a22","dark":"https://mintcdn.com/koreai/hJYZlvgLmtQesNz0/assets/favicon-dark.png?fit=max\u0026auto=format\u0026n=hJYZlvgLmtQesNz0\u0026q=85\u0026s=9281e12ca658788af1c9278bae85c981"},"api":{"playground":{"display":"simple","proxy":false},"examples":{"languages":["curl"]}},"appearance":{"default":"system","strict":false},"navbar":{"links":[{"icon":"book-open","href":"https://academy.kore.ai/","label":"Academy"},{"icon":"message","href":"https://community.kore.ai/","label":"Community"},{"icon":"life-ring","href":"https://support.kore.ai/","label":"Support"}]},"footer":{"socials":{"github":"https://github.com/Koredotcom","linkedin":"https://www.linkedin.com/company/kore-inc","facebook":"https://www.facebook.com/KoreDotAI"},"links":[{"header":" ","items":[{"label":"Acceptable Use","href":"https://www.kore.ai/acceptable-use-policy"},{"label":"Terms of Service","href":"https://www.kore.ai/terms-of-service"}]},{"header":" ","items":[{"label":"Privacy Policy","href":"https://www.kore.ai/privacy-policy"},{"label":"Cookie Policy","href":"https://www.kore.ai/cookie-policy"}]}]},"seo":{"metatags":{"canonical":"https://docs.kore.ai"},"indexing":"all"},"icons":{"library":"fontawesome"},"styling":{"eyebrows":"breadcrumbs","latex":true},"integrations":{"clarity":{"projectId":"vja4or1wun"},"ga4":{"measurementId":"G-560BYJFH0P"},"heap":{"appId":"4257246426"},"logrocket":{"appId":"ehyoae/koreaidocs"}},"errors":{"404":{"redirect":false,"title":"Sorry, we couldn't find the page.","description":"Check the pages linked here or search."}},"contextual":{"options":["copy","view","claude","cursor","vscode"],"display":"header"},"variables":{"artemisurl":"see the list of [region-specific platform URLs](/agent-platform/getting-started#region-specific-urls-and-allowlist-of-ips)","support":"[contact Support](https://support.kore.ai/)","related":"**Related articles:**"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"koreai","hasAudioNarration":false,"actualSubdomain":"koreai","customDomains":[],"gitSource":{"type":"github","owner":"koredotcom","repo":"docs-v2","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"feedback":{"thumbs":true,"edits":false,"issues":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6af0a4ca2cd45511358452eb","clientVersion":"0.0.4088","searchFilterCounts":[{"language":"default","tag":"Guide","count":55},{"language":"default","tag":"APIs and SDK","count":32},{"language":"default","tag":"APIs","count":28},{"language":"default","tag":"Build","count":23},{"language":"default","tag":"ABL","count":16},{"language":"default","tag":"Analytics and insights","count":12},{"language":"default","tag":"Administration","count":10},{"language":"default","tag":"Get started","count":8},{"language":"default","tag":"Analytics APIs","count":8},{"language":"default","tag":"Outbound calls APIs","count":8}],"searchSettings":{"maxResults":12,"isFiltersEnabled":true}},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","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},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"custom-css/style.css","content":"html[data-current-path^=\"/agent-platform\"] .nav-tabs>.nav-tabs-item:nth-child(8){display:none}html[data-current-path^=\"/home\"] .nav-tabs>.nav-tabs-item:nth-child(8){display:none}html[data-current-path^=\"/ai-for-work\"] .nav-tabs>.nav-tabs-item:nth-child(1),html[data-current-path^=\"/ai-for-work\"] .nav-tabs>.nav-tabs-item:nth-child(2),html[data-current-path^=\"/ai-for-work\"] .nav-tabs>.nav-tabs-item:nth-child(3),html[data-current-path^=\"/ai-for-work\"] .nav-tabs>.nav-tabs-item:nth-child(4),html[data-current-path^=\"/ai-for-work\"] .nav-tabs>.nav-tabs-item:nth-child(5),html[data-current-path^=\"/ai-for-work\"] .nav-tabs>.nav-tabs-item:nth-child(6),html[data-current-path^=\"/ai-for-work\"] .nav-tabs>.nav-tabs-item:nth-child(7){display:none}html[data-current-path^=\"/ai-for-process\"] .nav-tabs>.nav-tabs-item:nth-child(1),html[data-current-path^=\"/ai-for-process\"] .nav-tabs>.nav-tabs-item:nth-child(2),html[data-current-path^=\"/ai-for-process\"] .nav-tabs>.nav-tabs-item:nth-child(3),html[data-current-path^=\"/ai-for-process\"] .nav-tabs>.nav-tabs-item:nth-child(4),html[data-current-path^=\"/ai-for-process\"] .nav-tabs>.nav-tabs-item:nth-child(5),html[data-current-path^=\"/ai-for-process\"] .nav-tabs>.nav-tabs-item:nth-child(6),html[data-current-path^=\"/ai-for-process\"] .nav-tabs>.nav-tabs-item:nth-child(7){display:none}html[data-current-path^=\"/ai-for-service\"] .nav-tabs>.nav-tabs-item:nth-child(1),html[data-current-path^=\"/ai-for-service\"] .nav-tabs>.nav-tabs-item:nth-child(2),html[data-current-path^=\"/ai-for-service\"] .nav-tabs>.nav-tabs-item:nth-child(3),html[data-current-path^=\"/ai-for-service\"] .nav-tabs>.nav-tabs-item:nth-child(4),html[data-current-path^=\"/ai-for-service\"] .nav-tabs>.nav-tabs-item:nth-child(5),html[data-current-path^=\"/ai-for-service\"] .nav-tabs>.nav-tabs-item:nth-child(6),html[data-current-path^=\"/ai-for-service\"] .nav-tabs>.nav-tabs-item:nth-child(7){display:none}html[data-current-path^=\"/agent-platform/v1\"] .nav-tabs>.nav-tabs-item:nth-child(1),html[data-current-path^=\"/agent-platform/v1\"] .nav-tabs>.nav-tabs-item:nth-child(2),html[data-current-path^=\"/agent-platform/v1\"] .nav-tabs>.nav-tabs-item:nth-child(3),html[data-current-path^=\"/agent-platform/v1\"] .nav-tabs>.nav-tabs-item:nth-child(4),html[data-current-path^=\"/agent-platform/v1\"] .nav-tabs>.nav-tabs-item:nth-child(5),html[data-current-path^=\"/agent-platform/v1\"] .nav-tabs>.nav-tabs-item:nth-child(6),html[data-current-path^=\"/agent-platform/v1\"] .nav-tabs>.nav-tabs-item:nth-child(7){display:none}html[data-current-path^=\"/agent-platform\"] .mobile-nav-tabs-item:nth-child(8){display:none}html[data-current-path^=\"/home\"] .mobile-nav-tabs-item:nth-child(8){display:none}html[data-current-path^=\"/ai-for-work\"] .mobile-nav-tabs-item:nth-child(1),html[data-current-path^=\"/ai-for-work\"] .mobile-nav-tabs-item:nth-child(2),html[data-current-path^=\"/ai-for-work\"] .mobile-nav-tabs-item:nth-child(3),html[data-current-path^=\"/ai-for-work\"] .mobile-nav-tabs-item:nth-child(4),html[data-current-path^=\"/ai-for-work\"] .mobile-nav-tabs-item:nth-child(5),html[data-current-path^=\"/ai-for-work\"] .mobile-nav-tabs-item:nth-child(6),html[data-current-path^=\"/ai-for-work\"] .mobile-nav-tabs-item:nth-child(7){display:none}html[data-current-path^=\"/ai-for-process\"] .mobile-nav-tabs-item:nth-child(1),html[data-current-path^=\"/ai-for-process\"] .mobile-nav-tabs-item:nth-child(2),html[data-current-path^=\"/ai-for-process\"] .mobile-nav-tabs-item:nth-child(3),html[data-current-path^=\"/ai-for-process\"] .mobile-nav-tabs-item:nth-child(4),html[data-current-path^=\"/ai-for-process\"] .mobile-nav-tabs-item:nth-child(5),html[data-current-path^=\"/ai-for-process\"] .mobile-nav-tabs-item:nth-child(6),html[data-current-path^=\"/ai-for-process\"] .mobile-nav-tabs-item:nth-child(7){display:none}html[data-current-path^=\"/ai-for-service\"] .mobile-nav-tabs-item:nth-child(1),html[data-current-path^=\"/ai-for-service\"] .mobile-nav-tabs-item:nth-child(2),html[data-current-path^=\"/ai-for-service\"] .mobile-nav-tabs-item:nth-child(3),html[data-current-path^=\"/ai-for-service\"] .mobile-nav-tabs-item:nth-child(4),html[data-current-path^=\"/ai-for-service\"] .mobile-nav-tabs-item:nth-child(5),html[data-current-path^=\"/ai-for-service\"] .mobile-nav-tabs-item:nth-child(6),html[data-current-path^=\"/ai-for-service\"] .mobile-nav-tabs-item:nth-child(7){display:none}html[data-current-path^=\"/agent-platform/v1\"] .mobile-nav-tabs-item:nth-child(1),html[data-current-path^=\"/agent-platform/v1\"] .mobile-nav-tabs-item:nth-child(2),html[data-current-path^=\"/agent-platform/v1\"] .mobile-nav-tabs-item:nth-child(3),html[data-current-path^=\"/agent-platform/v1\"] .mobile-nav-tabs-item:nth-child(4),html[data-current-path^=\"/agent-platform/v1\"] .mobile-nav-tabs-item:nth-child(5),html[data-current-path^=\"/agent-platform/v1\"] .mobile-nav-tabs-item:nth-child(6),html[data-current-path^=\"/agent-platform/v1\"] .mobile-nav-tabs-item:nth-child(7){display:none}html[data-current-path^=\"/ai-for-\"] nav-tabs-item:has(a[href=\"/agent-platform\"]){display:none}html[data-current-path^=\"/agent-platform/v1\"] nav-tabs-item:not(:has(a[href=\"/ai-for-service/solutions-overview\"])),html[data-current-path^=\"/ai-for-work\"] nav-tabs-item:not(:has(a[href=\"/ai-for-service/solutions-overview\"])),html[data-current-path^=\"/ai-for-process\"] nav-tabs-item:not(:has(a[href=\"/ai-for-service/solutions-overview\"])),html[data-current-path^=\"/ai-for-service\"] nav-tabs-item:not(:has(a[href=\"/ai-for-service/solutions-overview\"])){display:none}html[data-current-path^=\"/agent-platform/\"] nav-tabs-item:has(a[href=\"/ai-for-service/solutions-overview\"]){display:none}html[data-current-path^=\"/agent-platform/v1\"] nav-tabs-item:has(a[href=\"/ai-for-service/solutions-overview\"]){display:revert}html[data-current-path^=\"/ai-for-work\"] #search-bar-entry,html[data-current-path^=\"/ai-for-work\"] #search-bar-entry-mobile{display:none}html[data-current-path^=\"/ai-for-service\"] #search-bar-entry,html[data-current-path^=\"/ai-for-service\"] #search-bar-entry-mobile{display:none}html[data-current-path^=\"/ai-for-process\"] #search-bar-entry,html[data-current-path^=\"/ai-for-process\"] #search-bar-entry-mobile{display:none}html[data-current-path^=\"/agent-platform/v1\"] #search-bar-entry,html[data-current-path^=\"/agent-platform/v1\"] #search-bar-entry-mobile{display:none}html[data-current-path^=\"/ai-for-work\"] #assistant-entry,html[data-current-path^=\"/ai-for-work\"] #assistant-entry-mobile{display:none}html[data-current-path^=\"/ai-for-process\"] #assistant-entry,html[data-current-path^=\"/ai-for-process\"] #assistant-entry-mobile{display:none}html[data-current-path^=\"/agent-platform/v1\"] #assistant-entry,html[data-current-path^=\"/agent-platform/v1\"] #assistant-entry-mobile{display:none}html[data-current-path^=\"/ai-for-service\"] #assistant-entry,html[data-current-path^=\"/ai-for-service\"] #assistant-entry-mobile{display:none}.ascii-art{font-family:monospace;white-space:pre;width:720px;overflow-x:auto;margin:auto;font-size:13px}img[data-path$=\".png\"],img[src*=\".png\"]{border:1px solid #E5E7EB;border-radius:0.75rem;transition:all 0.2s ease-in-out;display:block;max-width:100%;height:auto}img[data-path$=\".png\"]:hover,img[src*=\".png\"]:hover{border-color:#D1D5DB;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0, 0, 0, 0.05)}.rn-heading{font-size:1.25rem;font-weight:500;line-height:1.4;margin-top:2.0rem;margin-bottom:1.25rem;color:inherit}.rn-title{font-size:1.025rem;font-weight:600;line-height:1.4;margin-top:1.5rem;margin-bottom:0.375rem;color:inherit}.rn-subtitle{font-size:0.9375rem;font-weight:600;line-height:1.0;margin-top:1.20rem;margin-bottom:-0.50rem;color:inherit}@media (prefers-color-scheme: dark){img[data-path$=\".png\"],img[src*=\".png\"]{border-color:#374151;background-color:transparent}}:root{--kore-card-title: 15px;--kore-card-desc: 13.5px;--kore-section-title: clamp(1.4rem, 2.2vw, 1.85rem);--kore-body-lh: 1.6;--kore-eyebrow-ls: 0.1em;--kore-card-pad: 22px;--kore-grid-gap: 16px;--kore-section-pad: 80px;--kore-ease: cubic-bezier(0.22, 0.6, 0.36, 1);--kore-duration: 0.2s;--kore-hover-y: -3px;--kore-hover-shadow: 0 8px 24px rgba(92,200,58,0.14);--kore-hover-border: #5CC83A;--kore-accent: #5CC83A;--kore-bg: #FEF8EE;--kore-surface: #ffffff;--kore-border: #CCCCCC;--kore-text: #000000;--kore-muted: #666666;--kore-faint: #999999}.dark{--kore-bg: #26282F;--kore-surface: #1d2820;--kore-border: #2d3a2e;--kore-text: #F1F5F9;--kore-muted: #999999;--kore-faint: #555555;--kore-accent: #5CC83A;--kore-hover-shadow: 0 8px 24px rgba(92,200,58,0.18)}@keyframes koreUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ka1{animation:koreUp 0.6s cubic-bezier(0.22,0.6,0.36,1) 0.05s both}.ka2{animation:koreUp 0.6s cubic-bezier(0.22,0.6,0.36,1) 0.15s both}.ka3{animation:koreUp 0.6s cubic-bezier(0.22,0.6,0.36,1) 0.25s both}.ka4{animation:koreUp 0.6s cubic-bezier(0.22,0.6,0.36,1) 0.35s both}.ka5{animation:koreUp 0.6s cubic-bezier(0.22,0.6,0.36,1) 0.45s both}.kore-page{background:#FEF8EE!important;min-height:100vh;margin-top:-3rem!important;opacity:0;transition:opacity 0.25s ease-out}.kore-loaded .kore-page{opacity:1}.kore-hero-canvas{opacity:0;transition:opacity 0.8s ease-out;will-change:opacity}.kore-hero-canvas.kore-canvas-ready{opacity:1}.kore-container{max-width:1376px!important;margin-left:auto!important;margin-right:auto!important;margin-top:-140px!important;padding:56px 24px 24px!important;box-sizing:border-box!important}.kore-hero{width:100vw!important;position:relative!important;left:50%!important;transform:translateX(-50%)!important;background-color:#FEF8EE!important;background-image:radial-gradient(ellipse 55% 65% at 85% 8%, rgba(35,69,49,0.22) 0%, rgba(92,200,58,0.08) 50%, transparent 70%),\n radial-gradient(circle, rgba(92,200,58,0.22) 1.5px, transparent 1.5px)!important;background-size:100% 100%, 22px 22px!important}.dark .kore-hero{background-color:#0a1209!important;background-image:radial-gradient(ellipse 55% 65% at 85% 8%, rgba(35,69,49,0.8) 0%, rgba(92,200,58,0.18) 50%, transparent 70%),\n radial-gradient(circle, rgba(92,200,58,0.2) 1.5px, transparent 1.5px)!important;background-size:100% 100%, 22px 22px!important}.kore-hero-title{background-image:linear-gradient(135deg, #000000 0%, #234531 55%, #5CC83A 100%)!important;background-color:transparent!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important}.dark .kore-hero-title{background-image:linear-gradient(135deg, #ffffff 0%, #c8f0b0 60%, #5CC83A 100%)!important}.dark .kore-hero .kore-h1{color:#ffffff!important}.dark .kore-hero .kore-subtext{color:rgba(255,255,255,0.62)!important}.kore-hero-badge{color:#234531;background:rgba(92,200,58,0.1);border-color:rgba(92,200,58,0.28)}.dark .kore-hero-badge{color:#5CC83A;background:rgba(92,200,58,0.15);border-color:rgba(92,200,58,0.38)}.kore-icon-chip{width:44px;height:44px;border-radius:10px;flex-shrink:0;background:linear-gradient(135deg, rgba(92,200,58,0.18) 0%, rgba(35,69,49,0.14) 100%);display:flex;align-items:center;justify-content:center;color:#5CC83A}.kore-section-eyebrow{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:var(--kore-eyebrow-ls);color:var(--kore-accent);margin-bottom:10px}.kore-section-title{font-size:var(--kore-section-title);font-weight:700;color:var(--kore-text);line-height:1.25;margin:0 0 8px}.kore-section-sub{font-size:var(--kore-card-desc);color:var(--kore-muted);line-height:var(--kore-body-lh);max-width:420px;margin:0}.dark .kore-section-title{color:var(--kore-text)}.dark .kore-section-eyebrow{color:#5CC83A}.kore-card-work,.kore-card-service,.kore-card-process,.kore-ap-card,.kore-sol-card{border-top:2.5px solid #5CC83A!important}.kore-ap-bleed{width:100vw!important;position:relative!important;left:50%!important;transform:translateX(-50%)!important;background:transparent;padding:0 0 var(--kore-section-pad)}.kore-ap-inner{max-width:1376px;margin:0 auto;padding:0 24px}.kore-ap-header{display:flex;align-items:center;justify-content:space-between;text-decoration:none;margin-bottom:6px;color:inherit}.kore-ap-title{font-size:var(--kore-card-title);font-weight:600;color:var(--kore-text)}.kore-ap-eyebrow{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:var(--kore-eyebrow-ls);color:#5CC83A;margin-bottom:10px}.kore-ap-desc{font-size:var(--kore-card-desc);color:var(--kore-muted);line-height:var(--kore-body-lh);margin:0 0 28px;max-width:560px}.kore-ap-divider{display:none}.dark .kore-ap-bleed{background:transparent}.dark .kore-ap-title{color:var(--kore-text)}.dark .kore-ap-eyebrow{color:#5CC83A}.dark .kore-ap-divider{display:none}.kore-ap-card{background:var(--kore-surface);border:1px solid var(--kore-border);border-radius:12px;padding:var(--kore-card-pad);text-decoration:none;display:flex;flex-direction:column;gap:12px;box-shadow:0 1px 4px rgba(0,0,0,0.04);transition:transform var(--kore-duration) var(--kore-ease), box-shadow var(--kore-duration) var(--kore-ease), border-color var(--kore-duration) var(--kore-ease)}.kore-ap-card:hover{transform:translateY(var(--kore-hover-y));box-shadow:var(--kore-hover-shadow);border-color:var(--kore-hover-border)}.kore-ap-card:hover .kore-ap-card-arrow{opacity:1!important;transform:translateX(3px)!important}.dark .kore-ap-card{box-shadow:0 1px 4px rgba(0,0,0,0.2)}.kore-cap-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:10px}.kore-cap-tile{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:12px;background:#ffffff;border:1px solid var(--kore-border);box-shadow:0 1px 4px rgba(0,0,0,0.04);text-decoration:none;transition:transform var(--kore-duration) var(--kore-ease), box-shadow var(--kore-duration) var(--kore-ease), border-color var(--kore-duration) var(--kore-ease);position:relative}.kore-cap-tile:hover{transform:translateY(var(--kore-hover-y));box-shadow:var(--kore-hover-shadow);border-color:var(--kore-hover-border)}.kore-cap-tile:hover .kore-cap-tile-arrow{opacity:1!important;transform:translateX(3px)!important}.kore-cap-tile-header{display:flex;align-items:center;gap:10px}.kore-cap-tile .kore-icon-chip{width:28px;height:28px;border-radius:7px}.kore-cap-tile .kore-icon-chip svg{width:14px;height:14px}.kore-cap-tile-title{font-size:13.5px;font-weight:600;color:var(--kore-text);flex:1}.kore-cap-tile-arrow{opacity:0;color:var(--kore-accent);transition:opacity var(--kore-duration) var(--kore-ease), transform var(--kore-duration) var(--kore-ease);flex-shrink:0}.kore-cap-tile-desc{font-size:12.5px;color:var(--kore-muted);line-height:1.5;margin:0}.dark .kore-cap-tile{background:linear-gradient(135deg, #1a2416 0%, #151d12 100%);border-color:#253220}.dark .kore-cap-tile:hover{background:linear-gradient(135deg, #1e2a1a 0%, #192518 100%);border-color:#2e4028}.kore-sol-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:16px}.kore-sol-card{display:flex;flex-direction:column;gap:12px;padding:var(--kore-card-pad);border-radius:12px;background:var(--kore-surface);border:1px solid var(--kore-border);text-decoration:none;transition:transform var(--kore-duration) var(--kore-ease), box-shadow var(--kore-duration) var(--kore-ease), border-color var(--kore-duration) var(--kore-ease);position:relative;overflow:hidden}.kore-sol-card::after{content:'';position:absolute;inset:0;opacity:0;background:radial-gradient(circle at 50% 0%, rgba(92,200,58,0.06), transparent 70%);transition:opacity var(--kore-duration) var(--kore-ease)}.kore-sol-card:hover{transform:translateY(var(--kore-hover-y));box-shadow:var(--kore-hover-shadow);border-color:var(--kore-hover-border)}.kore-sol-card:hover .kore-sol-card-arrow{opacity:1!important;transform:translateX(3px)!important}.kore-sol-card:hover::after{opacity:1}.kore-sol-card .kore-icon-chip{width:40px;height:40px}.kore-sol-card-title{font-size:var(--kore-card-title);font-weight:600;color:var(--kore-text)}.kore-sol-card-desc{font-size:var(--kore-card-desc);color:var(--kore-muted);line-height:var(--kore-body-lh);margin:0}.kore-sol-group-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:var(--kore-eyebrow-ls);color:var(--kore-faint);margin-bottom:12px}.dark .kore-sol-card{background:var(--kore-surface);border-color:var(--kore-border)}.dark .kore-sol-card:hover{box-shadow:var(--kore-hover-shadow)}.kore-resources-bleed{width:100vw!important;position:relative!important;left:50%!important;transform:translateX(-50%)!important;background:#1a1f1c;padding:var(--kore-section-pad) 0}.kore-resources-inner{max-width:1376px;margin:0 auto;padding:0 24px}.kore-resources-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:0}.kore-resource-item{display:flex;flex-direction:column;gap:12px;padding:24px 36px 24px 0;text-decoration:none;border-right:1px solid rgba(255,255,255,0.08)}.kore-resource-item:last-child{border-right:none;padding:24px 0 24px 36px}.kore-resource-item:nth-child(2){padding:24px 36px}.kore-resource-header{display:flex;align-items:center;gap:12px}.kore-resource-icon{width:44px;height:44px;border-radius:12px;background:rgba(92,200,58,0.15);display:flex;align-items:center;justify-content:center;color:#5CC83A;flex-shrink:0}.kore-resource-title{font-size:var(--kore-card-title);font-weight:600;color:#F1F5F9}.kore-resource-desc{font-size:var(--kore-card-desc);color:rgba(255,255,255,0.45);line-height:var(--kore-body-lh);margin:0}.kore-resource-link{font-size:13px;font-weight:500;color:#5CC83A;display:inline-flex;align-items:center;gap:5px;margin-top:auto;transition:gap var(--kore-duration) var(--kore-ease)}.kore-resource-item:hover .kore-resource-link{gap:10px}.dark .kore-resources-bleed{background:#0d1209}.kore-footer-bleed{width:100vw!important;position:relative!important;left:50%!important;transform:translateX(-50%)!important;background:#ffffff;border-top:1px solid #CCCCCC}.kore-footer-inner{max-width:1376px;margin:0 auto;padding:0 24px;padding-bottom:40px}.kore-footer-bleed .kore-footer{margin-top:0!important;border-top:none!important}.dark .kore-footer-bleed{background:#26282F;border-color:#2d3a2e}.kore-card{background:#ffffff!important;transition:transform var(--kore-duration) var(--kore-ease),\n box-shadow var(--kore-duration) var(--kore-ease),\n border-color var(--kore-duration) var(--kore-ease)!important}.kore-card:hover{transform:translateY(var(--kore-hover-y))!important;box-shadow:var(--kore-hover-shadow)!important;border-color:var(--kore-hover-border)!important}.kore-card:hover .kore-card-arrow{opacity:1!important;transform:translateX(3px)!important}.kore-grid{display:grid!important;gap:var(--kore-grid-gap)!important}.kore-grid-4{grid-template-columns:repeat(4, 1fr)!important}.kore-grid-3{grid-template-columns:repeat(3, 1fr)!important}.dark .kore-page{background:#26282F!important}.kore-hero-overlay{background:radial-gradient(ellipse 60% 70% at 50% 42%, rgba(254,248,238,0.9) 0%, rgba(254,248,238,0.82) 35%, rgba(254,248,238,0.38) 60%, transparent 80%)}.dark .kore-hero-overlay{background:radial-gradient(ellipse 70% 70% at 50% 45%, rgba(10,18,9,0.5) 0%, rgba(10,18,9,0.15) 55%, transparent 78%)}.kore-hero-bottom-fade{background:linear-gradient(to bottom, transparent, #FEF8EE)}.dark .kore-hero-bottom-fade{background:linear-gradient(to bottom, transparent, #26282F)!important}.dark .kore-card{background:#1d2820!important;border-color:#2d3a2e!important;box-shadow:0 1px 4px rgba(0,0,0,0.2)!important}.dark .kore-card:hover{border-color:var(--kore-hover-border)!important;box-shadow:var(--kore-hover-shadow)!important}.dark .kore-icon-chip{background:linear-gradient(135deg, rgba(92,200,58,0.15) 0%, rgba(35,69,49,0.1) 100%);color:#5CC83A}.dark .kore-section-divider{background:#2d3a2e!important}.dark .kore-h1{color:#F1F5F9!important}.dark .kore-subtext{color:#999999!important}.dark .kore-label{color:#555555!important}.dark .kore-card-title{color:#F1F5F9!important}.dark .kore-card-desc{color:#999999!important}.dark .kore-footer{border-color:#2d3a2e!important;color:#555555!important}.dark .kore-footer a{color:#555555!important}.kore-img-dark{display:none!important}.dark .kore-img-light{display:none!important}.dark .kore-img-dark{display:block!important}@media (max-width: 1024px){.kore-grid-4{grid-template-columns:repeat(2, 1fr)!important}.kore-cap-grid{grid-template-columns:repeat(2, 1fr)!important}.kore-sol-grid{grid-template-columns:repeat(2, 1fr)!important}}@media (max-width: 900px){.kore-cap-grid{grid-template-columns:repeat(2, 1fr)!important}}@media (max-width: 768px){.kore-container{padding:24px 16px 48px!important;max-width:100%!important}.kore-grid-4{grid-template-columns:repeat(2, 1fr)!important}.kore-grid-3{grid-template-columns:1fr!important}.kore-solutions-outer{grid-template-columns:1fr!important;gap:28px!important}.kore-cap-list{grid-template-columns:1fr!important}.kore-cap-item:nth-child(odd){border-right:none!important}.kore-cap-grid{grid-template-columns:1fr!important}.kore-sol-grid{grid-template-columns:1fr!important}.kore-resources-grid{grid-template-columns:1fr!important}.kore-resource-item,.kore-resource-item:last-child,.kore-resource-item:nth-child(2){padding:20px 0!important;border-right:none!important;border-bottom:1px solid rgba(255,255,255,0.08)!important}.kore-resource-item:last-child{border-bottom:none!important}}@media (max-width: 480px){.kore-grid-4{grid-template-columns:1fr!important}}"}],"page":{"pagePath":"agent-platform/api-reference/analytics-list-traces","slug":"/agent-platform/api-reference/analytics-list-traces","pageMetadata":{"title":"List trace events","openapi":"agent-platform/api-specs/traces.yaml get /api/public/analytics/projects/{projectId}/traces","description":"`fromDate` and `toDate` are required. `fromDate` is included in the results and\n`toDate` is not, so a full day is\n`fromDate=2026-08-05T00:00:00Z\u0026toDate=2026-08-06T00:00:00Z`.\n\nTo page through results, pass the `nextCursor` value from the previous response\nback as `cursor`. Keep every other parameter the same — a cursor is tied to the\nfilters, data mode, and sort order it was created with, and changing any of them\nmakes it invalid.\n\nTo fetch one specific event, filter by `eventId`. There is no separate\nsingle-event endpoint.\n\nIf you request an event name this API does not support, it is ignored rather\nthan rejected, and listed back to you in `meta.unsupportedEventNamesRequested`.\n","href":"/agent-platform/api-reference/analytics-list-traces"},"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 code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [_jsx(_components.code, {\n children: \"fromDate\"\n }), \" and \", _jsx(_components.code, {\n children: \"toDate\"\n }), \" are required. \", _jsx(_components.code, {\n children: \"fromDate\"\n }), \" is included in the results and\\n\", _jsx(_components.code, {\n children: \"toDate\"\n }), \" is not, so a full day is\\n\", _jsx(_components.code, {\n children: \"fromDate=2026-08-05T00:00:00Z\u0026toDate=2026-08-06T00:00:00Z\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"To page through results, pass the \", _jsx(_components.code, {\n children: \"nextCursor\"\n }), \" value from the previous response\\nback as \", _jsx(_components.code, {\n children: \"cursor\"\n }), \". Keep every other parameter the same — a cursor is tied to the\\nfilters, data mode, and sort order it was created with, and changing any of them\\nmakes it invalid.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"To fetch one specific event, filter by \", _jsx(_components.code, {\n children: \"eventId\"\n }), \". There is no separate\\nsingle-event endpoint.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"If you request an event name this API does not support, it is ignored rather\\nthan rejected, and listed back to you in \", _jsx(_components.code, {\n children: \"meta.unsupportedEventNamesRequested\"\n }), \".\"]\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading}=_components;if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Use this endpoint to retrieve the execution events recorded while agents run. The response groups events by trace and can include LLM calls, tool calls, agent decisions, and failures. Each event provides execution metadata and, depending on the selected `,_jsx(_components.code,{children:`dataMode`}),`, either summary information or the complete sanitized request and response content.`]}),`\n`,_jsxs(_components.p,{children:[`Use `,_jsx(_components.code,{children:`dataMode=summary`}),` when you need operational information such as the event type, model, token usage, duration, cost, or error status without retrieving the event payloads. Use `,_jsx(_components.code,{children:`dataMode=full`}),` when you need the detailed sanitized request and response content associated with the events.`]}),`\n`,_jsxs(_components.p,{children:[`The endpoint requires a `,_jsx(_components.code,{children:`fromDate`}),` and `,_jsx(_components.code,{children:`toDate`}),` range. The start of the range is inclusive and the end is exclusive. You can further narrow the results by event type, event name, session, trace, event, agent, decision type, channel, environment, or error status. Results are paginated using a cursor; because pagination counts events before grouping them into traces, a page can contain fewer traces than the requested event limit.`]}),`\n`,_jsx(Heading,{level:`3`,id:`filters`,children:`Filters`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`fromDate`}),` — `,_jsx(_components.strong,{children:`Required.`}),` Inclusive start timestamp for the time range.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`toDate`}),` — `,_jsx(_components.strong,{children:`Required.`}),` Exclusive end timestamp for the time range.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`eventTypes`}),` — Filter by event category:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`llm`}),` — LLM calls`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`tool`}),` — Tool calls`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`decision`}),` — Agent decisions`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`error`}),` — LLM and tool failures`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`eventNames`}),` — Filter by specific event names:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`llm.call.completed`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`llm.call.failed`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`tool.call.completed`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`tool.call.failed`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`tool.call.skipped`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.code,{children:`agent.decision`})}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`sessionIds`}),` — Filter events belonging to specific sessions; up to 10,000 session IDs.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`eventId`}),` — Return only the event with the specified ID. Use this when you need to retrieve a specific event; there is no separate single-event endpoint.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`traceId`}),` — Return only events belonging to the specified trace.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`agentName`}),` — Filter events produced by a specific agent. The value is matched exactly.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`decisionKind`}),` — Filter agent decision events by decision type, such as `,_jsx(_components.code,{children:`routing`}),`, `,_jsx(_components.code,{children:`handoff`}),`, `,_jsx(_components.code,{children:`escalation`}),`, or `,_jsx(_components.code,{children:`completion`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`channel`}),` — Filter by the exact channel name recorded for the event. Unlike the Sessions endpoint, this filter does not support channel aliases.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`environment`}),` — Filter by environment: `,_jsx(_components.code,{children:`dev`}),`, `,_jsx(_components.code,{children:`staging`}),`, `,_jsx(_components.code,{children:`production`}),`, or `,_jsx(_components.code,{children:`working-copy`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`hasError`}),` — Set to `,_jsx(_components.code,{children:`true`}),` to return only events with errors, `,_jsx(_components.code,{children:`false`}),` to return only events without errors, or omit the parameter to return both.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`eventTypes`}),` filter accepts up to four categories. The `,_jsx(_components.code,{children:`eventNames`}),` filter accepts up to 20 names. Unsupported event names are ignored rather than rejected and are reported in `,_jsx(_components.code,{children:`meta.unsupportedEventNamesRequested`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Use `,_jsx(_components.code,{children:`GET`}),` when:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`You are retrieving trace data without requiring encrypted request parameters.`}),`\n`,_jsxs(_components.li,{children:[`You want to inspect or troubleshoot a specific event using `,_jsx(_components.code,{children:`eventId`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`You want to investigate a particular trace using `,_jsx(_components.code,{children:`traceId`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`You are analyzing events for one or more sessions using `,_jsx(_components.code,{children:`sessionIds`}),`.`]}),`\n`,_jsx(_components.li,{children:`You need to query and page through trace data using standard URL parameters.`}),`\n`]}),`\n`,`\n`,_jsx(Heading,{level:`2`,id:`post-—-list-trace-events-with-parameters-in-the-request-body`,children:`POST — List trace events with parameters in the request body`}),`\n`,_jsx(_components.p,{children:`Use this endpoint when you need the same trace data and filtering capabilities as the GET endpoint, but want to send the query parameters in the request body instead of the URL. The POST endpoint accepts the same parameters and returns the same response as GET.`}),`\n`,_jsxs(_components.p,{children:[`The POST endpoint is particularly useful when request parameters must be encrypted. When request encryption is enabled for the Platform Key, send the `,_jsx(_components.code,{children:`TracesQueryBody`}),` as an encrypted JWE. When request encryption is disabled, send the same parameters as a plain JSON object. Response encryption is independent of request encryption; when enabled, responses other than `,_jsx(_components.code,{children:`401`}),` are returned as encrypted JWE payloads.`]}),`\n`,_jsx(Heading,{level:`3`,id:`filters-and-parameters`,children:`Filters and parameters`}),`\n`,_jsx(_components.p,{children:`The POST endpoint supports the same filtering parameters as GET:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`fromDate`}),` — `,_jsx(_components.strong,{children:`Required.`}),` Inclusive start timestamp.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`toDate`}),` — `,_jsx(_components.strong,{children:`Required.`}),` Exclusive end timestamp.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`eventTypes`}),` — Filter by event category: `,_jsx(_components.code,{children:`llm`}),`, `,_jsx(_components.code,{children:`tool`}),`, `,_jsx(_components.code,{children:`decision`}),`, or `,_jsx(_components.code,{children:`error`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`eventNames`}),` — Filter by specific supported event name.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`sessionIds`}),` — Filter by up to 10,000 session IDs.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`eventId`}),` — Retrieve a specific event.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`traceId`}),` — Filter events belonging to a specific trace.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`agentName`}),` — Filter by the exact agent name.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`decisionKind`}),` — Filter agent decision events by decision type.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`channel`}),` — Filter by the exact recorded channel name.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`environment`}),` — Filter by environment.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`hasError`}),` — Filter for events that have or do not have errors.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`dataMode`}),` — Select `,_jsx(_components.code,{children:`summary`}),` or `,_jsx(_components.code,{children:`full`}),` event details.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`sortOrder`}),` — Sort results in ascending or descending order.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`The POST body uses the GET parameter names as JSON property names. List parameters can be sent as JSON arrays or comma-separated strings. `,_jsx(_components.code,{children:`traceDimensions`}),` is not a parameter in this Traces API; do not use it with this endpoint.`]}),`\n`,_jsxs(_components.p,{children:[`Use `,_jsx(_components.code,{children:`POST`}),` method when:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`The request parameters must be encrypted.`}),`\n`,_jsx(_components.li,{children:`You want to avoid exposing potentially sensitive filter values in the URL.`}),`\n`,_jsx(_components.li,{children:`You need to send the query as a JSON object rather than URL query parameters.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`When request encryption is enabled, the plaintext query object is encrypted as a flattened JWE using the configured Platform Key. A plaintext POST body is rejected when request encryption is enabled, while an encrypted body is rejected when request encryption is disabled.`}),`\n`,_jsx(_components.p,{children:`Do not add query parameters to a POST request. All query parameters must be supplied in the request body, and the body must be a JSON object.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"List trace events","openapi":"agent-platform/api-specs/traces.yaml get /api/public/analytics/projects/{projectId}/traces","description":"`fromDate` and `toDate` are required. `fromDate` is included in the results and\n`toDate` is not, so a full day is\n`fromDate=2026-08-05T00:00:00Z\u0026toDate=2026-08-06T00:00:00Z`.\n\nTo page through results, pass the `nextCursor` value from the previous response\nback as `cursor`. Keep every other parameter the same — a cursor is tied to the\nfilters, data mode, and sort order it was created with, and changing any of them\nmakes it invalid.\n\nTo fetch one specific event, filter by `eventId`. There is no separate\nsingle-event endpoint.\n\nIf you request an event name this API does not support, it is ignored rather\nthan rejected, and listed back to you in `meta.unsupportedEventNamesRequested`.\n","href":"/agent-platform/api-reference/analytics-list-traces"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Filters","slug":"filters","depth":3,"children":[]},{"title":"POST — List trace events with parameters in the request body","slug":"post-—-list-trace-events-with-parameters-in-the-request-body","depth":2,"children":[{"title":"Filters and parameters","slug":"filters-and-parameters","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/koreai/29b6b962a304e7e8/search.js"],"openApiReferenceData":{"operation":{"tags":["Traces"],"operationId":"listPublicAnalyticsTraces","summary":"List trace events grouped by trace","description":"`fromDate` and `toDate` are required. `fromDate` is included in the results and\n`toDate` is not, so a full day is\n`fromDate=2026-08-05T00:00:00Z\u0026toDate=2026-08-06T00:00:00Z`.\n\nTo page through results, pass the `nextCursor` value from the previous response\nback as `cursor`. Keep every other parameter the same — a cursor is tied to the\nfilters, data mode, and sort order it was created with, and changing any of them\nmakes it invalid.\n\nTo fetch one specific event, filter by `eventId`. There is no separate\nsingle-event endpoint.\n\nIf you request an event name this API does not support, it is ignored rather\nthan rejected, and listed back to you in `meta.unsupportedEventNamesRequested`.\n","parameters":["a6b5bf61-9b5f-498b-a512-b693afe6cb86","9dbcc6a3-01df-4a91-aaf5-3237918d6534","cb669602-5092-4acb-bec2-c41931418154","c08265a6-d5dd-4943-a5c8-236406660f13","8ddcc04d-8db3-4f79-bd30-8ad2e3ab154e","20e4e921-ed0b-4d36-9489-5a778d2e7c60","160bd49b-f1e7-4322-8a78-5c67f11d5a1e","611fa244-2f88-4696-9d8b-298f974217f3","2b94a3f8-6dcd-4615-bb5b-27d0d8922ec8","539610d1-03eb-4e52-919b-822424314b08","a04bcb01-55b6-4a03-a249-c94ea57fc1c6","ab14130e-4a73-4c01-82b5-edf0c8c6a470","d8a95082-21d0-44fb-925f-e30e603ff929","0fddd181-4454-4128-91e9-261d10e696a8","fcf53539-beb7-465a-b045-9d74393f4f04","b58b60f8-237d-4784-bc38-9ed342e87335","ff9b37eb-331f-4160-a71a-3c0208e5e108"],"responses":{"200":"e6ce27d4-6034-46b7-8351-51eecd1a68cb","400":"5217df67-6ca8-4d80-82c0-b2fae2f88c47","401":"6de37621-10be-4055-8b4e-b8139f44914c","403":"e46e7c39-a52c-498e-a573-c0259f0be5d7","404":"186765f0-cc32-42a1-89b2-a68c5a317b70","413":"396adf4c-e939-479d-8ef1-12dc0557bc17","429":"c3722cbe-31a1-4b64-8f30-6828444e52c6","500":"efe3d515-4d53-47e2-a7c5-52e3c237e7d0","503":"c76767dc-5a20-4cfd-a342-b6f60aaa87fd"},"method":"get","type":"path","servers":["245ef6f3-746a-4aba-ba56-1563fe0bc06a"],"security":["e47d647e-7d20-46fd-ba26-b70e6ba97751"],"path":"/api/public/analytics/projects/{projectId}/traces","baseUrlOptions":["https://{host}"],"title":"List trace events grouped by trace","codeSamples":[],"requestExampleLanguages":["bash"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated","disableProxy":true},"dependencies":{"parameters":{"a6b5bf61-9b5f-498b-a512-b693afe6cb86":{"name":"projectId","in":"path","required":true,"schema":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"","typeLabel":"string"}},"9dbcc6a3-01df-4a91-aaf5-3237918d6534":{"name":"fromDate","in":"query","required":true,"schema":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cdate-time>"}},"cb669602-5092-4acb-bec2-c41931418154":{"name":"toDate","in":"query","required":true,"schema":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cdate-time>"}},"c08265a6-d5dd-4943-a5c8-236406660f13":{"name":"limit","in":"query","description":"How many events to return. Counted before events are grouped into traces, so\na page of 100 events may contain fewer than 100 traces.\n","schema":{"type":"integer","minimum":1,"maximum":10000,"default":100,"description":"How many events to return. Counted before events are grouped into traces, so\na page of 100 events may contain fewer than 100 traces.\n","uniqueKey":"","typeLabel":"integer"}},"8ddcc04d-8db3-4f79-bd30-8ad2e3ab154e":{"name":"cursor","in":"query","description":"Pass the `nextCursor` value from the previous response to get the next page.\nKeep all other parameters unchanged.\n","schema":{"type":"string","minLength":1,"description":"Pass the `nextCursor` value from the previous response to get the next page.\nKeep all other parameters unchanged.\n","uniqueKey":"","typeLabel":"string"}},"20e4e921-ed0b-4d36-9489-5a778d2e7c60":{"name":"eventTypes","in":"query","description":"Filter by category of event. Pass one or more values, comma-separated or by\nrepeating the parameter. An unrecognised value is rejected with `400`.\n\nEach category covers a fixed set of event names: `llm` covers\n`llm.call.completed`; `tool` covers `tool.call.completed` and\n`tool.call.skipped`; `decision` covers `agent.decision`; and `error` covers\nboth failure events, `llm.call.failed` and `tool.call.failed`.\n","style":"form","explode":false,"schema":{"type":"array","uniqueItems":true,"maxItems":4,"items":{"type":"string","enum":["llm","tool","decision","error"],"uniqueKey":"items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Filter by category of event. Pass one or more values, comma-separated or by\nrepeating the parameter. An unrecognised value is rejected with `400`.\n\nEach category covers a fixed set of event names: `llm` covers\n`llm.call.completed`; `tool` covers `tool.call.completed` and\n`tool.call.skipped`; `decision` covers `agent.decision`; and `error` covers\nboth failure events, `llm.call.failed` and `tool.call.failed`.\n","uniqueKey":"","typeLabel":"enum\u003cstring>[]"}},"160bd49b-f1e7-4322-8a78-5c67f11d5a1e":{"name":"eventNames","in":"query","description":"Filter by specific event name, when `eventTypes` is broader than you need.\nPass up to 20 values, comma-separated or by repeating the parameter.\n\nUnrecognised names are not rejected. They are ignored and returned to you in\n`meta.unsupportedEventNamesRequested`, so only the names listed below will\nactually select data.\n","style":"form","explode":false,"schema":{"type":"array","uniqueItems":true,"maxItems":20,"items":{"type":"string","enum":["llm.call.completed","llm.call.failed","tool.call.completed","tool.call.failed","tool.call.skipped","agent.decision"],"uniqueKey":"items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Filter by specific event name, when `eventTypes` is broader than you need.\nPass up to 20 values, comma-separated or by repeating the parameter.\n\nUnrecognised names are not rejected. They are ignored and returned to you in\n`meta.unsupportedEventNamesRequested`, so only the names listed below will\nactually select data.\n","uniqueKey":"","typeLabel":"enum\u003cstring>[]"},"examples":{"supported":{"value":["llm.call.completed","tool.call.failed"]}}},"611fa244-2f88-4696-9d8b-298f974217f3":{"name":"sessionIds","in":"query","description":"Filter to specific sessions. Pass up to 10,000 session IDs, comma-separated\nor by repeating the parameter.\n","style":"form","explode":false,"schema":{"type":"array","maxItems":10000,"uniqueItems":true,"items":{"type":"string","minLength":1,"uniqueKey":"items.[INDEX]","typeLabel":"string"},"description":"Filter to specific sessions. Pass up to 10,000 session IDs, comma-separated\nor by repeating the parameter.\n","uniqueKey":"","typeLabel":"string[]"}},"2b94a3f8-6dcd-4615-bb5b-27d0d8922ec8":{"name":"eventId","in":"query","description":"Return only the event with this ID.\n","schema":{"type":"string","minLength":1,"description":"Return only the event with this ID.\n","uniqueKey":"","typeLabel":"string"}},"539610d1-03eb-4e52-919b-822424314b08":{"name":"traceId","in":"query","description":"Return only events belonging to this trace.\n","schema":{"type":"string","minLength":1,"description":"Return only events belonging to this trace.\n","uniqueKey":"","typeLabel":"string"}},"a04bcb01-55b6-4a03-a249-c94ea57fc1c6":{"name":"agentName","in":"query","description":"Filter to events produced by this agent. Matched exactly; agent names are\nset by whoever built the project, so there is no fixed list.\n","schema":{"type":"string","minLength":1,"description":"Filter to events produced by this agent. Matched exactly; agent names are\nset by whoever built the project, so there is no fixed list.\n","uniqueKey":"","typeLabel":"string"}},"ab14130e-4a73-4c01-82b5-edf0c8c6a470":{"name":"decisionKind","in":"query","description":"Filter agent decision events by the kind of decision made, for example\n`routing` or `escalation`.\n\nMatched exactly, and not restricted to a fixed list — new decision kinds can\nbe added by the platform at any time, so an unrecognised value returns no\nresults rather than an error. The values below are the ones currently in\nuse.\n","schema":{"type":"string","minLength":1,"x-common-values":["routing","handoff","escalation","completion","retry","backtrack","stop","pause","resume","reopen","waive","save_eval_suite","promote_candidate_to_eval_suite","promote_generated_project_lifecycle"],"description":"Filter agent decision events by the kind of decision made, for example\n`routing` or `escalation`.\n\nMatched exactly, and not restricted to a fixed list — new decision kinds can\nbe added by the platform at any time, so an unrecognised value returns no\nresults rather than an error. The values below are the ones currently in\nuse.\n","uniqueKey":"","typeLabel":"string"}},"d8a95082-21d0-44fb-925f-e30e603ff929":{"name":"channel","in":"query","description":"Filter by the channel the conversation took place on. Pass a single value;\nif you repeat the parameter only the first value is used, and a\ncomma-separated list is treated as one literal value rather than a list.\n\nMatched exactly as stored, with no alias handling. This differs from the\nsessions endpoint, which accepts shorthand such as `web` or `sms` and\nexpands it. Here you must use the exact channel name: `web_chat` rather than\n`web`, `twilio_sms` rather than `sms`, and the specific voice channel such\nas `voice_vxml` or `audiocodes` rather than `voice`.\n\nNot restricted to a fixed list, so an unrecognised value returns no results\nrather than an error, and a newly added channel works before the list below\nis updated.\n","schema":{"type":"string","enum":["http_async","slack","line","msteams","whatsapp","messenger","instagram","twilio_sms","zendesk","telegram","genesys","genesys_open_messaging","ai4w","kore_agent_assist","email","voice_vxml","korevg","audiocodes","genesys_audio_connector","voice_pipeline","voice_realtime","voice","voice_twilio","voice_livekit","ag_ui","a2a","sdk_websocket","web_debug","web_chat","api","http"],"description":"Filter by the channel the conversation took place on. Pass a single value;\nif you repeat the parameter only the first value is used, and a\ncomma-separated list is treated as one literal value rather than a list.\n\nMatched exactly as stored, with no alias handling. This differs from the\nsessions endpoint, which accepts shorthand such as `web` or `sms` and\nexpands it. Here you must use the exact channel name: `web_chat` rather than\n`web`, `twilio_sms` rather than `sms`, and the specific voice channel such\nas `voice_vxml` or `audiocodes` rather than `voice`.\n\nNot restricted to a fixed list, so an unrecognised value returns no results\nrather than an error, and a newly added channel works before the list below\nis updated.\n","uniqueKey":"","typeLabel":"enum\u003cstring>"}},"0fddd181-4454-4128-91e9-261d10e696a8":{"name":"environment","in":"query","description":"Filter by the environment the events were recorded in. Pass a single value;\nif you repeat the parameter only the first value is used.\n\nMatched exactly as stored. Not restricted to a fixed list, so an\nunrecognised value returns no results rather than an error.\n","schema":{"type":"string","enum":["dev","staging","production","working-copy"],"description":"Filter by the environment the events were recorded in. Pass a single value;\nif you repeat the parameter only the first value is used.\n\nMatched exactly as stored. Not restricted to a fixed list, so an\nunrecognised value returns no results rather than an error.\n","uniqueKey":"","typeLabel":"enum\u003cstring>"}},"fcf53539-beb7-465a-b045-9d74393f4f04":{"name":"hasError","in":"query","description":"Set to `true` to return only events that failed, or `false` for only those\nthat succeeded. Omit to return both. Accepts `true`, `false`, `1`, or `0`.\n","schema":{"type":"boolean","description":"Set to `true` to return only events that failed, or `false` for only those\nthat succeeded. Omit to return both. Accepts `true`, `false`, `1`, or `0`.\n","uniqueKey":"","typeLabel":"boolean"}},"b58b60f8-237d-4784-bc38-9ed342e87335":{"name":"dataMode","in":"query","description":"How much detail to return per event. `summary` returns the key facts. `full`\nadds the complete request and response content under\n`eventData.payloadData`.\n","schema":{"type":"string","enum":["summary","full"],"default":"summary","description":"How much detail to return per event. `summary` returns the key facts. `full`\nadds the complete request and response content under\n`eventData.payloadData`.\n","uniqueKey":"","typeLabel":"enum\u003cstring>"}},"ff9b37eb-331f-4160-a71a-3c0208e5e108":{"name":"sortOrder","in":"query","schema":{"type":"string","enum":["asc","desc"],"default":"asc","uniqueKey":"","typeLabel":"enum\u003cstring>"}}},"responses":{"e6ce27d4-6034-46b7-8351-51eecd1a68cb":{"description":"Trace event page returned successfully.","headers":{"Cache-Control":{"schema":{"type":"string"},"example":"private, no-store, max-age=0"},"X-ABL-Encrypted":{"description":"Present with value `true` when the body is an `EncryptedResponse`. Absent otherwise.","schema":{"type":"string","enum":["true"]}}},"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["traces","pageInfo","meta"],"properties":{"traces":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["traceId","sessionId","environment","channel","agentName","deploymentId","events"],"properties":{"traceId":{"oneOf":[{"type":"string","description":"Identifier shared by all events from one run. Null when the events were recorded\nwithout one.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].traceId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Identifier shared by all events from one run. Null when the events were recorded\nwithout one.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].traceId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].traceId","typeLabel":"string | null"},"sessionId":{"type":"string","description":"The conversation these events belong to.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].sessionId","typeLabel":"string"},"environment":{"oneOf":[{"type":"string","description":"Empty values are normalized to `null` on output.","enum":["dev","staging","production","working-copy",null],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].environment.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Empty values are normalized to `null` on output.","enum":["dev","staging","production","working-copy",null],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].environment.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].environment","typeLabel":"enum\u003cstring> | null"},"channel":{"oneOf":[{"type":"string","description":"The channel the conversation took place on, exactly as recorded. `null` when\nthe event was not tied to a channel.\n","enum":["http_async","slack","line","msteams","whatsapp","messenger","instagram","twilio_sms","zendesk","telegram","genesys","genesys_open_messaging","ai4w","kore_agent_assist","email","voice_vxml","korevg","audiocodes","genesys_audio_connector","voice_pipeline","voice_realtime","voice","voice_twilio","voice_livekit","ag_ui","a2a","sdk_websocket","web_debug","web_chat","api","http",null],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].channel.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"The channel the conversation took place on, exactly as recorded. `null` when\nthe event was not tied to a channel.\n","enum":["http_async","slack","line","msteams","whatsapp","messenger","instagram","twilio_sms","zendesk","telegram","genesys","genesys_open_messaging","ai4w","kore_agent_assist","email","voice_vxml","korevg","audiocodes","genesys_audio_connector","voice_pipeline","voice_realtime","voice","voice_twilio","voice_livekit","ag_ui","a2a","sdk_websocket","web_debug","web_chat","api","http",null],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].channel.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].channel","typeLabel":"enum\u003cstring> | null"},"agentName":{"oneOf":[{"type":"string","description":"The agent that ran. Null when not recorded.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].agentName.oneOf.0","typeLabel":"string"},{"type":"null","description":"The agent that ran. Null when not recorded.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].agentName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].agentName","typeLabel":"string | null"},"deploymentId":{"oneOf":[{"type":"string","description":"The deployment the agent was running under.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].deploymentId.oneOf.0","typeLabel":"string"},{"type":"null","description":"The deployment the agent was running under.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].deploymentId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].deploymentId","typeLabel":"string | null"},"events":{"type":"array","items":{"oneOf":[{"type":"object","required":["eventId","eventSeq","eventCursor","payloadVersion","eventType","eventName","timestamp","ingestedAt","spanId","reasonCode","operationType","agentExecutionPolicySource","responseContribution","actor","durationMs","hasError","isFailure","error","eventData"],"properties":{"eventId":{"type":"string","description":"Identifier of this event. Pass it to the `eventId` filter to fetch just this one.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventId","typeLabel":"string"},"eventSeq":{"oneOf":[{"type":"integer","minimum":0,"description":"Position of this event in the run, used to keep events in order.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventSeq.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Position of this event in the run, used to keep events in order.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventSeq.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventSeq","typeLabel":"integer | null"},"eventCursor":{"oneOf":[{"type":"string","description":"Paging marker for this event. Not usually needed — use `pageInfo.nextCursor`\ninstead.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventCursor.oneOf.0","typeLabel":"string"},{"type":"null","description":"Paging marker for this event. Not usually needed — use `pageInfo.nextCursor`\ninstead.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventCursor.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventCursor","typeLabel":"string | null"},"payloadVersion":{"oneOf":[{"type":"integer","minimum":0,"description":"Internal version of the event format. Useful only when comparing old and new\nrecords.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.payloadVersion.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Internal version of the event format. Useful only when comparing old and new\nrecords.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.payloadVersion.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.payloadVersion","typeLabel":"integer | null"},"eventType":{"type":"string","description":"Category of event.\n","enum":["llm","tool","decision","error"],"const":"llm","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventType","typeLabel":"enum\u003cstring>"},"eventName":{"type":"string","description":"The specific event that was recorded.\n","enum":["llm.call.completed","llm.call.failed","tool.call.completed","tool.call.failed","tool.call.skipped","agent.decision"],"const":"llm.call.completed","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventName","typeLabel":"enum\u003cstring>"},"timestamp":{"type":"string","format":"date-time","description":"When the event happened.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.timestamp","typeLabel":"string\u003cdate-time>"},"ingestedAt":{"oneOf":[{"type":"string","format":"date-time","description":"When the platform stored the event. Slightly later than `timestamp`.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.ingestedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When the platform stored the event. Slightly later than `timestamp`.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.ingestedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.ingestedAt","typeLabel":"string\u003cdate-time> | null"},"spanId":{"oneOf":[{"type":"string","description":"Identifier for this step within the trace, for lining events up with external\ntracing tools.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.spanId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Identifier for this step within the trace, for lining events up with external\ntracing tools.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.spanId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.spanId","typeLabel":"string | null"},"reasonCode":{"oneOf":[{"type":"string","description":"A short code explaining why the event happened or what it resulted in, for\nexample the reason a decision was taken or a call failed. Not restricted to\na fixed list — each part of the platform sets its own codes, and for some\nevent kinds this falls back to the event name itself. `null` when the event\nrecords no reason.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.reasonCode.oneOf.0","typeLabel":"string"},{"type":"null","description":"A short code explaining why the event happened or what it resulted in, for\nexample the reason a decision was taken or a call failed. Not restricted to\na fixed list — each part of the platform sets its own codes, and for some\nevent kinds this falls back to the event name itself. `null` when the event\nrecords no reason.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.reasonCode.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.reasonCode","typeLabel":"string | null"},"operationType":{"oneOf":[{"type":"string","description":"What the LLM call was being used for. For agent responses this is normally\n`response_gen` (generating a reply) or `coordination` (deciding where to\nroute). Other parts of the platform — guardrails, pipelines, Arch, SearchAI,\nand Studio test calls — set their own values, so this is not restricted to a\nfixed list. The values below are the most common.\n","x-common-values":["response_gen","coordination","extraction","validation","tool_selection","reasoning"],"x-other-producer-values":["chat_complete","guardrail_evaluation","realtime_response","pipeline_classify","pipeline_generate_text","pipeline_generate_object","route_selection","response_synthesis"],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.operationType.oneOf.0","typeLabel":"string"},{"type":"null","description":"What the LLM call was being used for. For agent responses this is normally\n`response_gen` (generating a reply) or `coordination` (deciding where to\nroute). Other parts of the platform — guardrails, pipelines, Arch, SearchAI,\nand Studio test calls — set their own values, so this is not restricted to a\nfixed list. The values below are the most common.\n","x-common-values":["response_gen","coordination","extraction","validation","tool_selection","reasoning"],"x-other-producer-values":["chat_complete","guardrail_evaluation","realtime_response","pipeline_classify","pipeline_generate_text","pipeline_generate_object","route_selection","response_synthesis"],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.operationType.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.operationType","typeLabel":"string | null"},"agentExecutionPolicySource":{"oneOf":[{"type":"string","description":"How the platform worked out what role the agent was playing. `explicit`\nmeans the agent declares its role directly, which is the current approach.\nThe three `legacy_` values mean the role had to be inferred from an older\nagent definition. Always one of these four values, or `null` when the event\nis not an agent LLM call.\n","enum":["explicit","legacy_agent","legacy_supervisor_flag","legacy_compiled_route_only",null],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.agentExecutionPolicySource.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"How the platform worked out what role the agent was playing. `explicit`\nmeans the agent declares its role directly, which is the current approach.\nThe three `legacy_` values mean the role had to be inferred from an older\nagent definition. Always one of these four values, or `null` when the event\nis not an agent LLM call.\n","enum":["explicit","legacy_agent","legacy_supervisor_flag","legacy_compiled_route_only",null],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.agentExecutionPolicySource.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.agentExecutionPolicySource","typeLabel":"enum\u003cstring> | null"},"responseContribution":{"oneOf":[{"type":"string","description":"Whether this event's output reached the end user. `customer_visible` means\nit formed part of the reply; `internal_only` means it was used behind the\nscenes. Not restricted to a fixed list, though the values below are the ones\nthe platform currently sets.\n","x-common-values":["internal_only","customer_visible","customer_visible_candidate","customer_visible_interim","none","simulated"],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.responseContribution.oneOf.0","typeLabel":"string"},{"type":"null","description":"Whether this event's output reached the end user. `customer_visible` means\nit formed part of the reply; `internal_only` means it was used behind the\nscenes. Not restricted to a fixed list, though the values below are the ones\nthe platform currently sets.\n","x-common-values":["internal_only","customer_visible","customer_visible_candidate","customer_visible_interim","none","simulated"],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.responseContribution.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.responseContribution","typeLabel":"string | null"},"actor":{"oneOf":[{"type":"object","description":"Who or what triggered the event. Null when not recorded.","required":["actorId","actorType","contactId"],"properties":{"actorId":{"oneOf":[{"type":"string","description":"Identifier of the user, contact, or agent that triggered the event.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.actor.oneOf.0.actorId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Identifier of the user, contact, or agent that triggered the event.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.actor.oneOf.0.actorId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.actor.oneOf.0.actorId","typeLabel":"string | null"},"actorType":{"oneOf":[{"type":"string","description":"Who or what triggered the event: `user` or `contact` for a person, `agent`\nfor an AI agent, `system` for the platform itself. Anything else is returned\nas `null`.\n","enum":["user","contact","system","agent",null],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.actor.oneOf.0.actorType.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Who or what triggered the event: `user` or `contact` for a person, `agent`\nfor an AI agent, `system` for the platform itself. Anything else is returned\nas `null`.\n","enum":["user","contact","system","agent",null],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.actor.oneOf.0.actorType.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.actor.oneOf.0.actorType","typeLabel":"enum\u003cstring> | null"},"contactId":{"oneOf":[{"type":"string","description":"The contact record associated with the event, when the actor is a known person.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.actor.oneOf.0.contactId.oneOf.0","typeLabel":"string"},{"type":"null","description":"The contact record associated with the event, when the actor is a known person.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.actor.oneOf.0.contactId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.actor.oneOf.0.contactId","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.actor.oneOf.0","typeLabel":"object"},{"type":"null","description":"Who or what triggered the event. Null when not recorded.","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.actor.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.actor","typeLabel":"object | null"},"durationMs":{"oneOf":[{"type":"integer","minimum":0,"description":"How long the step took, in milliseconds.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.durationMs.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"How long the step took, in milliseconds.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.durationMs.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.durationMs","typeLabel":"integer | null"},"hasError":{"type":"boolean","description":"Whether this event was recorded with an error flag.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.hasError","typeLabel":"boolean"},"isFailure":{"type":"boolean","description":"Whether this event counts as a failure under the platform failure rule. This is the\nrule behind a session's `errorCount`: handled errors, superseded LLM retry attempts\nand warnings are not failures. For the event names this endpoint returns,\n`isFailure` equals `hasError`.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.isFailure","typeLabel":"boolean"},"error":{"oneOf":[{"type":"object","description":"Details of what went wrong. `code` is a stable machine-readable value; `message` is\nhuman-readable.\n","required":["type","message"],"properties":{"type":{"oneOf":[{"type":"string","description":"A short error identifier, such as a platform error code or the name of the\nunderlying error class. Free text, limited to letters, digits, and the\ncharacters `_ . : -`. Anything longer or containing other characters is\nreturned as `null`.\n","pattern":"^[a-zA-Z0-9_.:-]{1,128}$","maxLength":128,"x-common-values":["internal_error","unknown_error","app_error","execution_error","llm_error","provider_error","channel_send_failed","channel_send_exception","channel_adapter_unavailable","webhook_delivery_failed","webhook_client_error","websocket_not_open","voice_setup_error","tts_delivery_failure"],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.error.oneOf.0.type.oneOf.0","typeLabel":"string"},{"type":"null","description":"A short error identifier, such as a platform error code or the name of the\nunderlying error class. Free text, limited to letters, digits, and the\ncharacters `_ . : -`. Anything longer or containing other characters is\nreturned as `null`.\n","pattern":"^[a-zA-Z0-9_.:-]{1,128}$","maxLength":128,"x-common-values":["internal_error","unknown_error","app_error","execution_error","llm_error","provider_error","channel_send_failed","channel_send_exception","channel_adapter_unavailable","webhook_delivery_failed","webhook_client_error","websocket_not_open","voice_setup_error","tts_delivery_failure"],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.error.oneOf.0.type.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.error.oneOf.0.type","typeLabel":"string | null"},"message":{"oneOf":[{"type":"string","description":"Currently redacted to null on the public surface.","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.error.oneOf.0.message.oneOf.0","typeLabel":"string"},{"type":"null","description":"Currently redacted to null on the public surface.","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.error.oneOf.0.message.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.error.oneOf.0.message","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.error.oneOf.0","typeLabel":"object"},{"type":"null","description":"Details of what went wrong. `code` is a stable machine-readable value; `message` is\nhuman-readable.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.error.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.error","typeLabel":"object | null"},"eventData":{"type":"object","additionalProperties":false,"required":["model","provider","inputTokens","outputTokens","totalTokens","reasoningTokens","cachedTokens","audioInputTokens","audioOutputTokens","estimatedCost","latencyMs","streamingUsed","toolCallCount","timeToFirstTokenMs","cacheCreationTokens","finishReason","retryAttempt"],"properties":{"model":{"type":"string","description":"The model used for this call.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.model","typeLabel":"string"},"provider":{"type":"string","description":"The provider that served the call, such as `openai` or `azure`.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.provider","typeLabel":"string"},"inputTokens":{"oneOf":[{"type":"integer","minimum":0,"description":"Tokens in the prompt sent to the model.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.inputTokens.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Tokens in the prompt sent to the model.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.inputTokens.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.inputTokens","typeLabel":"integer | null"},"outputTokens":{"oneOf":[{"type":"integer","minimum":0,"description":"All tokens the model produced — answer plus any reasoning.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.outputTokens.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"All tokens the model produced — answer plus any reasoning.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.outputTokens.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.outputTokens","typeLabel":"integer | null"},"totalTokens":{"oneOf":[{"type":"integer","minimum":0,"description":"Input plus output tokens for this call.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.totalTokens.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Input plus output tokens for this call.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.totalTokens.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.totalTokens","typeLabel":"integer | null"},"reasoningTokens":{"oneOf":[{"type":"integer","minimum":0,"description":"Tokens spent on internal model reasoning. Billed as output but not part of the\nvisible answer.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.reasoningTokens.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Tokens spent on internal model reasoning. Billed as output but not part of the\nvisible answer.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.reasoningTokens.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.reasoningTokens","typeLabel":"integer | null"},"cachedTokens":{"oneOf":[{"type":"integer","minimum":0,"description":"Input tokens served from the provider prompt cache. Part of inputTokens, and usually\ncheaper.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.cachedTokens.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Input tokens served from the provider prompt cache. Part of inputTokens, and usually\ncheaper.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.cachedTokens.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.cachedTokens","typeLabel":"integer | null"},"audioInputTokens":{"oneOf":[{"type":"integer","minimum":0,"description":"Audio tokens in the prompt, for voice models.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.audioInputTokens.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Audio tokens in the prompt, for voice models.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.audioInputTokens.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.audioInputTokens","typeLabel":"integer | null"},"audioOutputTokens":{"oneOf":[{"type":"integer","minimum":0,"description":"Audio tokens in the response, for voice models.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.audioOutputTokens.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Audio tokens in the response, for voice models.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.audioOutputTokens.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.audioOutputTokens","typeLabel":"integer | null"},"estimatedCost":{"oneOf":[{"type":"object","description":"Estimated cost of this call. Null when no price is known for the model.\n","required":["amount","currency"],"properties":{"amount":{"type":"number","minimum":0,"description":"The cost amount.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.estimatedCost.oneOf.0.amount","typeLabel":"number"},"currency":{"type":"string","description":"Three-letter currency code, uppercase. `USD` unless the recorded cost\nspecifies something else.\n","pattern":"^[A-Z]{3}$","default":"USD","example":"USD","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.estimatedCost.oneOf.0.currency","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.estimatedCost.oneOf.0","typeLabel":"object"},{"type":"null","description":"Estimated cost of this call. Null when no price is known for the model.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.estimatedCost.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.estimatedCost","typeLabel":"object | null"},"latencyMs":{"oneOf":[{"type":"integer","minimum":0,"description":"How long the call took, in milliseconds.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.latencyMs.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"How long the call took, in milliseconds.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.latencyMs.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.latencyMs","typeLabel":"integer | null"},"streamingUsed":{"oneOf":[{"type":"boolean","description":"Whether the response was streamed back token by token.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.streamingUsed.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Whether the response was streamed back token by token.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.streamingUsed.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.streamingUsed","typeLabel":"boolean | null"},"toolCallCount":{"oneOf":[{"type":"integer","minimum":0,"description":"How many tool calls the model asked for in this response.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.toolCallCount.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"How many tool calls the model asked for in this response.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.toolCallCount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.toolCallCount","typeLabel":"integer | null"},"timeToFirstTokenMs":{"oneOf":[{"type":"integer","minimum":0,"description":"Time until the first token arrived, in milliseconds. Meaningful for streamed calls.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.timeToFirstTokenMs.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Time until the first token arrived, in milliseconds. Meaningful for streamed calls.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.timeToFirstTokenMs.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.timeToFirstTokenMs","typeLabel":"integer | null"},"cacheCreationTokens":{"oneOf":[{"type":"integer","minimum":0,"description":"Input tokens written into the provider prompt cache for reuse by later calls.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.cacheCreationTokens.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Input tokens written into the provider prompt cache for reuse by later calls.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.cacheCreationTokens.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.cacheCreationTokens","typeLabel":"integer | null"},"finishReason":{"oneOf":[{"type":"string","description":"Why the model stopped generating: `stop` when it finished normally, `length`\nwhen it hit the token limit, `tool_calls` when it asked to call a tool,\n`content_filter` when output was blocked, `error` on failure.\nProvider-specific wording is converted to these five values where the\nplatform recognises it, but an unconverted provider value can still appear.\n","x-common-values":["stop","length","tool_calls","content_filter","error"],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.finishReason.oneOf.0","typeLabel":"string"},{"type":"null","description":"Why the model stopped generating: `stop` when it finished normally, `length`\nwhen it hit the token limit, `tool_calls` when it asked to call a tool,\n`content_filter` when output was blocked, `error` on failure.\nProvider-specific wording is converted to these five values where the\nplatform recognises it, but an unconverted provider value can still appear.\n","x-common-values":["stop","length","tool_calls","content_filter","error"],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.finishReason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.finishReason","typeLabel":"string | null"},"retryAttempt":{"oneOf":[{"type":"integer","minimum":0,"description":"Which attempt this was. 0 on the first try, higher after a retry.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.retryAttempt.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Which attempt this was. 0 on the first try, higher after a retry.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.retryAttempt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.retryAttempt","typeLabel":"integer | null"},"payloadData":{"type":"object","additionalProperties":false,"description":"The full content of the event, returned only when `dataMode=full`. LLM calls use\n`request` and `response`; tool calls and decisions use `input`, `output`, and\n`details`.\n","properties":{"request":{"description":"Complete sanitized LLM request payload","uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.payloadData.request","typeLabel":"any"},"response":{"description":"Complete sanitized LLM response payload","uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.payloadData.response","typeLabel":"any"},"input":{"description":"Complete sanitized event input","uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.payloadData.input","typeLabel":"any"},"output":{"description":"Complete sanitized event output","uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.payloadData.output","typeLabel":"any"},"details":{"type":"object","additionalProperties":true,"description":"Remaining sanitized event-specific fields.","uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.payloadData.details","typeLabel":"object"}},"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData.payloadData","typeLabel":"object"}},"description":"The event details, which differ by event type.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0.eventData","typeLabel":"object"}},"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["eventId","eventSeq","eventCursor","payloadVersion","eventType","eventName","timestamp","ingestedAt","spanId","reasonCode","operationType","agentExecutionPolicySource","responseContribution","actor","durationMs","hasError","isFailure","error","eventData"],"properties":{"eventId":{"type":"string","description":"Identifier of this event. Pass it to the `eventId` filter to fetch just this one.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventId","typeLabel":"string"},"eventSeq":{"oneOf":[{"type":"integer","minimum":0,"description":"Position of this event in the run, used to keep events in order.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventSeq.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Position of this event in the run, used to keep events in order.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventSeq.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventSeq","typeLabel":"integer | null"},"eventCursor":{"oneOf":[{"type":"string","description":"Paging marker for this event. Not usually needed — use `pageInfo.nextCursor`\ninstead.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventCursor.oneOf.0","typeLabel":"string"},{"type":"null","description":"Paging marker for this event. Not usually needed — use `pageInfo.nextCursor`\ninstead.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventCursor.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventCursor","typeLabel":"string | null"},"payloadVersion":{"oneOf":[{"type":"integer","minimum":0,"description":"Internal version of the event format. Useful only when comparing old and new\nrecords.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.payloadVersion.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Internal version of the event format. Useful only when comparing old and new\nrecords.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.payloadVersion.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.payloadVersion","typeLabel":"integer | null"},"eventType":{"type":"string","description":"Category of event.\n","enum":["llm","tool","decision","error"],"const":"tool","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventType","typeLabel":"enum\u003cstring>"},"eventName":{"type":"string","description":"The specific event that was recorded.\n","enum":["tool.call.completed","tool.call.skipped"],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventName","typeLabel":"enum\u003cstring>"},"timestamp":{"type":"string","format":"date-time","description":"When the event happened.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.timestamp","typeLabel":"string\u003cdate-time>"},"ingestedAt":{"oneOf":[{"type":"string","format":"date-time","description":"When the platform stored the event. Slightly later than `timestamp`.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.ingestedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When the platform stored the event. Slightly later than `timestamp`.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.ingestedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.ingestedAt","typeLabel":"string\u003cdate-time> | null"},"spanId":{"oneOf":[{"type":"string","description":"Identifier for this step within the trace, for lining events up with external\ntracing tools.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.spanId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Identifier for this step within the trace, for lining events up with external\ntracing tools.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.spanId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.spanId","typeLabel":"string | null"},"reasonCode":{"oneOf":[{"type":"string","description":"A short code explaining why the event happened or what it resulted in, for\nexample the reason a decision was taken or a call failed. Not restricted to\na fixed list — each part of the platform sets its own codes, and for some\nevent kinds this falls back to the event name itself. `null` when the event\nrecords no reason.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.reasonCode.oneOf.0","typeLabel":"string"},{"type":"null","description":"A short code explaining why the event happened or what it resulted in, for\nexample the reason a decision was taken or a call failed. Not restricted to\na fixed list — each part of the platform sets its own codes, and for some\nevent kinds this falls back to the event name itself. `null` when the event\nrecords no reason.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.reasonCode.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.reasonCode","typeLabel":"string | null"},"operationType":{"oneOf":[{"type":"string","description":"What the LLM call was being used for. For agent responses this is normally\n`response_gen` (generating a reply) or `coordination` (deciding where to\nroute). Other parts of the platform — guardrails, pipelines, Arch, SearchAI,\nand Studio test calls — set their own values, so this is not restricted to a\nfixed list. The values below are the most common.\n","x-common-values":["response_gen","coordination","extraction","validation","tool_selection","reasoning"],"x-other-producer-values":["chat_complete","guardrail_evaluation","realtime_response","pipeline_classify","pipeline_generate_text","pipeline_generate_object","route_selection","response_synthesis"],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.operationType.oneOf.0","typeLabel":"string"},{"type":"null","description":"What the LLM call was being used for. For agent responses this is normally\n`response_gen` (generating a reply) or `coordination` (deciding where to\nroute). Other parts of the platform — guardrails, pipelines, Arch, SearchAI,\nand Studio test calls — set their own values, so this is not restricted to a\nfixed list. The values below are the most common.\n","x-common-values":["response_gen","coordination","extraction","validation","tool_selection","reasoning"],"x-other-producer-values":["chat_complete","guardrail_evaluation","realtime_response","pipeline_classify","pipeline_generate_text","pipeline_generate_object","route_selection","response_synthesis"],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.operationType.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.operationType","typeLabel":"string | null"},"agentExecutionPolicySource":{"oneOf":[{"type":"string","description":"How the platform worked out what role the agent was playing. `explicit`\nmeans the agent declares its role directly, which is the current approach.\nThe three `legacy_` values mean the role had to be inferred from an older\nagent definition. Always one of these four values, or `null` when the event\nis not an agent LLM call.\n","enum":["explicit","legacy_agent","legacy_supervisor_flag","legacy_compiled_route_only",null],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.agentExecutionPolicySource.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"How the platform worked out what role the agent was playing. `explicit`\nmeans the agent declares its role directly, which is the current approach.\nThe three `legacy_` values mean the role had to be inferred from an older\nagent definition. Always one of these four values, or `null` when the event\nis not an agent LLM call.\n","enum":["explicit","legacy_agent","legacy_supervisor_flag","legacy_compiled_route_only",null],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.agentExecutionPolicySource.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.agentExecutionPolicySource","typeLabel":"enum\u003cstring> | null"},"responseContribution":{"oneOf":[{"type":"string","description":"Whether this event's output reached the end user. `customer_visible` means\nit formed part of the reply; `internal_only` means it was used behind the\nscenes. Not restricted to a fixed list, though the values below are the ones\nthe platform currently sets.\n","x-common-values":["internal_only","customer_visible","customer_visible_candidate","customer_visible_interim","none","simulated"],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.responseContribution.oneOf.0","typeLabel":"string"},{"type":"null","description":"Whether this event's output reached the end user. `customer_visible` means\nit formed part of the reply; `internal_only` means it was used behind the\nscenes. Not restricted to a fixed list, though the values below are the ones\nthe platform currently sets.\n","x-common-values":["internal_only","customer_visible","customer_visible_candidate","customer_visible_interim","none","simulated"],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.responseContribution.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.responseContribution","typeLabel":"string | null"},"actor":{"oneOf":[{"type":"object","description":"Who or what triggered the event. Null when not recorded.","required":["actorId","actorType","contactId"],"properties":{"actorId":{"oneOf":[{"type":"string","description":"Identifier of the user, contact, or agent that triggered the event.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.actor.oneOf.0.actorId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Identifier of the user, contact, or agent that triggered the event.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.actor.oneOf.0.actorId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.actor.oneOf.0.actorId","typeLabel":"string | null"},"actorType":{"oneOf":[{"type":"string","description":"Who or what triggered the event: `user` or `contact` for a person, `agent`\nfor an AI agent, `system` for the platform itself. Anything else is returned\nas `null`.\n","enum":["user","contact","system","agent",null],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.actor.oneOf.0.actorType.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Who or what triggered the event: `user` or `contact` for a person, `agent`\nfor an AI agent, `system` for the platform itself. Anything else is returned\nas `null`.\n","enum":["user","contact","system","agent",null],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.actor.oneOf.0.actorType.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.actor.oneOf.0.actorType","typeLabel":"enum\u003cstring> | null"},"contactId":{"oneOf":[{"type":"string","description":"The contact record associated with the event, when the actor is a known person.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.actor.oneOf.0.contactId.oneOf.0","typeLabel":"string"},{"type":"null","description":"The contact record associated with the event, when the actor is a known person.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.actor.oneOf.0.contactId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.actor.oneOf.0.contactId","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.actor.oneOf.0","typeLabel":"object"},{"type":"null","description":"Who or what triggered the event. Null when not recorded.","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.actor.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.actor","typeLabel":"object | null"},"durationMs":{"oneOf":[{"type":"integer","minimum":0,"description":"How long the step took, in milliseconds.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.durationMs.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"How long the step took, in milliseconds.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.durationMs.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.durationMs","typeLabel":"integer | null"},"hasError":{"type":"boolean","description":"Whether this event was recorded with an error flag.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.hasError","typeLabel":"boolean"},"isFailure":{"type":"boolean","description":"Whether this event counts as a failure under the platform failure rule. This is the\nrule behind a session's `errorCount`: handled errors, superseded LLM retry attempts\nand warnings are not failures. For the event names this endpoint returns,\n`isFailure` equals `hasError`.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.isFailure","typeLabel":"boolean"},"error":{"oneOf":[{"type":"object","description":"Details of what went wrong. `code` is a stable machine-readable value; `message` is\nhuman-readable.\n","required":["type","message"],"properties":{"type":{"oneOf":[{"type":"string","description":"A short error identifier, such as a platform error code or the name of the\nunderlying error class. Free text, limited to letters, digits, and the\ncharacters `_ . : -`. Anything longer or containing other characters is\nreturned as `null`.\n","pattern":"^[a-zA-Z0-9_.:-]{1,128}$","maxLength":128,"x-common-values":["internal_error","unknown_error","app_error","execution_error","llm_error","provider_error","channel_send_failed","channel_send_exception","channel_adapter_unavailable","webhook_delivery_failed","webhook_client_error","websocket_not_open","voice_setup_error","tts_delivery_failure"],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.error.oneOf.0.type.oneOf.0","typeLabel":"string"},{"type":"null","description":"A short error identifier, such as a platform error code or the name of the\nunderlying error class. Free text, limited to letters, digits, and the\ncharacters `_ . : -`. Anything longer or containing other characters is\nreturned as `null`.\n","pattern":"^[a-zA-Z0-9_.:-]{1,128}$","maxLength":128,"x-common-values":["internal_error","unknown_error","app_error","execution_error","llm_error","provider_error","channel_send_failed","channel_send_exception","channel_adapter_unavailable","webhook_delivery_failed","webhook_client_error","websocket_not_open","voice_setup_error","tts_delivery_failure"],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.error.oneOf.0.type.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.error.oneOf.0.type","typeLabel":"string | null"},"message":{"oneOf":[{"type":"string","description":"Currently redacted to null on the public surface.","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.error.oneOf.0.message.oneOf.0","typeLabel":"string"},{"type":"null","description":"Currently redacted to null on the public surface.","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.error.oneOf.0.message.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.error.oneOf.0.message","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.error.oneOf.0","typeLabel":"object"},{"type":"null","description":"Details of what went wrong. `code` is a stable machine-readable value; `message` is\nhuman-readable.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.error.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.error","typeLabel":"object | null"},"eventData":{"type":"object","additionalProperties":false,"required":["toolName","toolType","success","latencyMs","resultSizeBytes","executionSkipped","operationalFailure"],"properties":{"toolName":{"type":"string","description":"Name of the tool that was called.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventData.toolName","typeLabel":"string"},"toolType":{"oneOf":[{"type":"string","description":"What kind of tool was called — an HTTP endpoint, an MCP server, a workflow,\nand so on. The values below cover the built-in tool kinds; a custom tool can\nreport its own value.\n","x-common-values":["http","mcp","sandbox","lambda","connector","workflow","searchai","async_webhook","table"],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventData.toolType.oneOf.0","typeLabel":"string"},{"type":"null","description":"What kind of tool was called — an HTTP endpoint, an MCP server, a workflow,\nand so on. The values below cover the built-in tool kinds; a custom tool can\nreport its own value.\n","x-common-values":["http","mcp","sandbox","lambda","connector","workflow","searchai","async_webhook","table"],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventData.toolType.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventData.toolType","typeLabel":"string | null"},"success":{"oneOf":[{"type":"boolean","description":"Always false on an error response.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventData.success.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Always false on an error response.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventData.success.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventData.success","typeLabel":"boolean | null"},"latencyMs":{"oneOf":[{"type":"integer","minimum":0,"description":"How long the tool call took, in milliseconds.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventData.latencyMs.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"How long the tool call took, in milliseconds.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventData.latencyMs.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventData.latencyMs","typeLabel":"integer | null"},"resultSizeBytes":{"oneOf":[{"type":"integer","minimum":0,"description":"Size of what the tool returned, in bytes.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventData.resultSizeBytes.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Size of what the tool returned, in bytes.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventData.resultSizeBytes.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventData.resultSizeBytes","typeLabel":"integer | null"},"executionSkipped":{"oneOf":[{"type":"boolean","description":"True when the tool was chosen but not actually run — for example when a guard\nblocked it.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventData.executionSkipped.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"True when the tool was chosen but not actually run — for example when a guard\nblocked it.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventData.executionSkipped.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventData.executionSkipped","typeLabel":"boolean | null"},"operationalFailure":{"oneOf":[{"type":"boolean","description":"True when the tool failed for an infrastructure reason, such as a timeout, rather\nthan returning a normal error.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventData.operationalFailure.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"True when the tool failed for an infrastructure reason, such as a timeout, rather\nthan returning a normal error.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventData.operationalFailure.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventData.operationalFailure","typeLabel":"boolean | null"},"payloadData":{"type":"object","additionalProperties":false,"description":"The full content of the event, returned only when `dataMode=full`. LLM calls use\n`request` and `response`; tool calls and decisions use `input`, `output`, and\n`details`.\n","properties":{"request":{"description":"Complete sanitized LLM request payload","uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventData.payloadData.request","typeLabel":"any"},"response":{"description":"Complete sanitized LLM response payload","uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventData.payloadData.response","typeLabel":"any"},"input":{"description":"Complete sanitized event input","uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventData.payloadData.input","typeLabel":"any"},"output":{"description":"Complete sanitized event output","uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventData.payloadData.output","typeLabel":"any"},"details":{"type":"object","additionalProperties":true,"description":"Remaining sanitized event-specific fields.","uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventData.payloadData.details","typeLabel":"object"}},"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventData.payloadData","typeLabel":"object"}},"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1.eventData","typeLabel":"object"}},"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["eventId","eventSeq","eventCursor","payloadVersion","eventType","eventName","timestamp","ingestedAt","spanId","reasonCode","operationType","agentExecutionPolicySource","responseContribution","actor","durationMs","hasError","isFailure","error","eventData"],"properties":{"eventId":{"type":"string","description":"Identifier of this event. Pass it to the `eventId` filter to fetch just this one.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.eventId","typeLabel":"string"},"eventSeq":{"oneOf":[{"type":"integer","minimum":0,"description":"Position of this event in the run, used to keep events in order.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.eventSeq.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Position of this event in the run, used to keep events in order.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.eventSeq.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.eventSeq","typeLabel":"integer | null"},"eventCursor":{"oneOf":[{"type":"string","description":"Paging marker for this event. Not usually needed — use `pageInfo.nextCursor`\ninstead.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.eventCursor.oneOf.0","typeLabel":"string"},{"type":"null","description":"Paging marker for this event. Not usually needed — use `pageInfo.nextCursor`\ninstead.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.eventCursor.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.eventCursor","typeLabel":"string | null"},"payloadVersion":{"oneOf":[{"type":"integer","minimum":0,"description":"Internal version of the event format. Useful only when comparing old and new\nrecords.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.payloadVersion.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Internal version of the event format. Useful only when comparing old and new\nrecords.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.payloadVersion.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.payloadVersion","typeLabel":"integer | null"},"eventType":{"type":"string","description":"Category of event.\n","enum":["llm","tool","decision","error"],"const":"decision","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.eventType","typeLabel":"enum\u003cstring>"},"eventName":{"type":"string","description":"The specific event that was recorded.\n","enum":["llm.call.completed","llm.call.failed","tool.call.completed","tool.call.failed","tool.call.skipped","agent.decision"],"const":"agent.decision","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.eventName","typeLabel":"enum\u003cstring>"},"timestamp":{"type":"string","format":"date-time","description":"When the event happened.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.timestamp","typeLabel":"string\u003cdate-time>"},"ingestedAt":{"oneOf":[{"type":"string","format":"date-time","description":"When the platform stored the event. Slightly later than `timestamp`.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.ingestedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When the platform stored the event. Slightly later than `timestamp`.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.ingestedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.ingestedAt","typeLabel":"string\u003cdate-time> | null"},"spanId":{"oneOf":[{"type":"string","description":"Identifier for this step within the trace, for lining events up with external\ntracing tools.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.spanId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Identifier for this step within the trace, for lining events up with external\ntracing tools.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.spanId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.spanId","typeLabel":"string | null"},"reasonCode":{"oneOf":[{"type":"string","description":"A short code explaining why the event happened or what it resulted in, for\nexample the reason a decision was taken or a call failed. Not restricted to\na fixed list — each part of the platform sets its own codes, and for some\nevent kinds this falls back to the event name itself. `null` when the event\nrecords no reason.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.reasonCode.oneOf.0","typeLabel":"string"},{"type":"null","description":"A short code explaining why the event happened or what it resulted in, for\nexample the reason a decision was taken or a call failed. Not restricted to\na fixed list — each part of the platform sets its own codes, and for some\nevent kinds this falls back to the event name itself. `null` when the event\nrecords no reason.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.reasonCode.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.reasonCode","typeLabel":"string | null"},"operationType":{"oneOf":[{"type":"string","description":"What the LLM call was being used for. For agent responses this is normally\n`response_gen` (generating a reply) or `coordination` (deciding where to\nroute). Other parts of the platform — guardrails, pipelines, Arch, SearchAI,\nand Studio test calls — set their own values, so this is not restricted to a\nfixed list. The values below are the most common.\n","x-common-values":["response_gen","coordination","extraction","validation","tool_selection","reasoning"],"x-other-producer-values":["chat_complete","guardrail_evaluation","realtime_response","pipeline_classify","pipeline_generate_text","pipeline_generate_object","route_selection","response_synthesis"],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.operationType.oneOf.0","typeLabel":"string"},{"type":"null","description":"What the LLM call was being used for. For agent responses this is normally\n`response_gen` (generating a reply) or `coordination` (deciding where to\nroute). Other parts of the platform — guardrails, pipelines, Arch, SearchAI,\nand Studio test calls — set their own values, so this is not restricted to a\nfixed list. The values below are the most common.\n","x-common-values":["response_gen","coordination","extraction","validation","tool_selection","reasoning"],"x-other-producer-values":["chat_complete","guardrail_evaluation","realtime_response","pipeline_classify","pipeline_generate_text","pipeline_generate_object","route_selection","response_synthesis"],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.operationType.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.operationType","typeLabel":"string | null"},"agentExecutionPolicySource":{"oneOf":[{"type":"string","description":"How the platform worked out what role the agent was playing. `explicit`\nmeans the agent declares its role directly, which is the current approach.\nThe three `legacy_` values mean the role had to be inferred from an older\nagent definition. Always one of these four values, or `null` when the event\nis not an agent LLM call.\n","enum":["explicit","legacy_agent","legacy_supervisor_flag","legacy_compiled_route_only",null],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.agentExecutionPolicySource.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"How the platform worked out what role the agent was playing. `explicit`\nmeans the agent declares its role directly, which is the current approach.\nThe three `legacy_` values mean the role had to be inferred from an older\nagent definition. Always one of these four values, or `null` when the event\nis not an agent LLM call.\n","enum":["explicit","legacy_agent","legacy_supervisor_flag","legacy_compiled_route_only",null],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.agentExecutionPolicySource.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.agentExecutionPolicySource","typeLabel":"enum\u003cstring> | null"},"responseContribution":{"oneOf":[{"type":"string","description":"Whether this event's output reached the end user. `customer_visible` means\nit formed part of the reply; `internal_only` means it was used behind the\nscenes. Not restricted to a fixed list, though the values below are the ones\nthe platform currently sets.\n","x-common-values":["internal_only","customer_visible","customer_visible_candidate","customer_visible_interim","none","simulated"],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.responseContribution.oneOf.0","typeLabel":"string"},{"type":"null","description":"Whether this event's output reached the end user. `customer_visible` means\nit formed part of the reply; `internal_only` means it was used behind the\nscenes. Not restricted to a fixed list, though the values below are the ones\nthe platform currently sets.\n","x-common-values":["internal_only","customer_visible","customer_visible_candidate","customer_visible_interim","none","simulated"],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.responseContribution.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.responseContribution","typeLabel":"string | null"},"actor":{"oneOf":[{"type":"object","description":"Who or what triggered the event. Null when not recorded.","required":["actorId","actorType","contactId"],"properties":{"actorId":{"oneOf":[{"type":"string","description":"Identifier of the user, contact, or agent that triggered the event.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.actor.oneOf.0.actorId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Identifier of the user, contact, or agent that triggered the event.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.actor.oneOf.0.actorId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.actor.oneOf.0.actorId","typeLabel":"string | null"},"actorType":{"oneOf":[{"type":"string","description":"Who or what triggered the event: `user` or `contact` for a person, `agent`\nfor an AI agent, `system` for the platform itself. Anything else is returned\nas `null`.\n","enum":["user","contact","system","agent",null],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.actor.oneOf.0.actorType.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Who or what triggered the event: `user` or `contact` for a person, `agent`\nfor an AI agent, `system` for the platform itself. Anything else is returned\nas `null`.\n","enum":["user","contact","system","agent",null],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.actor.oneOf.0.actorType.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.actor.oneOf.0.actorType","typeLabel":"enum\u003cstring> | null"},"contactId":{"oneOf":[{"type":"string","description":"The contact record associated with the event, when the actor is a known person.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.actor.oneOf.0.contactId.oneOf.0","typeLabel":"string"},{"type":"null","description":"The contact record associated with the event, when the actor is a known person.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.actor.oneOf.0.contactId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.actor.oneOf.0.contactId","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.actor.oneOf.0","typeLabel":"object"},{"type":"null","description":"Who or what triggered the event. Null when not recorded.","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.actor.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.actor","typeLabel":"object | null"},"durationMs":{"oneOf":[{"type":"integer","minimum":0,"description":"How long the step took, in milliseconds.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.durationMs.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"How long the step took, in milliseconds.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.durationMs.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.durationMs","typeLabel":"integer | null"},"hasError":{"type":"boolean","description":"Whether this event was recorded with an error flag.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.hasError","typeLabel":"boolean"},"isFailure":{"type":"boolean","description":"Whether this event counts as a failure under the platform failure rule. This is the\nrule behind a session's `errorCount`: handled errors, superseded LLM retry attempts\nand warnings are not failures. For the event names this endpoint returns,\n`isFailure` equals `hasError`.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.isFailure","typeLabel":"boolean"},"error":{"oneOf":[{"type":"object","description":"Details of what went wrong. `code` is a stable machine-readable value; `message` is\nhuman-readable.\n","required":["type","message"],"properties":{"type":{"oneOf":[{"type":"string","description":"A short error identifier, such as a platform error code or the name of the\nunderlying error class. Free text, limited to letters, digits, and the\ncharacters `_ . : -`. Anything longer or containing other characters is\nreturned as `null`.\n","pattern":"^[a-zA-Z0-9_.:-]{1,128}$","maxLength":128,"x-common-values":["internal_error","unknown_error","app_error","execution_error","llm_error","provider_error","channel_send_failed","channel_send_exception","channel_adapter_unavailable","webhook_delivery_failed","webhook_client_error","websocket_not_open","voice_setup_error","tts_delivery_failure"],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.error.oneOf.0.type.oneOf.0","typeLabel":"string"},{"type":"null","description":"A short error identifier, such as a platform error code or the name of the\nunderlying error class. Free text, limited to letters, digits, and the\ncharacters `_ . : -`. Anything longer or containing other characters is\nreturned as `null`.\n","pattern":"^[a-zA-Z0-9_.:-]{1,128}$","maxLength":128,"x-common-values":["internal_error","unknown_error","app_error","execution_error","llm_error","provider_error","channel_send_failed","channel_send_exception","channel_adapter_unavailable","webhook_delivery_failed","webhook_client_error","websocket_not_open","voice_setup_error","tts_delivery_failure"],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.error.oneOf.0.type.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.error.oneOf.0.type","typeLabel":"string | null"},"message":{"oneOf":[{"type":"string","description":"Currently redacted to null on the public surface.","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.error.oneOf.0.message.oneOf.0","typeLabel":"string"},{"type":"null","description":"Currently redacted to null on the public surface.","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.error.oneOf.0.message.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.error.oneOf.0.message","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.error.oneOf.0","typeLabel":"object"},{"type":"null","description":"Details of what went wrong. `code` is a stable machine-readable value; `message` is\nhuman-readable.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.error.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.error","typeLabel":"object | null"},"eventData":{"type":"object","additionalProperties":false,"required":["decisionKind","decision","outcome","matched","reasoning"],"properties":{"decisionKind":{"type":"string","description":"The kind of decision the agent made, for example `routing` or `escalation`.\nNot restricted to a fixed list, since new decision kinds can be added at any\ntime. Returned as `unknown` when the event does not record one.\n","x-common-values":["routing","handoff","escalation","completion","retry","backtrack","stop","pause","resume","reopen","waive","save_eval_suite","promote_candidate_to_eval_suite","promote_generated_project_lifecycle","unknown"],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.eventData.decisionKind","typeLabel":"string"},"decision":{"oneOf":[{"type":"string","description":"What the agent decided, such as the agent it routed to. Free text, and not\nalways present.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.eventData.decision.oneOf.0","typeLabel":"string"},{"type":"null","description":"What the agent decided, such as the agent it routed to. Free text, and not\nalways present.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.eventData.decision.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.eventData.decision","typeLabel":"string | null"},"outcome":{"oneOf":[{"type":"string","description":"The agent's stated reasoning. Always `null` in `summary` mode; look in\n`payloadData.details` when using `dataMode=full`.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.eventData.outcome.oneOf.0","typeLabel":"string"},{"type":"null","description":"The agent's stated reasoning. Always `null` in `summary` mode; look in\n`payloadData.details` when using `dataMode=full`.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.eventData.outcome.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.eventData.outcome","typeLabel":"string | null"},"matched":{"oneOf":[{"type":"boolean","description":"Whether the decision matched a configured rule.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.eventData.matched.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Whether the decision matched a configured rule.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.eventData.matched.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.eventData.matched","typeLabel":"boolean | null"},"reasoning":{"oneOf":[{"type":"string","description":"Summary mode currently returns null; detailed reasoning may be in full-mode payload details.","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.eventData.reasoning.oneOf.0","typeLabel":"string"},{"type":"null","description":"Summary mode currently returns null; detailed reasoning may be in full-mode payload details.","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.eventData.reasoning.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.eventData.reasoning","typeLabel":"string | null"},"payloadData":{"type":"object","additionalProperties":false,"description":"The full content of the event, returned only when `dataMode=full`. LLM calls use\n`request` and `response`; tool calls and decisions use `input`, `output`, and\n`details`.\n","properties":{"request":{"description":"Complete sanitized LLM request payload","uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.eventData.payloadData.request","typeLabel":"any"},"response":{"description":"Complete sanitized LLM response payload","uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.eventData.payloadData.response","typeLabel":"any"},"input":{"description":"Complete sanitized event input","uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.eventData.payloadData.input","typeLabel":"any"},"output":{"description":"Complete sanitized event output","uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.eventData.payloadData.output","typeLabel":"any"},"details":{"type":"object","additionalProperties":true,"description":"Remaining sanitized event-specific fields.","uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.eventData.payloadData.details","typeLabel":"object"}},"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.eventData.payloadData","typeLabel":"object"}},"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2.eventData","typeLabel":"object"}},"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.2","typeLabel":"object"},{"type":"object","required":["eventId","eventSeq","eventCursor","payloadVersion","eventType","eventName","timestamp","ingestedAt","spanId","reasonCode","operationType","agentExecutionPolicySource","responseContribution","actor","durationMs","hasError","isFailure","error","eventData"],"properties":{"eventId":{"type":"string","description":"Identifier of this event. Pass it to the `eventId` filter to fetch just this one.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.eventId","typeLabel":"string"},"eventSeq":{"oneOf":[{"type":"integer","minimum":0,"description":"Position of this event in the run, used to keep events in order.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.eventSeq.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Position of this event in the run, used to keep events in order.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.eventSeq.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.eventSeq","typeLabel":"integer | null"},"eventCursor":{"oneOf":[{"type":"string","description":"Paging marker for this event. Not usually needed — use `pageInfo.nextCursor`\ninstead.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.eventCursor.oneOf.0","typeLabel":"string"},{"type":"null","description":"Paging marker for this event. Not usually needed — use `pageInfo.nextCursor`\ninstead.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.eventCursor.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.eventCursor","typeLabel":"string | null"},"payloadVersion":{"oneOf":[{"type":"integer","minimum":0,"description":"Internal version of the event format. Useful only when comparing old and new\nrecords.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.payloadVersion.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"Internal version of the event format. Useful only when comparing old and new\nrecords.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.payloadVersion.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.payloadVersion","typeLabel":"integer | null"},"eventType":{"type":"string","description":"Category of event.\n","enum":["llm","tool","decision","error"],"const":"error","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.eventType","typeLabel":"enum\u003cstring>"},"eventName":{"type":"string","description":"The specific event that was recorded.\n","enum":["llm.call.failed","tool.call.failed"],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.eventName","typeLabel":"enum\u003cstring>"},"timestamp":{"type":"string","format":"date-time","description":"When the event happened.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.timestamp","typeLabel":"string\u003cdate-time>"},"ingestedAt":{"oneOf":[{"type":"string","format":"date-time","description":"When the platform stored the event. Slightly later than `timestamp`.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.ingestedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When the platform stored the event. Slightly later than `timestamp`.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.ingestedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.ingestedAt","typeLabel":"string\u003cdate-time> | null"},"spanId":{"oneOf":[{"type":"string","description":"Identifier for this step within the trace, for lining events up with external\ntracing tools.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.spanId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Identifier for this step within the trace, for lining events up with external\ntracing tools.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.spanId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.spanId","typeLabel":"string | null"},"reasonCode":{"oneOf":[{"type":"string","description":"A short code explaining why the event happened or what it resulted in, for\nexample the reason a decision was taken or a call failed. Not restricted to\na fixed list — each part of the platform sets its own codes, and for some\nevent kinds this falls back to the event name itself. `null` when the event\nrecords no reason.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.reasonCode.oneOf.0","typeLabel":"string"},{"type":"null","description":"A short code explaining why the event happened or what it resulted in, for\nexample the reason a decision was taken or a call failed. Not restricted to\na fixed list — each part of the platform sets its own codes, and for some\nevent kinds this falls back to the event name itself. `null` when the event\nrecords no reason.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.reasonCode.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.reasonCode","typeLabel":"string | null"},"operationType":{"oneOf":[{"type":"string","description":"What the LLM call was being used for. For agent responses this is normally\n`response_gen` (generating a reply) or `coordination` (deciding where to\nroute). Other parts of the platform — guardrails, pipelines, Arch, SearchAI,\nand Studio test calls — set their own values, so this is not restricted to a\nfixed list. The values below are the most common.\n","x-common-values":["response_gen","coordination","extraction","validation","tool_selection","reasoning"],"x-other-producer-values":["chat_complete","guardrail_evaluation","realtime_response","pipeline_classify","pipeline_generate_text","pipeline_generate_object","route_selection","response_synthesis"],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.operationType.oneOf.0","typeLabel":"string"},{"type":"null","description":"What the LLM call was being used for. For agent responses this is normally\n`response_gen` (generating a reply) or `coordination` (deciding where to\nroute). Other parts of the platform — guardrails, pipelines, Arch, SearchAI,\nand Studio test calls — set their own values, so this is not restricted to a\nfixed list. The values below are the most common.\n","x-common-values":["response_gen","coordination","extraction","validation","tool_selection","reasoning"],"x-other-producer-values":["chat_complete","guardrail_evaluation","realtime_response","pipeline_classify","pipeline_generate_text","pipeline_generate_object","route_selection","response_synthesis"],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.operationType.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.operationType","typeLabel":"string | null"},"agentExecutionPolicySource":{"oneOf":[{"type":"string","description":"How the platform worked out what role the agent was playing. `explicit`\nmeans the agent declares its role directly, which is the current approach.\nThe three `legacy_` values mean the role had to be inferred from an older\nagent definition. Always one of these four values, or `null` when the event\nis not an agent LLM call.\n","enum":["explicit","legacy_agent","legacy_supervisor_flag","legacy_compiled_route_only",null],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.agentExecutionPolicySource.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"How the platform worked out what role the agent was playing. `explicit`\nmeans the agent declares its role directly, which is the current approach.\nThe three `legacy_` values mean the role had to be inferred from an older\nagent definition. Always one of these four values, or `null` when the event\nis not an agent LLM call.\n","enum":["explicit","legacy_agent","legacy_supervisor_flag","legacy_compiled_route_only",null],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.agentExecutionPolicySource.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.agentExecutionPolicySource","typeLabel":"enum\u003cstring> | null"},"responseContribution":{"oneOf":[{"type":"string","description":"Whether this event's output reached the end user. `customer_visible` means\nit formed part of the reply; `internal_only` means it was used behind the\nscenes. Not restricted to a fixed list, though the values below are the ones\nthe platform currently sets.\n","x-common-values":["internal_only","customer_visible","customer_visible_candidate","customer_visible_interim","none","simulated"],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.responseContribution.oneOf.0","typeLabel":"string"},{"type":"null","description":"Whether this event's output reached the end user. `customer_visible` means\nit formed part of the reply; `internal_only` means it was used behind the\nscenes. Not restricted to a fixed list, though the values below are the ones\nthe platform currently sets.\n","x-common-values":["internal_only","customer_visible","customer_visible_candidate","customer_visible_interim","none","simulated"],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.responseContribution.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.responseContribution","typeLabel":"string | null"},"actor":{"oneOf":[{"type":"object","description":"Who or what triggered the event. Null when not recorded.","required":["actorId","actorType","contactId"],"properties":{"actorId":{"oneOf":[{"type":"string","description":"Identifier of the user, contact, or agent that triggered the event.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.actor.oneOf.0.actorId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Identifier of the user, contact, or agent that triggered the event.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.actor.oneOf.0.actorId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.actor.oneOf.0.actorId","typeLabel":"string | null"},"actorType":{"oneOf":[{"type":"string","description":"Who or what triggered the event: `user` or `contact` for a person, `agent`\nfor an AI agent, `system` for the platform itself. Anything else is returned\nas `null`.\n","enum":["user","contact","system","agent",null],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.actor.oneOf.0.actorType.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Who or what triggered the event: `user` or `contact` for a person, `agent`\nfor an AI agent, `system` for the platform itself. Anything else is returned\nas `null`.\n","enum":["user","contact","system","agent",null],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.actor.oneOf.0.actorType.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.actor.oneOf.0.actorType","typeLabel":"enum\u003cstring> | null"},"contactId":{"oneOf":[{"type":"string","description":"The contact record associated with the event, when the actor is a known person.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.actor.oneOf.0.contactId.oneOf.0","typeLabel":"string"},{"type":"null","description":"The contact record associated with the event, when the actor is a known person.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.actor.oneOf.0.contactId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.actor.oneOf.0.contactId","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.actor.oneOf.0","typeLabel":"object"},{"type":"null","description":"Who or what triggered the event. Null when not recorded.","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.actor.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.actor","typeLabel":"object | null"},"durationMs":{"oneOf":[{"type":"integer","minimum":0,"description":"How long the step took, in milliseconds.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.durationMs.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":0,"description":"How long the step took, in milliseconds.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.durationMs.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.durationMs","typeLabel":"integer | null"},"hasError":{"type":"boolean","description":"Whether this event was recorded with an error flag.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.hasError","typeLabel":"boolean"},"isFailure":{"type":"boolean","description":"Whether this event counts as a failure under the platform failure rule. This is the\nrule behind a session's `errorCount`: handled errors, superseded LLM retry attempts\nand warnings are not failures. For the event names this endpoint returns,\n`isFailure` equals `hasError`.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.isFailure","typeLabel":"boolean"},"error":{"oneOf":[{"type":"object","description":"Details of what went wrong. `code` is a stable machine-readable value; `message` is\nhuman-readable.\n","required":["type","message"],"properties":{"type":{"oneOf":[{"type":"string","description":"A short error identifier, such as a platform error code or the name of the\nunderlying error class. Free text, limited to letters, digits, and the\ncharacters `_ . : -`. Anything longer or containing other characters is\nreturned as `null`.\n","pattern":"^[a-zA-Z0-9_.:-]{1,128}$","maxLength":128,"x-common-values":["internal_error","unknown_error","app_error","execution_error","llm_error","provider_error","channel_send_failed","channel_send_exception","channel_adapter_unavailable","webhook_delivery_failed","webhook_client_error","websocket_not_open","voice_setup_error","tts_delivery_failure"],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.error.oneOf.0.type.oneOf.0","typeLabel":"string"},{"type":"null","description":"A short error identifier, such as a platform error code or the name of the\nunderlying error class. Free text, limited to letters, digits, and the\ncharacters `_ . : -`. Anything longer or containing other characters is\nreturned as `null`.\n","pattern":"^[a-zA-Z0-9_.:-]{1,128}$","maxLength":128,"x-common-values":["internal_error","unknown_error","app_error","execution_error","llm_error","provider_error","channel_send_failed","channel_send_exception","channel_adapter_unavailable","webhook_delivery_failed","webhook_client_error","websocket_not_open","voice_setup_error","tts_delivery_failure"],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.error.oneOf.0.type.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.error.oneOf.0.type","typeLabel":"string | null"},"message":{"oneOf":[{"type":"string","description":"Currently redacted to null on the public surface.","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.error.oneOf.0.message.oneOf.0","typeLabel":"string"},{"type":"null","description":"Currently redacted to null on the public surface.","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.error.oneOf.0.message.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.error.oneOf.0.message","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.error.oneOf.0","typeLabel":"object"},{"type":"null","description":"Details of what went wrong. `code` is a stable machine-readable value; `message` is\nhuman-readable.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.error.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.error","typeLabel":"object | null"},"eventData":{"type":"object","additionalProperties":false,"properties":{"payloadData":{"type":"object","additionalProperties":false,"description":"The full content of the event, returned only when `dataMode=full`. LLM calls use\n`request` and `response`; tool calls and decisions use `input`, `output`, and\n`details`.\n","properties":{"request":{"description":"Complete sanitized LLM request payload","uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.eventData.payloadData.request","typeLabel":"any"},"response":{"description":"Complete sanitized LLM response payload","uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.eventData.payloadData.response","typeLabel":"any"},"input":{"description":"Complete sanitized event input","uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.eventData.payloadData.input","typeLabel":"any"},"output":{"description":"Complete sanitized event output","uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.eventData.payloadData.output","typeLabel":"any"},"details":{"type":"object","additionalProperties":true,"description":"Remaining sanitized event-specific fields.","uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.eventData.payloadData.details","typeLabel":"object"}},"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.eventData.payloadData","typeLabel":"object"}},"isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3.eventData","typeLabel":"object"}},"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX].oneOf.3","typeLabel":"object"}],"uniqueKey":"oneOf.0.traces.items.[INDEX].events.items.[INDEX]","typeLabel":"object"},"description":"The events in this trace that fall on the current page. A long trace can continue on\nthe next page.\n","isRequired":true,"uniqueKey":"oneOf.0.traces.items.[INDEX].events","typeLabel":"object[]"}},"uniqueKey":"oneOf.0.traces.items.[INDEX]","typeLabel":"object"},"description":"The traces on this page. One trace groups the events from a single run.\n","isRequired":true,"uniqueKey":"oneOf.0.traces","typeLabel":"object[]"},"pageInfo":{"type":"object","additionalProperties":false,"required":["hasMore","nextCursor"],"properties":{"hasMore":{"type":"boolean","description":"Whether more pages are available after this one.\n","isRequired":true,"uniqueKey":"oneOf.0.pageInfo.hasMore","typeLabel":"boolean"},"nextCursor":{"oneOf":[{"type":"string","description":"Pass this back as `cursor` to fetch the next page. Null on the last page.\n","isRequired":true,"uniqueKey":"oneOf.0.pageInfo.nextCursor.oneOf.0","typeLabel":"string"},{"type":"null","description":"Pass this back as `cursor` to fetch the next page. Null on the last page.\n","isRequired":true,"uniqueKey":"oneOf.0.pageInfo.nextCursor.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.pageInfo.nextCursor","typeLabel":"string | null"}},"description":"Paging information for this response.\n","isRequired":true,"uniqueKey":"oneOf.0.pageInfo","typeLabel":"object"},"meta":{"type":"object","additionalProperties":false,"required":["fromDate","toDate","dataMode","sortOrder","supportedEventTypes","supportedEventNames","unsupportedEventNamesRequested"],"properties":{"fromDate":{"type":"string","format":"date-time","description":"The start of the range applied to this response.\n","isRequired":true,"uniqueKey":"oneOf.0.meta.fromDate","typeLabel":"string\u003cdate-time>"},"toDate":{"type":"string","format":"date-time","description":"The end of the range applied to this response.\n","isRequired":true,"uniqueKey":"oneOf.0.meta.toDate","typeLabel":"string\u003cdate-time>"},"dataMode":{"type":"string","enum":["summary","full"],"description":"The detail level applied to this response.\n","isRequired":true,"uniqueKey":"oneOf.0.meta.dataMode","typeLabel":"enum\u003cstring>"},"sortOrder":{"type":"string","enum":["asc","desc"],"description":"The sort order applied to this response.\n","isRequired":true,"uniqueKey":"oneOf.0.meta.sortOrder","typeLabel":"enum\u003cstring>"},"supportedEventTypes":{"type":"array","items":{"type":"string","enum":["llm","tool","decision","error"],"uniqueKey":"oneOf.0.meta.supportedEventTypes.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Every event category this API can return.\n","isRequired":true,"uniqueKey":"oneOf.0.meta.supportedEventTypes","typeLabel":"enum\u003cstring>[]"},"supportedEventNames":{"type":"array","description":"The complete set of event names this API can select.","items":{"type":"string","enum":["llm.call.completed","llm.call.failed","tool.call.completed","tool.call.failed","tool.call.skipped","agent.decision"],"uniqueKey":"oneOf.0.meta.supportedEventNames.items.[INDEX]","typeLabel":"enum\u003cstring>"},"isRequired":true,"uniqueKey":"oneOf.0.meta.supportedEventNames","typeLabel":"enum\u003cstring>[]"},"unsupportedEventNamesRequested":{"type":"array","description":"Any `eventNames` values you sent that this API does not support. They were\nignored rather than rejected. Use this to spot typos when a query returns\nfewer results than expected.\n","items":{"type":"string","uniqueKey":"oneOf.0.meta.unsupportedEventNamesRequested.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"oneOf.0.meta.unsupportedEventNamesRequested","typeLabel":"string[]"}},"description":"Echo of the query that produced this response, plus the values this API supports.\n","isRequired":true,"uniqueKey":"oneOf.0.meta","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","description":"Response body for a Platform Key with response encryption on (signalled by the\n`X-ABL-Encrypted: true` header): a JWE in flattened JSON serialization. The\ndecrypted plaintext is the JSON body documented for that status code.\n","required":["protected","encrypted_key","iv","ciphertext","tag"],"properties":{"protected":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"base64url of the protected header. Decodes to `ResponseProtectedHeader`.","isRequired":true,"uniqueKey":"oneOf.1.protected","typeLabel":"string"},"encrypted_key":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"The per-response AES-256 key, wrapped with the customer's RSA public key using RSA-OAEP-256.","isRequired":true,"uniqueKey":"oneOf.1.encrypted_key","typeLabel":"string"},"iv":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"base64url of the 12-byte AES-GCM IV (fresh per response).","isRequired":true,"uniqueKey":"oneOf.1.iv","typeLabel":"string"},"ciphertext":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"base64url of the AES-256-GCM ciphertext.","isRequired":true,"uniqueKey":"oneOf.1.ciphertext","typeLabel":"string"},"tag":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"base64url of the 16-byte AES-GCM authentication tag.","isRequired":true,"uniqueKey":"oneOf.1.tag","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"summary":{"title":"summary","value":{"traces":[{"traceId":"trace-123","sessionId":"sess-123","environment":"production","channel":"web_chat","agentName":"Support Agent","deploymentId":"deploy-123","events":[{"eventId":"evt-123","eventSeq":7,"eventCursor":"cursor-7","payloadVersion":1,"eventType":"llm","eventName":"llm.call.completed","timestamp":"2026-08-05T14:30:00.000Z","ingestedAt":"2026-08-05T14:30:00.050Z","spanId":"span-123","reasonCode":null,"operationType":"response_gen","agentExecutionPolicySource":"legacy_agent","responseContribution":"customer_visible","actor":{"actorId":"agent-123","actorType":"agent","contactId":null},"durationMs":842,"hasError":false,"isFailure":false,"error":null,"eventData":{"model":"gpt-5.2","provider":"openai","inputTokens":120,"outputTokens":35,"totalTokens":155,"reasoningTokens":5,"cachedTokens":20,"audioInputTokens":0,"audioOutputTokens":0,"estimatedCost":{"amount":0.0021,"currency":"USD"},"latencyMs":842,"streamingUsed":true,"toolCallCount":0,"timeToFirstTokenMs":180,"cacheCreationTokens":0,"finishReason":"stop","retryAttempt":0}}]}],"pageInfo":{"hasMore":false,"nextCursor":null},"meta":{"fromDate":"2026-08-05T00:00:00.000Z","toDate":"2026-08-06T00:00:00.000Z","dataMode":"summary","sortOrder":"asc","supportedEventTypes":["llm","tool","decision","error"],"supportedEventNames":["llm.call.completed","llm.call.failed","tool.call.completed","tool.call.failed","tool.call.skipped","agent.decision"],"unsupportedEventNamesRequested":[]}}},"full":{"title":"full","value":{"traces":[{"traceId":"trace-123","sessionId":"sess-123","environment":"production","channel":"web_chat","agentName":"Support Agent","deploymentId":"deploy-123","events":[{"eventId":"evt-123","eventSeq":7,"eventCursor":"cursor-7","payloadVersion":1,"eventType":"llm","eventName":"llm.call.completed","timestamp":"2026-08-05T14:30:00.000Z","ingestedAt":"2026-08-05T14:30:00.050Z","spanId":"span-123","reasonCode":null,"operationType":"response_gen","agentExecutionPolicySource":"legacy_agent","responseContribution":"customer_visible","actor":null,"durationMs":842,"hasError":false,"isFailure":false,"error":null,"eventData":{"model":"gpt-5.2","provider":"openai","inputTokens":120,"outputTokens":35,"totalTokens":155,"reasoningTokens":5,"cachedTokens":20,"audioInputTokens":0,"audioOutputTokens":0,"estimatedCost":{"amount":0.0021,"currency":"USD"},"latencyMs":842,"streamingUsed":true,"toolCallCount":0,"timeToFirstTokenMs":180,"cacheCreationTokens":0,"finishReason":"stop","retryAttempt":0,"payloadData":{"request":{"systemPrompt":"You are a support agent.","messages":[{"role":"user","content":"Hello"}],"tools":[],"model":"gpt-5.2","provider":"openai"},"response":{"schemaVersion":1,"kind":"llm_response","text":"How can I help?","usage":{"inputTokens":120,"outputTokens":35}}}}}]}],"pageInfo":{"hasMore":false,"nextCursor":null},"meta":{"fromDate":"2026-08-05T00:00:00.000Z","toDate":"2026-08-06T00:00:00.000Z","dataMode":"full","sortOrder":"asc","supportedEventTypes":["llm","tool","decision","error"],"supportedEventNames":["llm.call.completed","llm.call.failed","tool.call.completed","tool.call.failed","tool.call.skipped","agent.decision"],"unsupportedEventNamesRequested":[]}}}},"exampleType":"examples"}},"exampleType":"examples"},"5217df67-6ca8-4d80-82c0-b2fae2f88c47":{"description":"Invalid date range, filter, data mode, limit, sort order, boolean, or cursor.\n\nEncryption and POST-body errors also return 400: `ENCRYPTED_PAYLOAD_INVALID`\n(malformed, unexpected or undecryptable JWE, or a plain body for a\nrequest-encrypted key), `INVALID_REQUEST_BODY` (POST body is not a JSON object),\nand `INVALID_QUERY_PARAMETER` (unknown, null or nested POST body key, or a query\nstring on a POST).\n","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["error"],"properties":{"error":{"description":"Details of what went wrong. `code` is a stable machine-readable value; `message` is\nhuman-readable.\n","type":"object","required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"uniqueKey":"oneOf.0.error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"oneOf.0.error","typeLabel":"object"},"success":{"type":"boolean","const":false,"description":"Always false on an error response.\n","uniqueKey":"oneOf.0.success","typeLabel":"boolean"},"message":{"type":"string","description":"Present on some authorization denials in addition to `error.message`.","uniqueKey":"oneOf.0.message","typeLabel":"string"},"required":{"oneOf":[{"type":"string","description":"Permission(s) the caller was missing. Present on authorization denials.","uniqueKey":"oneOf.0.required.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.required.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Permission(s) the caller was missing. Present on authorization denials.","uniqueKey":"oneOf.0.required.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"oneOf.0.required","typeLabel":"string | string[]"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","description":"Response body for a Platform Key with response encryption on (signalled by the\n`X-ABL-Encrypted: true` header): a JWE in flattened JSON serialization. The\ndecrypted plaintext is the JSON body documented for that status code.\n","required":["protected","encrypted_key","iv","ciphertext","tag"],"properties":{"protected":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"base64url of the protected header. Decodes to `ResponseProtectedHeader`.","isRequired":true,"uniqueKey":"oneOf.1.protected","typeLabel":"string"},"encrypted_key":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"The per-response AES-256 key, wrapped with the customer's RSA public key using RSA-OAEP-256.","isRequired":true,"uniqueKey":"oneOf.1.encrypted_key","typeLabel":"string"},"iv":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"base64url of the 12-byte AES-GCM IV (fresh per response).","isRequired":true,"uniqueKey":"oneOf.1.iv","typeLabel":"string"},"ciphertext":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"base64url of the AES-256-GCM ciphertext.","isRequired":true,"uniqueKey":"oneOf.1.ciphertext","typeLabel":"string"},"tag":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"base64url of the 16-byte AES-GCM authentication tag.","isRequired":true,"uniqueKey":"oneOf.1.tag","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","details":{}},"success":false,"message":"\u003cstring>","required":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"6de37621-10be-4055-8b4e-b8139f44914c":{"description":"Missing or invalid `x-api-key`, or Authorization was supplied.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"description":"Details of what went wrong. `code` is a stable machine-readable value; `message` is\nhuman-readable.\n","type":"object","required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"uniqueKey":"error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"success":{"type":"boolean","const":false,"description":"Always false on an error response.\n","uniqueKey":"success","typeLabel":"boolean"},"message":{"type":"string","description":"Present on some authorization denials in addition to `error.message`.","uniqueKey":"message","typeLabel":"string"},"required":{"oneOf":[{"type":"string","description":"Permission(s) the caller was missing. Present on authorization denials.","uniqueKey":"required.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"required.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Permission(s) the caller was missing. Present on authorization denials.","uniqueKey":"required.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"required","typeLabel":"string | string[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","details":{}},"success":false,"message":"\u003cstring>","required":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"e46e7c39-a52c-498e-a573-c0259f0be5d7":{"description":"The key lacks `analytics:read`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["error"],"properties":{"error":{"description":"Details of what went wrong. `code` is a stable machine-readable value; `message` is\nhuman-readable.\n","type":"object","required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"uniqueKey":"oneOf.0.error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"oneOf.0.error","typeLabel":"object"},"success":{"type":"boolean","const":false,"description":"Always false on an error response.\n","uniqueKey":"oneOf.0.success","typeLabel":"boolean"},"message":{"type":"string","description":"Present on some authorization denials in addition to `error.message`.","uniqueKey":"oneOf.0.message","typeLabel":"string"},"required":{"oneOf":[{"type":"string","description":"Permission(s) the caller was missing. Present on authorization denials.","uniqueKey":"oneOf.0.required.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.required.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Permission(s) the caller was missing. Present on authorization denials.","uniqueKey":"oneOf.0.required.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"oneOf.0.required","typeLabel":"string | string[]"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","description":"Response body for a Platform Key with response encryption on (signalled by the\n`X-ABL-Encrypted: true` header): a JWE in flattened JSON serialization. The\ndecrypted plaintext is the JSON body documented for that status code.\n","required":["protected","encrypted_key","iv","ciphertext","tag"],"properties":{"protected":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"base64url of the protected header. Decodes to `ResponseProtectedHeader`.","isRequired":true,"uniqueKey":"oneOf.1.protected","typeLabel":"string"},"encrypted_key":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"The per-response AES-256 key, wrapped with the customer's RSA public key using RSA-OAEP-256.","isRequired":true,"uniqueKey":"oneOf.1.encrypted_key","typeLabel":"string"},"iv":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"base64url of the 12-byte AES-GCM IV (fresh per response).","isRequired":true,"uniqueKey":"oneOf.1.iv","typeLabel":"string"},"ciphertext":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"base64url of the AES-256-GCM ciphertext.","isRequired":true,"uniqueKey":"oneOf.1.ciphertext","typeLabel":"string"},"tag":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"base64url of the 16-byte AES-GCM authentication tag.","isRequired":true,"uniqueKey":"oneOf.1.tag","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","details":{}},"success":false,"message":"\u003cstring>","required":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"186765f0-cc32-42a1-89b2-a68c5a317b70":{"description":"Project not found or concealed because it is outside the key's scope.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["error"],"properties":{"error":{"description":"Details of what went wrong. `code` is a stable machine-readable value; `message` is\nhuman-readable.\n","type":"object","required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"uniqueKey":"oneOf.0.error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"oneOf.0.error","typeLabel":"object"},"success":{"type":"boolean","const":false,"description":"Always false on an error response.\n","uniqueKey":"oneOf.0.success","typeLabel":"boolean"},"message":{"type":"string","description":"Present on some authorization denials in addition to `error.message`.","uniqueKey":"oneOf.0.message","typeLabel":"string"},"required":{"oneOf":[{"type":"string","description":"Permission(s) the caller was missing. Present on authorization denials.","uniqueKey":"oneOf.0.required.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.required.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Permission(s) the caller was missing. Present on authorization denials.","uniqueKey":"oneOf.0.required.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"oneOf.0.required","typeLabel":"string | string[]"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","description":"Response body for a Platform Key with response encryption on (signalled by the\n`X-ABL-Encrypted: true` header): a JWE in flattened JSON serialization. The\ndecrypted plaintext is the JSON body documented for that status code.\n","required":["protected","encrypted_key","iv","ciphertext","tag"],"properties":{"protected":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"base64url of the protected header. Decodes to `ResponseProtectedHeader`.","isRequired":true,"uniqueKey":"oneOf.1.protected","typeLabel":"string"},"encrypted_key":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"The per-response AES-256 key, wrapped with the customer's RSA public key using RSA-OAEP-256.","isRequired":true,"uniqueKey":"oneOf.1.encrypted_key","typeLabel":"string"},"iv":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"base64url of the 12-byte AES-GCM IV (fresh per response).","isRequired":true,"uniqueKey":"oneOf.1.iv","typeLabel":"string"},"ciphertext":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"base64url of the AES-256-GCM ciphertext.","isRequired":true,"uniqueKey":"oneOf.1.ciphertext","typeLabel":"string"},"tag":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"base64url of the 16-byte AES-GCM authentication tag.","isRequired":true,"uniqueKey":"oneOf.1.tag","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","details":{}},"success":false,"message":"\u003cstring>","required":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"396adf4c-e939-479d-8ef1-12dc0557bc17":{"description":"One full-mode event exceeds the 1 MiB response budget.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["error"],"properties":{"error":{"description":"Details of what went wrong. `code` is a stable machine-readable value; `message` is\nhuman-readable.\n","type":"object","required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"uniqueKey":"oneOf.0.error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"oneOf.0.error","typeLabel":"object"},"success":{"type":"boolean","const":false,"description":"Always false on an error response.\n","uniqueKey":"oneOf.0.success","typeLabel":"boolean"},"message":{"type":"string","description":"Present on some authorization denials in addition to `error.message`.","uniqueKey":"oneOf.0.message","typeLabel":"string"},"required":{"oneOf":[{"type":"string","description":"Permission(s) the caller was missing. Present on authorization denials.","uniqueKey":"oneOf.0.required.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.required.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Permission(s) the caller was missing. Present on authorization denials.","uniqueKey":"oneOf.0.required.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"oneOf.0.required","typeLabel":"string | string[]"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","description":"Response body for a Platform Key with response encryption on (signalled by the\n`X-ABL-Encrypted: true` header): a JWE in flattened JSON serialization. The\ndecrypted plaintext is the JSON body documented for that status code.\n","required":["protected","encrypted_key","iv","ciphertext","tag"],"properties":{"protected":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"base64url of the protected header. Decodes to `ResponseProtectedHeader`.","isRequired":true,"uniqueKey":"oneOf.1.protected","typeLabel":"string"},"encrypted_key":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"The per-response AES-256 key, wrapped with the customer's RSA public key using RSA-OAEP-256.","isRequired":true,"uniqueKey":"oneOf.1.encrypted_key","typeLabel":"string"},"iv":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"base64url of the 12-byte AES-GCM IV (fresh per response).","isRequired":true,"uniqueKey":"oneOf.1.iv","typeLabel":"string"},"ciphertext":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"base64url of the AES-256-GCM ciphertext.","isRequired":true,"uniqueKey":"oneOf.1.ciphertext","typeLabel":"string"},"tag":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"base64url of the 16-byte AES-GCM authentication tag.","isRequired":true,"uniqueKey":"oneOf.1.tag","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","details":{}},"success":false,"message":"\u003cstring>","required":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"c3722cbe-31a1-4b64-8f30-6828444e52c6":{"description":"Tenant request rate limit exceeded.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["error"],"properties":{"error":{"description":"Details of what went wrong. `code` is a stable machine-readable value; `message` is\nhuman-readable.\n","type":"object","required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"uniqueKey":"oneOf.0.error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"oneOf.0.error","typeLabel":"object"},"success":{"type":"boolean","const":false,"description":"Always false on an error response.\n","uniqueKey":"oneOf.0.success","typeLabel":"boolean"},"message":{"type":"string","description":"Present on some authorization denials in addition to `error.message`.","uniqueKey":"oneOf.0.message","typeLabel":"string"},"required":{"oneOf":[{"type":"string","description":"Permission(s) the caller was missing. Present on authorization denials.","uniqueKey":"oneOf.0.required.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.required.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Permission(s) the caller was missing. Present on authorization denials.","uniqueKey":"oneOf.0.required.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"oneOf.0.required","typeLabel":"string | string[]"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","description":"Response body for a Platform Key with response encryption on (signalled by the\n`X-ABL-Encrypted: true` header): a JWE in flattened JSON serialization. The\ndecrypted plaintext is the JSON body documented for that status code.\n","required":["protected","encrypted_key","iv","ciphertext","tag"],"properties":{"protected":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"base64url of the protected header. Decodes to `ResponseProtectedHeader`.","isRequired":true,"uniqueKey":"oneOf.1.protected","typeLabel":"string"},"encrypted_key":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"The per-response AES-256 key, wrapped with the customer's RSA public key using RSA-OAEP-256.","isRequired":true,"uniqueKey":"oneOf.1.encrypted_key","typeLabel":"string"},"iv":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"base64url of the 12-byte AES-GCM IV (fresh per response).","isRequired":true,"uniqueKey":"oneOf.1.iv","typeLabel":"string"},"ciphertext":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"base64url of the AES-256-GCM ciphertext.","isRequired":true,"uniqueKey":"oneOf.1.ciphertext","typeLabel":"string"},"tag":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"base64url of the 16-byte AES-GCM authentication tag.","isRequired":true,"uniqueKey":"oneOf.1.tag","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","details":{}},"success":false,"message":"\u003cstring>","required":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"efe3d515-4d53-47e2-a7c5-52e3c237e7d0":{"description":"Unexpected trace query failure.\n\nAlso returned, with a content-free body, when a response cannot be encrypted for\na response-encrypted key.\n","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["error"],"properties":{"error":{"description":"Details of what went wrong. `code` is a stable machine-readable value; `message` is\nhuman-readable.\n","type":"object","required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"uniqueKey":"oneOf.0.error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"oneOf.0.error","typeLabel":"object"},"success":{"type":"boolean","const":false,"description":"Always false on an error response.\n","uniqueKey":"oneOf.0.success","typeLabel":"boolean"},"message":{"type":"string","description":"Present on some authorization denials in addition to `error.message`.","uniqueKey":"oneOf.0.message","typeLabel":"string"},"required":{"oneOf":[{"type":"string","description":"Permission(s) the caller was missing. Present on authorization denials.","uniqueKey":"oneOf.0.required.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.required.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Permission(s) the caller was missing. Present on authorization denials.","uniqueKey":"oneOf.0.required.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"oneOf.0.required","typeLabel":"string | string[]"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","description":"Response body for a Platform Key with response encryption on (signalled by the\n`X-ABL-Encrypted: true` header): a JWE in flattened JSON serialization. The\ndecrypted plaintext is the JSON body documented for that status code.\n","required":["protected","encrypted_key","iv","ciphertext","tag"],"properties":{"protected":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"base64url of the protected header. Decodes to `ResponseProtectedHeader`.","isRequired":true,"uniqueKey":"oneOf.1.protected","typeLabel":"string"},"encrypted_key":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"The per-response AES-256 key, wrapped with the customer's RSA public key using RSA-OAEP-256.","isRequired":true,"uniqueKey":"oneOf.1.encrypted_key","typeLabel":"string"},"iv":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"base64url of the 12-byte AES-GCM IV (fresh per response).","isRequired":true,"uniqueKey":"oneOf.1.iv","typeLabel":"string"},"ciphertext":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"base64url of the AES-256-GCM ciphertext.","isRequired":true,"uniqueKey":"oneOf.1.ciphertext","typeLabel":"string"},"tag":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"base64url of the 16-byte AES-GCM authentication tag.","isRequired":true,"uniqueKey":"oneOf.1.tag","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","details":{}},"success":false,"message":"\u003cstring>","required":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"c76767dc-5a20-4cfd-a342-b6f60aaa87fd":{"description":"Trace backing store unavailable.\n\n`ENCRYPTION_CONFIG_UNAVAILABLE` (with `Retry-After: 30`) means the Platform\nKey's payload-encryption configuration could not be read. There is no plaintext\nfallback.\n","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["error"],"properties":{"error":{"description":"Details of what went wrong. `code` is a stable machine-readable value; `message` is\nhuman-readable.\n","type":"object","required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"uniqueKey":"oneOf.0.error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"oneOf.0.error","typeLabel":"object"},"success":{"type":"boolean","const":false,"description":"Always false on an error response.\n","uniqueKey":"oneOf.0.success","typeLabel":"boolean"},"message":{"type":"string","description":"Present on some authorization denials in addition to `error.message`.","uniqueKey":"oneOf.0.message","typeLabel":"string"},"required":{"oneOf":[{"type":"string","description":"Permission(s) the caller was missing. Present on authorization denials.","uniqueKey":"oneOf.0.required.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.required.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Permission(s) the caller was missing. Present on authorization denials.","uniqueKey":"oneOf.0.required.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"oneOf.0.required","typeLabel":"string | string[]"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","description":"Response body for a Platform Key with response encryption on (signalled by the\n`X-ABL-Encrypted: true` header): a JWE in flattened JSON serialization. The\ndecrypted plaintext is the JSON body documented for that status code.\n","required":["protected","encrypted_key","iv","ciphertext","tag"],"properties":{"protected":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"base64url of the protected header. Decodes to `ResponseProtectedHeader`.","isRequired":true,"uniqueKey":"oneOf.1.protected","typeLabel":"string"},"encrypted_key":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"The per-response AES-256 key, wrapped with the customer's RSA public key using RSA-OAEP-256.","isRequired":true,"uniqueKey":"oneOf.1.encrypted_key","typeLabel":"string"},"iv":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"base64url of the 12-byte AES-GCM IV (fresh per response).","isRequired":true,"uniqueKey":"oneOf.1.iv","typeLabel":"string"},"ciphertext":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"base64url of the AES-256-GCM ciphertext.","isRequired":true,"uniqueKey":"oneOf.1.ciphertext","typeLabel":"string"},"tag":{"type":"string","pattern":"^[A-Za-z0-9_-]+$","description":"base64url of the 16-byte AES-GCM authentication tag.","isRequired":true,"uniqueKey":"oneOf.1.tag","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","details":{}},"success":false,"message":"\u003cstring>","required":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"e47d647e-7d20-46fd-ba26-b70e6ba97751":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"Project-bound API key. Do not send an Authorization header.","scopes":[],"schemeName":"ApiKeyAuth"}}},"servers":{"245ef6f3-746a-4aba-ba56-1563fe0bc06a":{"url":"https://{host}","variables":{"host":{"default":"runtime.example.com"}}}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","description":"Project-bound API key. Do not send an Authorization header.","scopes":[],"schemeName":"ApiKeyAuth"},"schema":{"title":"x-api-key","type":"string","description":"Project-bound API key. Do not send an Authorization header.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKeyAuth","name":"x-api-key"}],"title":"ApiKeyAuth"}]},"originalFileLocation":"agent-platform/api-specs/traces.yaml"},"subdomain":"koreai","siteName":"Kore.ai Docs","title":"List trace events - Kore.ai Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-08T18:03:15.754Z","originalFileLocation":"agent-platform/api-reference/analytics-list-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=\"fromDate and toDate are required. fromDate is included in the results and toDate is not, so a full day is fromDate=2026-08-05T00:00:00Z\u0026amp;toDate=2026-08-06T00:00:00Z. To page through results, pass the nextCursor value from the previous response back as cursor. Keep every other parameter the same — a cursor is tied to the filters, data mode, and sort order it was created with, and changing any of them makes it invalid. To fetch one specific event, filter by eventId. There is no separate single-event endpoint. If you request an event name this API does not support, it is ignored rather than rejected, and listed back to you in meta.unsupportedEventNamesRequested.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Kore.ai Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/koreai/76UiN88-8Y-QZO7w/_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/koreai/76UiN88-8Y-QZO7w/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/koreai/76UiN88-8Y-QZO7w/_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/koreai/76UiN88-8Y-QZO7w/_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/koreai/76UiN88-8Y-QZO7w/_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/koreai/76UiN88-8Y-QZO7w/_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/koreai/76UiN88-8Y-QZO7w/_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/koreai/76UiN88-8Y-QZO7w/_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/koreai/76UiN88-8Y-QZO7w/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"List trace events - Kore.ai Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"fromDate and toDate are required. fromDate is included in the results and toDate is not, so a full day is fromDate=2026-08-05T00:00:00Z\u0026amp;toDate=2026-08-06T00:00:00Z. To page through results, pass the nextCursor value from the previous response back as cursor. Keep every other parameter the same — a cursor is tied to the filters, data mode, and sort order it was created with, and changing any of them makes it invalid. To fetch one specific event, filter by eventId. There is no separate single-event endpoint. If you request an event name this API does not support, it is ignored rather than rejected, and listed back to you in meta.unsupportedEventNamesRequested.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Kore.ai Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.kore.ai/agent-platform/api-reference/analytics-list-traces\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://koreai.mintlify.site/_mintlify/api/og/v2?division=Analytics+APIs\u0026amp;title=List+trace+events\u0026amp;description=%60fromDate%60+and+%60toDate%60+are+required.+%60fromDate%60+is+included+in+the+results+and%0A%60toDate%60+is+not%2C+so+a+full+day+is%0A%60fromDate%3D2026-08-05T00%3A00%3A00Z%26toDate%3D2026-08-\u0026amp;theme=8ca549275fbf7c6d9f9b93e2\u0026amp;signature=8039e59bb56db493f72e182b5906b7df42c770d57978ea56f99ceca4441d9755\">\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=\"List trace events - Kore.ai Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"fromDate and toDate are required. fromDate is included in the results and toDate is not, so a full day is fromDate=2026-08-05T00:00:00Z\u0026amp;toDate=2026-08-06T00:00:00Z. To page through results, pass the nextCursor value from the previous response back as cursor. Keep every other parameter the same — a cursor is tied to the filters, data mode, and sort order it was created with, and changing any of them makes it invalid. To fetch one specific event, filter by eventId. There is no separate single-event endpoint. If you request an event name this API does not support, it is ignored rather than rejected, and listed back to you in meta.unsupportedEventNamesRequested.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://koreai.mintlify.site/_mintlify/api/og/v2?division=Analytics+APIs\u0026amp;title=List+trace+events\u0026amp;description=%60fromDate%60+and+%60toDate%60+are+required.+%60fromDate%60+is+included+in+the+results+and%0A%60toDate%60+is+not%2C+so+a+full+day+is%0A%60fromDate%3D2026-08-05T00%3A00%3A00Z%26toDate%3D2026-08-\u0026amp;theme=8ca549275fbf7c6d9f9b93e2\u0026amp;signature=8039e59bb56db493f72e182b5906b7df42c770d57978ea56f99ceca4441d9755\">\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/koreai/76UiN88-8Y-QZO7w/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Kore.ai Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#16A34A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.kore.ai/agent-platform/api-reference/analytics-list-traces\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/agent-platform/api-reference/analytics-list-traces.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.kore.ai/#organization\",\"name\":\"Kore.ai Docs\",\"url\":\"https://docs.kore.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/koreai/0qAbPzQhx-4ILs7Q/assets/koreailogo-black.svg?fit=max\u0026auto=format\u0026n=0qAbPzQhx-4ILs7Q\u0026q=85\u0026s=b04520c55b7651e03e614e156f879b46\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.kore.ai#website\",\"name\":\"Kore.ai Docs\",\"url\":\"https://docs.kore.ai\",\"publisher\":{\"@id\":\"https://docs.kore.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.kore.ai/agent-platform/api-reference/analytics-list-traces#webpage\",\"url\":\"https://docs.kore.ai/agent-platform/api-reference/analytics-list-traces\",\"name\":\"List trace events\",\"description\":\"fromDate and toDate are required. fromDate is included in the results and toDate is not, so a full day is fromDate=2026-08-05T00:00:00Z\u0026toDate=2026-08-06T00:00:00Z. To page through results, pass the nextCursor value from the previous response back as cursor. Keep every other parameter the same — a cursor is tied to the filters, data mode, and sort order it was created with, and changing any of them makes it invalid. To fetch one specific event, filter by eventId. There is no separate single-event endpoint. If you request an event name this API does not support, it is ignored rather than rejected, and listed back to you in meta.unsupportedEventNamesRequested.\",\"dateModified\":\"2026-10-08T18:03:15.754Z\",\"isPartOf\":{\"@id\":\"https://docs.kore.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.kore.ai/agent-platform/api-reference/analytics-list-traces#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.kore.ai/agent-platform/api-reference/analytics-list-traces#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"APIs\",\"item\":\"https://docs.kore.ai/agent-platform/api-reference/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Analytics APIs\",\"item\":\"https://docs.kore.ai/agent-platform/api-reference/analytics-list-session-summaries\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"List trace events\",\"item\":\"https://docs.kore.ai/agent-platform/api-reference/analytics-list-traces\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.kore.ai/agent-platform/api-reference/analytics-list-traces#apireference\",\"headline\":\"List trace events\",\"name\":\"List trace events\",\"description\":\"fromDate and toDate are required. fromDate is included in the results and toDate is not, so a full day is fromDate=2026-08-05T00:00:00Z\u0026toDate=2026-08-06T00:00:00Z. To page through results, pass the nextCursor value from the previous response back as cursor. Keep every other parameter the same — a cursor is tied to the filters, data mode, and sort order it was created with, and changing any of them makes it invalid. To fetch one specific event, filter by eventId. There is no separate single-event endpoint. If you request an event name this API does not support, it is ignored rather than rejected, and listed back to you in meta.unsupportedEventNamesRequested.\",\"url\":\"https://docs.kore.ai/agent-platform/api-reference/analytics-list-traces\",\"mainEntityOfPage\":{\"@id\":\"https://docs.kore.ai/agent-platform/api-reference/analytics-list-traces#webpage\"},\"dateModified\":\"2026-10-08T18:03:15.754Z\",\"publisher\":{\"@id\":\"https://docs.kore.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.kore.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Kore.ai Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Kore.ai Docs","nav":{"global":null,"tabs":[{"tab":"Home","icon":"house","pages":[{"title":"Home","href":"/home"}]},{"tab":"Guide","icon":"book","pages":[{"title":"Guide","href":"/agent-platform"}]},{"tab":"ABL","icon":"laptop-code","pages":[{"title":"ABL","href":"/agent-platform/abl/reference/language-overview"}]},{"tab":"CLI and MCP","icon":"terminal","pages":[{"title":"CLI and MCP","href":"/agent-platform/cli"}]},{"tab":"APIs and SDK","icon":"plug","pages":[{"group":"APIs","pages":[{"title":"Artemis API overview","sidebarTitle":"Overview","href":"/agent-platform/api-reference/overview"},{"group":"Analytics APIs","expanded":false,"pages":[{"title":"List session summaries","openapi":"agent-platform/api-specs/sessions.yaml get /api/public/analytics/projects/{projectId}/sessions","href":"/agent-platform/api-reference/analytics-list-session-summaries"},{"title":"List session summaries using JWE payload","openapi":"agent-platform/api-specs/sessions.yaml post /api/public/analytics/projects/{projectId}/sessions","description":"POST form of `GET` on this path. It accepts the same parameters as a flat JSON\nbody (`SessionsQueryBody`) instead of a query string, and returns the same response.\nUse it when the request parameters must be encrypted. See \"Sending parameters\nin a POST body\" and \"Payload encryption\" in the API description.\n\n- Request encryption off: send `SessionsQueryBody` as `application/json`.\n- Request encryption on: send the same object encrypted as an\n `EncryptedRequest`, preferably as `application/jose+json`.\n- Response encryption on: every response except `401` is an\n `EncryptedResponse` with `X-ABL-Encrypted: true`.\n","href":"/agent-platform/api-reference/analytics-list-session-summaries-with-encrypted-payload"},{"title":"List trace events","openapi":"agent-platform/api-specs/traces.yaml get /api/public/analytics/projects/{projectId}/traces","href":"/agent-platform/api-reference/analytics-list-traces"},{"title":"List trace events using JWE payload","openapi":"agent-platform/api-specs/traces.yaml post /api/public/analytics/projects/{projectId}/traces","description":"POST form of `GET` on this path. It accepts the same parameters as a flat JSON\nbody (`TracesQueryBody`) instead of a query string, and returns the same response.\nUse it when the request parameters must be encrypted. See \"Sending parameters\nin a POST body\" and \"Payload encryption\" in the API description.\n\n- Request encryption off: send `TracesQueryBody` as `application/json`.\n- Request encryption on: send the same object encrypted as an\n `EncryptedRequest`, preferably as `application/jose+json`.\n- Response encryption on: every response except `401` is an\n `EncryptedResponse` with `X-ABL-Encrypted: true`.\n","href":"/agent-platform/api-reference/analytics-list-traces-with-encrypted-payload"},{"title":"List LLM calls","openapi":"agent-platform/api-specs/llm-ledger.yaml get /api/public/analytics/projects/{projectId}/llm-ledger","href":"/agent-platform/api-reference/analytics-list-llm-calls"},{"title":"List LLM calls using JWE payload","openapi":"agent-platform/api-specs/llm-ledger.yaml post /api/public/analytics/projects/{projectId}/llm-ledger","href":"/agent-platform/api-reference/analytics-list-llm-calls-with-encrypted-payload"},{"title":"List conversation messages","openapi":"agent-platform/api-specs/messages.yaml get /api/public/analytics/projects/{projectId}/conversation-history","href":"/agent-platform/api-reference/analytics-list-conversation-messages"},{"title":"List conversation messages using JWE payload","openapi":"agent-platform/api-specs/messages.yaml post /api/public/analytics/projects/{projectId}/conversation-history","href":"/agent-platform/api-reference/analytics-list-conversation-messages-with-encrypted-payload"}]},{"group":"Project APIs","expanded":false,"pages":[{"title":"Get project import status","openapi":"agent-platform/api-specs/project-import-export.yaml get /v1/projects/{projectId}/export/{exportId}","href":"/agent-platform/api-reference/project-export-get"},{"title":"Start project export","openapi":"agent-platform/api-specs/project-import-export.yaml post /v1/projects/{projectId}/export","href":"/agent-platform/api-reference/project-export-post"},{"title":"Get project import status","openapi":"agent-platform/api-specs/project-import-export.yaml get /v1/projects/{projectId}/import/{importId}","href":"/agent-platform/api-reference/project-import-get"},{"title":"Start project import","openapi":"agent-platform/api-specs/project-import-export.yaml post /v1/projects/{projectId}/import","href":"/agent-platform/api-reference/project-import-post"}]},{"group":"Feedback APIs","expanded":false,"pages":[{"title":"List survey response","openapi":"agent-platform/api-specs/public-feedback-survey.yaml get /api/public/feedback/projects/{projectId}","href":"/agent-platform/api-reference/feedback-survey-list"},{"title":"Submit rating for survey","openapi":"agent-platform/api-specs/public-feedback-survey.yaml post /api/public/feedback/projects/{projectId}","href":"/agent-platform/api-reference/feedback-survey-submit-rating"}]},{"group":"Outbound calls APIs","expanded":false,"pages":[{"title":"Introduction to outbound dialing API","sidebarTitle":"Overview","href":"/agent-platform/api-reference/outbound-calls-overview"},{"title":"Place outbound calls","openapi":"agent-platform/api-specs/outbound-calls.yaml post /api/v1/project/{projectSlug}/{env}/outbound-calls","href":"/agent-platform/api-reference/outbound-calls-place"},{"title":"Events of outbound calls","openapi":"agent-platform/api-specs/outbound-calls.yaml get /api/v1/project/{projectSlug}/{env}/outbound-calls/{outboundCallId}/events ","href":"/agent-platform/api-reference/outbound-calls-events"},{"title":"Look-up a call by ID","openapi":"agent-platform/api-specs/outbound-calls.yaml get /api/v1/project/{projectSlug}/{env}/outbound-calls/{outboundCallId}","href":"/agent-platform/api-reference/outbound-calls-id"},{"title":"List outbound calls","openapi":"agent-platform/api-specs/outbound-calls.yaml get /api/v1/project/{projectSlug}/{env}/outbound-calls","href":"/agent-platform/api-reference/outbound-calls-listing"},{"title":"Summarize outbound calls","openapi":"agent-platform/api-specs/outbound-calls.yaml get /api/v1/project/{projectSlug}/{env}/outbound-calls/summary","href":"/agent-platform/api-reference/outbound-calls-summary"},{"title":"Search outbound calls","openapi":"agent-platform/api-specs/outbound-calls.yaml post /api/v1/project/{projectSlug}/{env}/outbound-calls/search","href":"/agent-platform/api-reference/outbound-calls-search"},{"title":"Terminate outbound calls","openapi":"agent-platform/api-specs/outbound-calls.yaml post /api/v1/project/{projectSlug}/{env}/outbound-calls/{outboundCallId}/terminate","href":"/agent-platform/api-reference/outbound-calls-terminate"}]},{"group":"Recording APIs","expanded":false,"pages":[{"title":"Get all recordings for a session","openapi":"agent-platform/api-specs/call-recordings.yaml get /api/public/recordings/projects/{projectId}/sessions/{sessionId}/recordings","href":"/agent-platform/api-reference/recording-fetch-calls-per-session"},{"title":"Stream a recording","openapi":"agent-platform/api-specs/call-recordings.yaml get /api/projects/{projectId}/recordings/{recordingId}/media/content/{mediaToken}","href":"/agent-platform/api-reference/recording-stream"}]},{"group":"Tools execution APIs","expanded":false,"pages":[{"title":"List the available project tools","openapi":"agent-platform/api-specs/tool-execution.yaml get /api/v1/project/{projectSlug}/tools","href":"/agent-platform/api-reference/tools-execute-table-tools-list"},{"title":"Describe a tool and its input schema","openapi":"agent-platform/api-specs/tool-execution.yaml get /api/v1/project/{projectSlug}/tools/{toolName}","href":"/agent-platform/api-reference/tools-execute-table-tools-retrieve"},{"title":"Execute a specific tool","openapi":"agent-platform/api-specs/tool-execution.yaml post /api/v1/project/{projectSlug}/tools/{toolName}/invoke","href":"/agent-platform/api-reference/tools-execute-table-tools-execute"}]}]},{"group":"SDKs","pages":[{"title":"Artemis Software Developer Kits (SDKs)","sidebarTitle":"Overview","href":"/agent-platform/sdk/overview"},{"group":"Web SDK","pages":[{"title":"Artemis Web SDK overview","sidebarTitle":"Overview","href":"/agent-platform/sdk/web-sdk"},{"title":"Web SDK end-to-end auth setup guide","sidebarTitle":"Set up auth","href":"/agent-platform/sdk/web-sdk-end-to-end-auth-setup"}]},{"title":"Artemis mobile SDK overview","sidebarTitle":"Mobile SDK","href":"/agent-platform/sdk/mobile-sdk"}]}]},{"tab":"Administration","icon":"gear","pages":[{"title":"Administration","href":"/agent-platform/administration/workspace-and-team"}]},{"tab":"Changelog","icon":"rectangle-list","pages":[{"title":"Changelog","href":"/agent-platform/release-notes/recent-updates"}]},{"tab":"Solutions","icon":"box-archive","pages":[{"title":"Solutions","href":"/ai-for-service/solutions-overview"}]}]},"basePath":"","title":"List trace events - Kore.ai Docs","buildId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","deploymentId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-5FCzAcfS.js","utils-SLtAG4EZ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-2DZi8ZMu.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D7J3nkzE.js","snippetPresets-D0Alv0AH.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BI4qNJ2c.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BD3uyr8j.js","shallow-D8iEBr5z.js","getApiPlaygroundDisplay-CgNP4lzR.js","CodeSnippet-CX-QHuMs.js","CodeSnippets-VlXE-ZUf.js","Page-D9ithiIZ.js","getPastedJson-DYNQkZ1M.js","icon-CzacdwOi.js","MethodPill-2JVqoYKi.js","DuplicateIcon-_xVXs-U8.js","createIcon-BRHrweLo.js","DynamicMarkdown-mQG_iQiE.js","SectionHeading-DMpJzv8f.js","axios-vUo_bRtp.js","Markdown-5FGIym-8.js","clsx-D-TRO5q5.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CdrJecqK.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CHlcWBLM.js"]}