Returns one page of the root timeline’s events in chronological order, plus next_page_token to continue from. A page can come back shorter than limit because an aggregate serialized-byte budget applies as well as the count, so treat an empty page with no token as the end rather than inferring the end from the length. Large event payloads hydrate by default; pass payloads=refs for bounded stubs instead.
Organization in which to act. Required for a tenant-scoped API key. Optional for an organization-scoped key, where it must name that same organization. The value may be an organization id or default.
Set to signed to add a short-lived url (and url_expires_at) to stored image blocks within the per-read signing budget. Omitted when signing is unavailable or the budget is exhausted; the authenticated managedAgentsGetSessionImage endpoint always works.
External event payloads hydrate by default. Set refs to return bounded stubs and private reference metadata only.
Available options:
refs
Response
Response body of GET /managed-agents/v1/sessions/{sessionId}/events: one page of the merged chronological timeline for the whole session tree the path session belongs to, not just that session's own events. The page is bounded twice, by the limit parameter and by an aggregate serialized-byte budget, and the byte budget wins; a single event too large for the budget is returned alone with its content marked oversized and must be fetched in full from the per-event content endpoint.
Response body of GET /managed-agents/v1/sessions/{sessionId}/events: one page of the merged chronological timeline for the whole session tree the path session belongs to, not just that session's own events. The page is bounded twice, by the limit parameter and by an aggregate serialized-byte budget, and the byte budget wins; a single event too large for the budget is returned alone with its content marked oversized and must be fetched in full from the per-event content endpoint.
One chronological page of the root timeline, oldest first. Null rather than an empty array when no event follows the requested watermark, which is the normal answer when a caller has already read to the end.
Watermark to continue from: pass it back as the after_event_id query parameter to fetch the next page. Its value is the event_id of the last event in this page. Always present, and an empty string means this page reached the end of the timeline as of this read. Because the page can be cut short by a byte budget before the requested limit is reached, a short events array with a non-empty token means more remain, not that the timeline ended.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Labelbox","description":"Documentation for Recursion Managed Agents and the Labelbox platform.","colors":{"primary":"#36707F","light":"#7EB3C1","dark":"#274E58"},"logo":{"light":"https://mintcdn.com/labelbox-1db23ff4/badqlfNjN52ySAbU/logo/light.svg?fit=max\u0026auto=format\u0026n=badqlfNjN52ySAbU\u0026q=85\u0026s=2e7592619836dadfb7384597f9e48bec","dark":"https://mintcdn.com/labelbox-1db23ff4/badqlfNjN52ySAbU/logo/dark.svg?fit=max\u0026auto=format\u0026n=badqlfNjN52ySAbU\u0026q=85\u0026s=080727ffefbdc01f5e275a0f13cdd5c2","href":"/"},"favicon":"https://mintcdn.com/labelbox-1db23ff4/badqlfNjN52ySAbU/favicon.svg?fit=max\u0026auto=format\u0026n=badqlfNjN52ySAbU\u0026q=85\u0026s=35e9a808129eb1b044e5cc202e88eaa7","appearance":{"default":"light"},"background":{"color":{"light":"#FFFDF8","dark":"#202020"}},"navbar":{"primary":{"type":"button","label":"Open console","href":"https://recursion.labelbox.com"}},"footer":{"socials":{"github":"https://github.com/Labelbox","linkedin":"https://www.linkedin.com/company/labelbox"},"links":[{"header":"Products","items":[{"label":"Recursion","href":"/recursion"},{"label":"Horizon","href":"/horizon"}]},{"header":"Resources","items":[{"label":"Release notes","href":"/horizon/release-notes"},{"label":"Status","href":"https://status.labelbox.com"},{"label":"Blog","href":"https://labelbox.com/blog"}]},{"header":"Company","items":[{"label":"labelbox.com","href":"https://labelbox.com"},{"label":"Contact sales","href":"https://labelbox.com/sales"}]}]},"fonts":{"heading":{"family":"The Future","source":"https://labelbox.com/static/fonts/The-future/the-future-regular.woff2","format":"woff2"},"body":{"family":"IBM Plex Sans"}},"styling":{"eyebrows":"section","codeblocks":{"theme":"css-variables"},"latex":true},"integrations":{"amplitude":{"apiKey":"b375bb454cbc0ba0b780648b3f4ddc18"}},"contextual":{"options":["copy","view","chatgpt","claude","cursor","mcp"],"display":"header"},"variables":{"recursion-api-base":"https://api.recursion.labelbox.com","recursion-console-url":"https://recursion.labelbox.com","recursion-docs-mcp-url":"https://docs.labelbox.com/mcp","recursion-mcp-url":"https://api.recursion.labelbox.com/mcp"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"labelbox-1db23ff4","hasAudioNarration":false,"actualSubdomain":"labelbox-1db23ff4","customDomains":["docs.labelbox.com"],"gitSource":{"_id":"6ad7fa91692c7c940ff17a10","type":"github","owner":"labelbox","repo":"lbx-docs-mintlify","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":"","isBase":true},"chroma":{"liveDeploymentHistoryId":"6aec9d5faceee0d6e0b10e6b","collectionId":"be895a99-d4ca-4831-8ef4-7d4d4fb22174","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aec9d5faceee0d6e0b10e6b"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aecb97d759a071fd76fabc3","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"Recursion","count":219},{"language":"default","tag":"API reference","count":189},{"language":"default","tag":"Horizon","count":179},{"language":"default","tag":"Endpoints","count":175},{"language":"default","tag":"Guides","count":130},{"language":"default","tag":"Developer guides","count":83},{"language":"default","tag":"Import/Export","count":43},{"language":"default","tag":"Label data","count":35},{"language":"default","tag":"Sessions","count":35},{"language":"default","tag":"Environments","count":24}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"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":"vite-origin","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":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"styles/design-tokens.css","content":":root{--lb-color-primary-50: #eff6f8;--lb-color-primary-100: #dcecef;--lb-color-primary-200: #bcd9e0;--lb-color-primary-300: #9cc6d1;--lb-color-primary-400: #7eb3c1;--lb-color-primary-500: #5a98a7;--lb-color-primary-600: #36707f;--lb-color-primary-700: #2b5965;--lb-color-primary-800: #21454e;--lb-color-primary-900: #173138;--lb-color-secondary-50: #fbf1eb;--lb-color-secondary-100: #f4ddd0;--lb-color-secondary-200: #e7bda4;--lb-color-secondary-300: #dba47f;--lb-color-secondary-400: #d09372;--lb-color-secondary-500: #c1764f;--lb-color-secondary-600: #b15e3a;--lb-color-secondary-700: #8f4a2d;--lb-color-secondary-800: #6d3922;--lb-color-secondary-900: #4b2718;--lb-color-error-50: #fbeef0;--lb-color-error-100: #f3d4da;--lb-color-error-200: #e8aeb8;--lb-color-error-300: #df97a4;--lb-color-error-400: #db8090;--lb-color-error-500: #bd5e72;--lb-color-error-600: #9e3b52;--lb-color-error-700: #7e2f42;--lb-color-error-800: #5e2331;--lb-color-error-900: #3f1721;--lb-color-warning-50: #fdf3e4;--lb-color-warning-100: #f9e2bf;--lb-color-warning-200: #f4cd8f;--lb-color-warning-300: #efb162;--lb-color-warning-400: #e89a3e;--lb-color-warning-500: #e0892a;--lb-color-warning-600: #c2701a;--lb-color-warning-700: #9b5614;--lb-color-warning-800: #74400f;--lb-color-warning-900: #4e2b0a;--lb-color-info-50: #eef5fa;--lb-color-info-100: #d4e7f2;--lb-color-info-200: #b3d3e6;--lb-color-info-300: #9cc3df;--lb-color-info-400: #7bb0d4;--lb-color-info-500: #5390bb;--lb-color-info-600: #2f6f9e;--lb-color-info-700: #275d84;--lb-color-info-800: #1f4a6a;--lb-color-info-900: #163750;--lb-color-success-50: #eef7f2;--lb-color-success-100: #d3ece0;--lb-color-success-200: #aedcc4;--lb-color-success-300: #8fcdab;--lb-color-success-400: #74bd97;--lb-color-success-500: #519a76;--lb-color-success-600: #3a785c;--lb-color-success-700: #2f6149;--lb-color-success-800: #244a38;--lb-color-success-900: #183227;--lb-color-grey-50: #faf8f5;--lb-color-grey-100: #f1ede6;--lb-color-grey-200: #e5dfd5;--lb-color-grey-300: #d4ccbf;--lb-color-grey-400: #b0a89b;--lb-color-grey-500: #847c70;--lb-color-grey-600: #5f574d;--lb-color-grey-700: #46403a;--lb-color-grey-800: #2b2724;--lb-color-grey-900: #1a1714;--lb-color-grey-a100: #efe9e0;--lb-color-grey-a200: #e0d8cc;--lb-color-grey-a400: #b0a89b;--lb-color-grey-a700: #6b6359;--lb-font-sans:\n \"IBM Plex Sans\", \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;--lb-font-display: \"The Future\", \"IBM Plex Sans\", sans-serif;--lb-ease: cubic-bezier(0.22, 1, 0.36, 1);--lb-duration-fast: 200ms;--lb-duration-base: 300ms;--lb-duration-slow: 500ms;--lb-font-mono:\n \"IBM Plex Mono\", \"JetBrains Mono\", \"SFMono-Regular\", Menlo, Consolas,\n \"Courier New\", monospace;--lb-radius: 8px;--lb-blur-panel: blur(12px) saturate(180%);--lb-blur-scrim: blur(6px);--lb-tag-teal: #4d97a5;--lb-tag-petrol: #2f7e86;--lb-tag-sky: #5b8ec9;--lb-tag-steel: #41699e;--lb-tag-indigo: #6a6ec7;--lb-tag-violet: #8567bf;--lb-tag-plum: #9b5fae;--lb-tag-mauve: #ab7196;--lb-tag-magenta: #b85792;--lb-tag-rose: #c65f81;--lb-tag-crimson: #b94a59;--lb-tag-red: #cf6253;--lb-tag-terracotta: #c9774f;--lb-tag-clay: #a96a4a;--lb-tag-orange: #d2883c;--lb-tag-amber: #c39a39;--lb-tag-gold: #ab9a3f;--lb-tag-olive: #8b9a48;--lb-tag-moss: #6f9a4f;--lb-tag-green: #4f9e63;--lb-tag-emerald: #3a9d7e;--lb-tag-sage: #7fae93;--lb-tag-slate: #6b7a8c;--lb-tag-taupe: #9a8a78;--lb-tag-cyan: #3fa7b5;--lb-tag-navy: #3a5687;--lb-tag-periwinkle: #8a9fd6;--lb-tag-lavender: #b3a3d6;--lb-tag-fuchsia: #c473ad;--lb-tag-coral: #d97f6a;--lb-tag-peach: #dba074;--lb-tag-khaki: #bcae6a;--lb-tag-lime: #a3b94f;--lb-tag-mint: #84c4a6;--lb-tag-cocoa: #8a6a52;--lb-tag-pewter: #8c8a86;--lb-card-teal-accent: var(--lb-tag-teal);--lb-card-teal-surface: color-mix(\n in srgb,\n var(--lb-tag-teal) 14%,\n var(--lb-bg-light)\n );--lb-card-teal-border: color-mix(\n in srgb,\n var(--lb-tag-teal) 36%,\n var(--lb-border-main)\n );--lb-card-teal-glow: color-mix(\n in srgb,\n var(--lb-tag-teal) 26%,\n transparent\n );--lb-card-petrol-accent: var(--lb-tag-petrol);--lb-card-petrol-surface: color-mix(\n in srgb,\n var(--lb-tag-petrol) 14%,\n var(--lb-bg-light)\n );--lb-card-petrol-border: color-mix(\n in srgb,\n var(--lb-tag-petrol) 36%,\n var(--lb-border-main)\n );--lb-card-petrol-glow: color-mix(\n in srgb,\n var(--lb-tag-petrol) 26%,\n transparent\n );--lb-card-sky-accent: var(--lb-tag-sky);--lb-card-sky-surface: color-mix(\n in srgb,\n var(--lb-tag-sky) 14%,\n var(--lb-bg-light)\n );--lb-card-sky-border: color-mix(\n in srgb,\n var(--lb-tag-sky) 36%,\n var(--lb-border-main)\n );--lb-card-sky-glow: color-mix(\n in srgb,\n var(--lb-tag-sky) 26%,\n transparent\n );--lb-card-steel-accent: var(--lb-tag-steel);--lb-card-steel-surface: color-mix(\n in srgb,\n var(--lb-tag-steel) 14%,\n var(--lb-bg-light)\n );--lb-card-steel-border: color-mix(\n in srgb,\n var(--lb-tag-steel) 36%,\n var(--lb-border-main)\n );--lb-card-steel-glow: color-mix(\n in srgb,\n var(--lb-tag-steel) 26%,\n transparent\n );--lb-card-indigo-accent: var(--lb-tag-indigo);--lb-card-indigo-surface: color-mix(\n in srgb,\n var(--lb-tag-indigo) 14%,\n var(--lb-bg-light)\n );--lb-card-indigo-border: color-mix(\n in srgb,\n var(--lb-tag-indigo) 36%,\n var(--lb-border-main)\n );--lb-card-indigo-glow: color-mix(\n in srgb,\n var(--lb-tag-indigo) 26%,\n transparent\n );--lb-card-violet-accent: var(--lb-tag-violet);--lb-card-violet-surface: color-mix(\n in srgb,\n var(--lb-tag-violet) 14%,\n var(--lb-bg-light)\n );--lb-card-violet-border: color-mix(\n in srgb,\n var(--lb-tag-violet) 36%,\n var(--lb-border-main)\n );--lb-card-violet-glow: color-mix(\n in srgb,\n var(--lb-tag-violet) 26%,\n transparent\n );--lb-card-plum-accent: var(--lb-tag-plum);--lb-card-plum-surface: color-mix(\n in srgb,\n var(--lb-tag-plum) 14%,\n var(--lb-bg-light)\n );--lb-card-plum-border: color-mix(\n in srgb,\n var(--lb-tag-plum) 36%,\n var(--lb-border-main)\n );--lb-card-plum-glow: color-mix(\n in srgb,\n var(--lb-tag-plum) 26%,\n transparent\n );--lb-card-mauve-accent: var(--lb-tag-mauve);--lb-card-mauve-surface: color-mix(\n in srgb,\n var(--lb-tag-mauve) 14%,\n var(--lb-bg-light)\n );--lb-card-mauve-border: color-mix(\n in srgb,\n var(--lb-tag-mauve) 36%,\n var(--lb-border-main)\n );--lb-card-mauve-glow: color-mix(\n in srgb,\n var(--lb-tag-mauve) 26%,\n transparent\n );--lb-card-magenta-accent: var(--lb-tag-magenta);--lb-card-magenta-surface: color-mix(\n in srgb,\n var(--lb-tag-magenta) 14%,\n var(--lb-bg-light)\n );--lb-card-magenta-border: color-mix(\n in srgb,\n var(--lb-tag-magenta) 36%,\n var(--lb-border-main)\n );--lb-card-magenta-glow: color-mix(\n in srgb,\n var(--lb-tag-magenta) 26%,\n transparent\n );--lb-card-rose-accent: var(--lb-tag-rose);--lb-card-rose-surface: color-mix(\n in srgb,\n var(--lb-tag-rose) 14%,\n var(--lb-bg-light)\n );--lb-card-rose-border: color-mix(\n in srgb,\n var(--lb-tag-rose) 36%,\n var(--lb-border-main)\n );--lb-card-rose-glow: color-mix(\n in srgb,\n var(--lb-tag-rose) 26%,\n transparent\n );--lb-card-crimson-accent: var(--lb-tag-crimson);--lb-card-crimson-surface: color-mix(\n in srgb,\n var(--lb-tag-crimson) 14%,\n var(--lb-bg-light)\n );--lb-card-crimson-border: color-mix(\n in srgb,\n var(--lb-tag-crimson) 36%,\n var(--lb-border-main)\n );--lb-card-crimson-glow: color-mix(\n in srgb,\n var(--lb-tag-crimson) 26%,\n transparent\n );--lb-card-red-accent: var(--lb-tag-red);--lb-card-red-surface: color-mix(\n in srgb,\n var(--lb-tag-red) 14%,\n var(--lb-bg-light)\n );--lb-card-red-border: color-mix(\n in srgb,\n var(--lb-tag-red) 36%,\n var(--lb-border-main)\n );--lb-card-red-glow: color-mix(\n in srgb,\n var(--lb-tag-red) 26%,\n transparent\n );--lb-card-terracotta-accent: var(--lb-tag-terracotta);--lb-card-terracotta-surface: color-mix(\n in srgb,\n var(--lb-tag-terracotta) 14%,\n var(--lb-bg-light)\n );--lb-card-terracotta-border: color-mix(\n in srgb,\n var(--lb-tag-terracotta) 36%,\n var(--lb-border-main)\n );--lb-card-terracotta-glow: color-mix(\n in srgb,\n var(--lb-tag-terracotta) 26%,\n transparent\n );--lb-card-clay-accent: var(--lb-tag-clay);--lb-card-clay-surface: color-mix(\n in srgb,\n var(--lb-tag-clay) 14%,\n var(--lb-bg-light)\n );--lb-card-clay-border: color-mix(\n in srgb,\n var(--lb-tag-clay) 36%,\n var(--lb-border-main)\n );--lb-card-clay-glow: color-mix(\n in srgb,\n var(--lb-tag-clay) 26%,\n transparent\n );--lb-card-orange-accent: var(--lb-tag-orange);--lb-card-orange-surface: color-mix(\n in srgb,\n var(--lb-tag-orange) 14%,\n var(--lb-bg-light)\n );--lb-card-orange-border: color-mix(\n in srgb,\n var(--lb-tag-orange) 36%,\n var(--lb-border-main)\n );--lb-card-orange-glow: color-mix(\n in srgb,\n var(--lb-tag-orange) 26%,\n transparent\n );--lb-card-amber-accent: var(--lb-tag-amber);--lb-card-amber-surface: color-mix(\n in srgb,\n var(--lb-tag-amber) 14%,\n var(--lb-bg-light)\n );--lb-card-amber-border: color-mix(\n in srgb,\n var(--lb-tag-amber) 36%,\n var(--lb-border-main)\n );--lb-card-amber-glow: color-mix(\n in srgb,\n var(--lb-tag-amber) 26%,\n transparent\n );--lb-card-gold-accent: var(--lb-tag-gold);--lb-card-gold-surface: color-mix(\n in srgb,\n var(--lb-tag-gold) 14%,\n var(--lb-bg-light)\n );--lb-card-gold-border: color-mix(\n in srgb,\n var(--lb-tag-gold) 36%,\n var(--lb-border-main)\n );--lb-card-gold-glow: color-mix(\n in srgb,\n var(--lb-tag-gold) 26%,\n transparent\n );--lb-card-olive-accent: var(--lb-tag-olive);--lb-card-olive-surface: color-mix(\n in srgb,\n var(--lb-tag-olive) 14%,\n var(--lb-bg-light)\n );--lb-card-olive-border: color-mix(\n in srgb,\n var(--lb-tag-olive) 36%,\n var(--lb-border-main)\n );--lb-card-olive-glow: color-mix(\n in srgb,\n var(--lb-tag-olive) 26%,\n transparent\n );--lb-card-moss-accent: var(--lb-tag-moss);--lb-card-moss-surface: color-mix(\n in srgb,\n var(--lb-tag-moss) 14%,\n var(--lb-bg-light)\n );--lb-card-moss-border: color-mix(\n in srgb,\n var(--lb-tag-moss) 36%,\n var(--lb-border-main)\n );--lb-card-moss-glow: color-mix(\n in srgb,\n var(--lb-tag-moss) 26%,\n transparent\n );--lb-card-green-accent: var(--lb-tag-green);--lb-card-green-surface: color-mix(\n in srgb,\n var(--lb-tag-green) 14%,\n var(--lb-bg-light)\n );--lb-card-green-border: color-mix(\n in srgb,\n var(--lb-tag-green) 36%,\n var(--lb-border-main)\n );--lb-card-green-glow: color-mix(\n in srgb,\n var(--lb-tag-green) 26%,\n transparent\n );--lb-card-emerald-accent: var(--lb-tag-emerald);--lb-card-emerald-surface: color-mix(\n in srgb,\n var(--lb-tag-emerald) 14%,\n var(--lb-bg-light)\n );--lb-card-emerald-border: color-mix(\n in srgb,\n var(--lb-tag-emerald) 36%,\n var(--lb-border-main)\n );--lb-card-emerald-glow: color-mix(\n in srgb,\n var(--lb-tag-emerald) 26%,\n transparent\n );--lb-card-sage-accent: var(--lb-tag-sage);--lb-card-sage-surface: color-mix(\n in srgb,\n var(--lb-tag-sage) 14%,\n var(--lb-bg-light)\n );--lb-card-sage-border: color-mix(\n in srgb,\n var(--lb-tag-sage) 36%,\n var(--lb-border-main)\n );--lb-card-sage-glow: color-mix(\n in srgb,\n var(--lb-tag-sage) 26%,\n transparent\n );--lb-card-slate-accent: var(--lb-tag-slate);--lb-card-slate-surface: color-mix(\n in srgb,\n var(--lb-tag-slate) 14%,\n var(--lb-bg-light)\n );--lb-card-slate-border: color-mix(\n in srgb,\n var(--lb-tag-slate) 36%,\n var(--lb-border-main)\n );--lb-card-slate-glow: color-mix(\n in srgb,\n var(--lb-tag-slate) 26%,\n transparent\n );--lb-card-taupe-accent: var(--lb-tag-taupe);--lb-card-taupe-surface: color-mix(\n in srgb,\n var(--lb-tag-taupe) 14%,\n var(--lb-bg-light)\n );--lb-card-taupe-border: color-mix(\n in srgb,\n var(--lb-tag-taupe) 36%,\n var(--lb-border-main)\n );--lb-card-taupe-glow: color-mix(\n in srgb,\n var(--lb-tag-taupe) 26%,\n transparent\n );--lb-card-cyan-accent: var(--lb-tag-cyan);--lb-card-cyan-surface: color-mix(\n in srgb,\n var(--lb-tag-cyan) 14%,\n var(--lb-bg-light)\n );--lb-card-cyan-border: color-mix(\n in srgb,\n var(--lb-tag-cyan) 36%,\n var(--lb-border-main)\n );--lb-card-cyan-glow: color-mix(\n in srgb,\n var(--lb-tag-cyan) 26%,\n transparent\n );--lb-card-navy-accent: var(--lb-tag-navy);--lb-card-navy-surface: color-mix(\n in srgb,\n var(--lb-tag-navy) 14%,\n var(--lb-bg-light)\n );--lb-card-navy-border: color-mix(\n in srgb,\n var(--lb-tag-navy) 36%,\n var(--lb-border-main)\n );--lb-card-navy-glow: color-mix(\n in srgb,\n var(--lb-tag-navy) 26%,\n transparent\n );--lb-card-periwinkle-accent: var(--lb-tag-periwinkle);--lb-card-periwinkle-surface: color-mix(\n in srgb,\n var(--lb-tag-periwinkle) 14%,\n var(--lb-bg-light)\n );--lb-card-periwinkle-border: color-mix(\n in srgb,\n var(--lb-tag-periwinkle) 36%,\n var(--lb-border-main)\n );--lb-card-periwinkle-glow: color-mix(\n in srgb,\n var(--lb-tag-periwinkle) 26%,\n transparent\n );--lb-card-lavender-accent: var(--lb-tag-lavender);--lb-card-lavender-surface: color-mix(\n in srgb,\n var(--lb-tag-lavender) 14%,\n var(--lb-bg-light)\n );--lb-card-lavender-border: color-mix(\n in srgb,\n var(--lb-tag-lavender) 36%,\n var(--lb-border-main)\n );--lb-card-lavender-glow: color-mix(\n in srgb,\n var(--lb-tag-lavender) 26%,\n transparent\n );--lb-card-fuchsia-accent: var(--lb-tag-fuchsia);--lb-card-fuchsia-surface: color-mix(\n in srgb,\n var(--lb-tag-fuchsia) 14%,\n var(--lb-bg-light)\n );--lb-card-fuchsia-border: color-mix(\n in srgb,\n var(--lb-tag-fuchsia) 36%,\n var(--lb-border-main)\n );--lb-card-fuchsia-glow: color-mix(\n in srgb,\n var(--lb-tag-fuchsia) 26%,\n transparent\n );--lb-card-coral-accent: var(--lb-tag-coral);--lb-card-coral-surface: color-mix(\n in srgb,\n var(--lb-tag-coral) 14%,\n var(--lb-bg-light)\n );--lb-card-coral-border: color-mix(\n in srgb,\n var(--lb-tag-coral) 36%,\n var(--lb-border-main)\n );--lb-card-coral-glow: color-mix(\n in srgb,\n var(--lb-tag-coral) 26%,\n transparent\n );--lb-card-peach-accent: var(--lb-tag-peach);--lb-card-peach-surface: color-mix(\n in srgb,\n var(--lb-tag-peach) 14%,\n var(--lb-bg-light)\n );--lb-card-peach-border: color-mix(\n in srgb,\n var(--lb-tag-peach) 36%,\n var(--lb-border-main)\n );--lb-card-peach-glow: color-mix(\n in srgb,\n var(--lb-tag-peach) 26%,\n transparent\n );--lb-card-khaki-accent: var(--lb-tag-khaki);--lb-card-khaki-surface: color-mix(\n in srgb,\n var(--lb-tag-khaki) 14%,\n var(--lb-bg-light)\n );--lb-card-khaki-border: color-mix(\n in srgb,\n var(--lb-tag-khaki) 36%,\n var(--lb-border-main)\n );--lb-card-khaki-glow: color-mix(\n in srgb,\n var(--lb-tag-khaki) 26%,\n transparent\n );--lb-card-lime-accent: var(--lb-tag-lime);--lb-card-lime-surface: color-mix(\n in srgb,\n var(--lb-tag-lime) 14%,\n var(--lb-bg-light)\n );--lb-card-lime-border: color-mix(\n in srgb,\n var(--lb-tag-lime) 36%,\n var(--lb-border-main)\n );--lb-card-lime-glow: color-mix(\n in srgb,\n var(--lb-tag-lime) 26%,\n transparent\n );--lb-card-mint-accent: var(--lb-tag-mint);--lb-card-mint-surface: color-mix(\n in srgb,\n var(--lb-tag-mint) 14%,\n var(--lb-bg-light)\n );--lb-card-mint-border: color-mix(\n in srgb,\n var(--lb-tag-mint) 36%,\n var(--lb-border-main)\n );--lb-card-mint-glow: color-mix(\n in srgb,\n var(--lb-tag-mint) 26%,\n transparent\n );--lb-card-cocoa-accent: var(--lb-tag-cocoa);--lb-card-cocoa-surface: color-mix(\n in srgb,\n var(--lb-tag-cocoa) 14%,\n var(--lb-bg-light)\n );--lb-card-cocoa-border: color-mix(\n in srgb,\n var(--lb-tag-cocoa) 36%,\n var(--lb-border-main)\n );--lb-card-cocoa-glow: color-mix(\n in srgb,\n var(--lb-tag-cocoa) 26%,\n transparent\n );--lb-card-pewter-accent: var(--lb-tag-pewter);--lb-card-pewter-surface: color-mix(\n in srgb,\n var(--lb-tag-pewter) 14%,\n var(--lb-bg-light)\n );--lb-card-pewter-border: color-mix(\n in srgb,\n var(--lb-tag-pewter) 36%,\n var(--lb-border-main)\n );--lb-card-pewter-glow: color-mix(\n in srgb,\n var(--lb-tag-pewter) 26%,\n transparent\n )}.light{--lb-primary-main: #36707f;--lb-primary-light: #5d99a8;--lb-primary-dark: #274e58;--lb-primary-contrast-text: #ffffff;--lb-secondary-main: #b15e3a;--lb-secondary-light: #c8855f;--lb-secondary-dark: #854227;--lb-secondary-contrast-text: #ffffff;--lb-error-main: #9e3b52;--lb-error-light: #b9697a;--lb-error-dark: #6f2737;--lb-error-contrast-text: #ffffff;--lb-warning-main: #e0892a;--lb-warning-light: #eaa658;--lb-warning-dark: #a8631a;--lb-warning-contrast-text: #2a1c06;--lb-info-main: #2f6f9e;--lb-info-light: #5e93bb;--lb-info-dark: #21506f;--lb-info-contrast-text: #ffffff;--lb-success-main: #3a785c;--lb-success-light: #6aae89;--lb-success-dark: #25503c;--lb-success-contrast-text: #ffffff;--lb-text-primary: #2a2622;--lb-text-secondary: rgba(42, 38, 34, 0.74);--lb-text-muted: rgba(42, 38, 34, 0.68);--lb-text-disabled: rgba(42, 38, 34, 0.4);--lb-bg-default: var(--lb-color-grey-100);--lb-bg-paper: color-mix(\n in srgb,\n var(--lb-color-grey-100) 50%,\n var(--lb-color-grey-50)\n );--lb-bg-light: #fffdf8;--lb-divider: rgba(67, 126, 142, 0.18);--lb-border-main: rgba(67, 126, 142, 0.22);--lb-border-dark: rgba(67, 126, 142, 0.34);--lb-border-transparent: rgba(67, 126, 142, 0);--lb-action-active: rgba(42, 38, 34, 0.54);--lb-action-hover: rgba(54, 112, 127, 0.06);--lb-action-selected: rgba(54, 112, 127, 0.12);--lb-action-disabled: rgba(42, 38, 34, 0.26);--lb-action-disabled-bg: rgba(42, 38, 34, 0.12);--lb-action-focus: rgba(54, 112, 127, 0.16);--lb-focus-ring: #36707f;--lb-focus-glow: rgba(54, 112, 127, 0.24);--lb-focus-shadow:\n 0 0 0 2px var(--lb-bg-paper), 0 0 0 4px #36707f,\n 0 0 0 7px rgba(54, 112, 127, 0.24);--lb-focus-outline: 2px solid #36707f;--lb-focus-outline-offset: 2px;--lb-shadow-xs: 0 1px 2px rgba(42, 38, 34, 0.06);--lb-shadow-sm:\n 0 1px 2px rgba(42, 38, 34, 0.06), 0 2px 6px rgba(42, 38, 34, 0.06);--lb-shadow-md:\n 0 2px 6px rgba(42, 38, 34, 0.06), 0 8px 16px rgba(42, 38, 34, 0.08);--lb-shadow-lg:\n 0 6px 16px rgba(42, 38, 34, 0.08), 0 16px 32px rgba(42, 38, 34, 0.1);--lb-shadow-xl:\n 0 12px 28px rgba(42, 38, 34, 0.1), 0 28px 56px rgba(42, 38, 34, 0.14);--lb-glass-bg: color-mix(in srgb, var(--lb-bg-paper) 72%, transparent);--lb-glass-bg-subtle: color-mix(in srgb, var(--lb-bg-paper) 42%, transparent);--lb-glass-border: rgba(67, 126, 142, 0.22);--lb-scrim: rgba(42, 38, 34, 0.2);--lb-scrollbar-size: 8px;--lb-scrollbar-size-thin: 5px;--lb-scrollbar-radius: 9999px;--lb-scrollbar-track: transparent;--lb-scrollbar-rail: var(--lb-action-hover);--lb-scrollbar-thumb-border: 3px solid var(--lb-bg-default);--lb-scrollbar-fade-duration: 0.28s;--lb-scrollbar-thumb-solid: color-mix(\n in srgb,\n var(--lb-primary-main) 26%,\n transparent\n );--lb-scrollbar-thumb-solid-hover: color-mix(\n in srgb,\n var(--lb-primary-main) 52%,\n transparent\n );--lb-scrollbar-thumb-solid-active: var(--lb-primary-main);--lb-scrollbar-thumb-gradient: linear-gradient(\n 180deg,\n color-mix(in srgb, var(--lb-soft-primary-bg) 88%, var(--lb-primary-light)) 0%,\n color-mix(in srgb, var(--lb-soft-primary-bg-active) 82%, var(--lb-primary-main)) 100%\n );--lb-scrollbar-thumb-gradient-hover: linear-gradient(\n 180deg,\n var(--lb-primary-light) 0%,\n var(--lb-primary-main) 100%\n );--lb-scrollbar-thumb-gradient-active: linear-gradient(\n 180deg,\n var(--lb-primary-main) 0%,\n var(--lb-primary-dark) 100%\n );--lb-scrollbar-thumb-shadow:\n 0 1px 2px rgba(42, 38, 34, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.28);--lb-scrollbar-thumb-shadow-hover:\n 0 2px 6px rgba(42, 38, 34, 0.14), 0 0 10px var(--lb-focus-glow),\n inset 0 1px 0 rgba(255, 255, 255, 0.34);--lb-soft-primary-text: #274e58;--lb-soft-primary-bg: #dcecef;--lb-soft-primary-bg-hover: #bcd9e0;--lb-soft-primary-bg-active: #9cc6d1;--lb-soft-secondary-text: #854227;--lb-soft-secondary-bg: #f4ddd0;--lb-soft-secondary-bg-hover: #e7bda4;--lb-soft-secondary-bg-active: #dba47f;--lb-soft-error-text: #6f2737;--lb-soft-error-bg: #f3d4da;--lb-soft-error-bg-hover: #e8aeb8;--lb-soft-error-bg-active: #df97a4;--lb-soft-warning-text: #a8631a;--lb-soft-warning-bg: #f9e2bf;--lb-soft-warning-bg-hover: #f4cd8f;--lb-soft-warning-bg-active: #efb162;--lb-soft-info-text: #21506f;--lb-soft-info-bg: #d4e7f2;--lb-soft-info-bg-hover: #b3d3e6;--lb-soft-info-bg-active: #9cc3df;--lb-soft-success-text: #25503c;--lb-soft-success-bg: #d3ece0;--lb-soft-success-bg-hover: #aedcc4;--lb-soft-success-bg-active: #8fcdab}.dark{--lb-primary-main: #7eb3c1;--lb-primary-light: #a3c9d2;--lb-primary-dark: #5d99a8;--lb-primary-contrast-text: #0f242b;--lb-secondary-main: #d09372;--lb-secondary-light: #e2b095;--lb-secondary-dark: #a86f4f;--lb-secondary-contrast-text: #2b160c;--lb-error-main: #db8090;--lb-error-light: #e8a6b1;--lb-error-dark: #b3596b;--lb-error-contrast-text: #2b1015;--lb-warning-main: #e89a3e;--lb-warning-light: #f2bd78;--lb-warning-dark: #c17a22;--lb-warning-contrast-text: #2a1c06;--lb-info-main: #7bb0d4;--lb-info-light: #a6cce5;--lb-info-dark: #5891bb;--lb-info-contrast-text: #0e1f2b;--lb-success-main: #74bd97;--lb-success-light: #9ed5b6;--lb-success-dark: #4c9670;--lb-success-contrast-text: #0f2419;--lb-text-primary: #f5f5f4;--lb-text-secondary: rgba(245, 245, 244, 0.78);--lb-text-muted: rgba(245, 245, 244, 0.64);--lb-text-disabled: rgba(245, 245, 244, 0.42);--lb-bg-default: #181818;--lb-bg-paper: #202020;--lb-bg-light: #262626;--lb-divider: rgba(126, 179, 193, 0.14);--lb-border-main: rgba(126, 179, 193, 0.18);--lb-border-dark: rgba(126, 179, 193, 0.3);--lb-border-transparent: rgba(126, 179, 193, 0);--lb-action-active: rgba(245, 245, 244, 0.56);--lb-action-hover: rgba(126, 179, 193, 0.08);--lb-action-selected: rgba(126, 179, 193, 0.16);--lb-action-disabled: rgba(245, 245, 244, 0.3);--lb-action-disabled-bg: rgba(245, 245, 244, 0.12);--lb-action-focus: rgba(126, 179, 193, 0.24);--lb-focus-ring: #7eb3c1;--lb-focus-glow: rgba(126, 179, 193, 0.34);--lb-focus-shadow:\n 0 0 0 2px #202020, 0 0 0 4px #7eb3c1, 0 0 0 7px rgba(126, 179, 193, 0.34);--lb-focus-outline: 2px solid #7eb3c1;--lb-focus-outline-offset: 2px;--lb-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.22);--lb-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.22), 0 2px 4px rgba(0, 0, 0, 0.18);--lb-shadow-md: 0 2px 5px rgba(0, 0, 0, 0.22), 0 6px 12px rgba(0, 0, 0, 0.24);--lb-shadow-lg:\n 0 4px 10px rgba(0, 0, 0, 0.26), 0 12px 24px rgba(0, 0, 0, 0.3);--lb-shadow-xl:\n 0 8px 16px rgba(0, 0, 0, 0.28), 0 18px 36px rgba(0, 0, 0, 0.34);--lb-glass-bg: rgba(32, 32, 32, 0.62);--lb-glass-bg-subtle: rgba(32, 32, 32, 0.38);--lb-glass-border: rgba(126, 179, 193, 0.18);--lb-scrim: rgba(0, 0, 0, 0.45);--lb-scrollbar-size: 8px;--lb-scrollbar-size-thin: 5px;--lb-scrollbar-radius: 9999px;--lb-scrollbar-track: transparent;--lb-scrollbar-rail: var(--lb-action-hover);--lb-scrollbar-thumb-border: 3px solid var(--lb-bg-default);--lb-scrollbar-fade-duration: 0.28s;--lb-scrollbar-thumb-solid: color-mix(\n in srgb,\n var(--lb-primary-main) 30%,\n transparent\n );--lb-scrollbar-thumb-solid-hover: color-mix(\n in srgb,\n var(--lb-primary-main) 56%,\n transparent\n );--lb-scrollbar-thumb-solid-active: var(--lb-primary-main);--lb-scrollbar-thumb-gradient: linear-gradient(\n 180deg,\n color-mix(in srgb, var(--lb-soft-primary-bg) 92%, var(--lb-primary-light)) 0%,\n color-mix(in srgb, var(--lb-soft-primary-bg-hover) 88%, var(--lb-primary-main)) 100%\n );--lb-scrollbar-thumb-gradient-hover: linear-gradient(\n 180deg,\n var(--lb-primary-light) 0%,\n var(--lb-primary-main) 100%\n );--lb-scrollbar-thumb-gradient-active: linear-gradient(\n 180deg,\n var(--lb-primary-main) 0%,\n var(--lb-primary-dark) 100%\n );--lb-scrollbar-thumb-shadow:\n 0 1px 3px rgba(0, 0, 0, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.08);--lb-scrollbar-thumb-shadow-hover:\n 0 2px 8px rgba(0, 0, 0, 0.36), 0 0 12px var(--lb-focus-glow),\n inset 0 1px 0 rgba(255, 255, 255, 0.12);--lb-soft-primary-text: #a3c9d2;--lb-soft-primary-bg: rgba(126, 179, 193, 0.16);--lb-soft-primary-bg-hover: rgba(126, 179, 193, 0.26);--lb-soft-primary-bg-active: rgba(126, 179, 193, 0.32);--lb-soft-secondary-text: #e2b095;--lb-soft-secondary-bg: rgba(208, 147, 114, 0.16);--lb-soft-secondary-bg-hover: rgba(208, 147, 114, 0.26);--lb-soft-secondary-bg-active: rgba(208, 147, 114, 0.32);--lb-soft-error-text: #e8a6b1;--lb-soft-error-bg: rgba(219, 128, 144, 0.16);--lb-soft-error-bg-hover: rgba(219, 128, 144, 0.26);--lb-soft-error-bg-active: rgba(219, 128, 144, 0.32);--lb-soft-warning-text: #f2bd78;--lb-soft-warning-bg: rgba(232, 154, 62, 0.16);--lb-soft-warning-bg-hover: rgba(232, 154, 62, 0.26);--lb-soft-warning-bg-active: rgba(232, 154, 62, 0.32);--lb-soft-info-text: #a6cce5;--lb-soft-info-bg: rgba(123, 176, 212, 0.16);--lb-soft-info-bg-hover: rgba(123, 176, 212, 0.26);--lb-soft-info-bg-active: rgba(123, 176, 212, 0.32);--lb-soft-success-text: #9ed5b6;--lb-soft-success-bg: rgba(116, 189, 151, 0.16);--lb-soft-success-bg-hover: rgba(116, 189, 151, 0.26);--lb-soft-success-bg-active: rgba(116, 189, 151, 0.32)}"},{"filePath":"styles/docs-theme.css","content":"@font-face{font-family:\"The Future\";src:url(\"https://labelbox.com/static/fonts/The-future/the-future-light.woff2\") format(\"woff2\");font-weight:300;font-display:swap}@font-face{font-family:\"The Future\";src:url(\"https://labelbox.com/static/fonts/The-future/the-future-regular.woff2\") format(\"woff2\");font-weight:400;font-display:swap}@font-face{font-family:\"The Future\";src:url(\"https://labelbox.com/static/fonts/The-future/the-future-medium.woff2\") format(\"woff2\");font-weight:500 700;font-display:swap}@font-face{font-family:\"IBM Plex Mono\";src:url(\"https://labelbox.com/static/fonts/IBM-Plex-Mono/woff2/IBMPlexMono-Regular.woff2\") format(\"woff2\");font-weight:400;font-display:swap}@font-face{font-family:\"IBM Plex Mono\";src:url(\"https://labelbox.com/static/fonts/IBM-Plex-Mono/woff2/IBMPlexMono-Medium.woff2\") format(\"woff2\");font-weight:500;font-display:swap}@font-face{font-family:\"IBM Plex Mono\";src:url(\"https://labelbox.com/static/fonts/IBM-Plex-Mono/woff2/IBMPlexMono-SemiBold.woff2\") format(\"woff2\");font-weight:600 700;font-display:swap}html:root{--gray-50: 250 248 245;--gray-100: 241 237 230;--gray-200: 229 223 213;--gray-300: 212 204 191;--gray-400: 176 168 155;--gray-500: 132 124 112;--gray-600: 95 87 77;--gray-700: 70 64 58;--gray-800: 43 39 36;--gray-900: 26 23 20;--gray-950: 17 15 13;--lb-font-mono: \"IBM Plex Mono\", \"JetBrains Mono\", ui-monospace, SFMono-Regular, Menlo, monospace;--font-family-mono-custom: var(--lb-font-mono);--lb-panel: var(--lb-bg-light);--lb-code-bg: var(--lb-color-grey-900);--lb-code-border: color-mix(in srgb, var(--lb-primary-main) 22%, transparent);color-scheme:light}html.dark:root{--lb-panel: var(--lb-bg-paper);--lb-code-bg: var(--lb-bg-default);color-scheme:dark}html:root{--mint-background: var(--lb-code-bg);--mint-color-background: var(--lb-code-bg);--mint-color-text: var(--lb-color-grey-100);--mint-token-keyword: var(--lb-color-primary-300);--mint-token-string: var(--lb-color-success-300);--mint-token-string-expression: var(--lb-tag-mint);--mint-token-constant: var(--lb-color-warning-300);--mint-token-function: var(--lb-color-secondary-300);--mint-token-parameter: var(--lb-tag-lavender);--mint-token-comment: var(--lb-color-grey-500);--mint-token-punctuation: var(--lb-color-grey-400);--mint-token-link: var(--lb-color-primary-300);--mint-ansi-black: var(--lb-color-grey-800);--mint-ansi-red: var(--lb-color-error-300);--mint-ansi-green: var(--lb-color-success-300);--mint-ansi-yellow: var(--lb-color-warning-300);--mint-ansi-blue: var(--lb-color-info-300);--mint-ansi-magenta: var(--lb-tag-fuchsia);--mint-ansi-cyan: var(--lb-color-primary-300);--mint-ansi-white: var(--lb-color-grey-100);--mint-ansi-bright-black: var(--lb-color-grey-600);--mint-ansi-bright-red: var(--lb-color-error-200);--mint-ansi-bright-green: var(--lb-color-success-200);--mint-ansi-bright-yellow: var(--lb-color-warning-200);--mint-ansi-bright-blue: var(--lb-color-info-200);--mint-ansi-bright-magenta: var(--lb-tag-lavender);--mint-ansi-bright-cyan: var(--lb-color-primary-200);--mint-ansi-bright-white: var(--lb-color-grey-50)}html,body{background-color:var(--lb-panel)}::selection{background:var(--lb-soft-primary-bg-active);color:var(--lb-text-primary)}:focus-visible{outline:var(--lb-focus-outline);outline-offset:var(--lb-focus-outline-offset)}*{scrollbar-width:thin;scrollbar-color:var(--lb-scrollbar-thumb-solid) transparent}html #sidebar-content{border-color:var(--lb-divider)}html #navbar>.border-b{border-color:var(--lb-divider)}html #navbar>.bg-background-light{background:var(--lb-panel)}html img:is([src$=\"recursion-mark.svg\"],[src$=\"labelbox-mark.svg\"])[class]{object-position:-9999px 0;background-color:var(--lb-text-primary);-webkit-mask:center / contain no-repeat;mask:center / contain no-repeat}html img[src$=\"recursion-mark.svg\"][class]{-webkit-mask-image:url(\"/images/recursion-mark.svg\");mask-image:url(\"/images/recursion-mark.svg\")}html img[src$=\"labelbox-mark.svg\"][class]{-webkit-mask-image:url(\"/images/labelbox-mark.svg\");mask-image:url(\"/images/labelbox-mark.svg\")}html #navbar .nav-dropdown-products-selector-trigger{gap:0.55rem;height:2.125rem;padding:0 0.75rem 0 0.4rem;border:1px solid var(--lb-border-main);border-radius:9999px;background:var(--lb-glass-bg);color:var(--lb-text-primary);font-weight:500;transition:border-color var(--lb-duration-fast) var(--lb-ease), background-color var(--lb-duration-fast) var(--lb-ease)}html #navbar .nav-dropdown-products-selector-trigger:hover,html #navbar .nav-dropdown-products-selector-trigger[aria-expanded=\"true\"]{border-color:var(--lb-border-dark);background:var(--lb-soft-primary-bg)!important}html #navbar .nav-dropdown-products-selector-trigger>svg:first-child{box-sizing:content-box;width:0.875rem;height:0.875rem;padding:0.3rem;border-radius:9999px;background:var(--lb-primary-main);color:var(--lb-primary-contrast-text)}html .nav-dropdown-products-selector-content{border:1px solid var(--lb-border-main);border-radius:1rem;background:var(--lb-glass-bg);box-shadow:var(--lb-shadow-lg);backdrop-filter:var(--lb-blur-panel);-webkit-backdrop-filter:var(--lb-blur-panel)}html .nav-dropdown-products-selector-item{border-radius:0.75rem}html .nav-dropdown-products-selector-item:hover,html .nav-dropdown-products-selector-item[data-active]{background:var(--lb-action-hover)}html .nav-dropdown-products-selector-item-icon{color:var(--lb-primary-main)}html .nav-dropdown-products-selector-item-title{color:var(--lb-text-primary);font-weight:600}html .nav-dropdown-products-selector-item-description{color:var(--lb-text-muted)}html #navbar .navbar-link a,html #navbar a.navbar-link{color:var(--lb-text-secondary)}html #navbar .navbar-link a:hover,html #navbar a.navbar-link:hover{color:var(--lb-text-primary)}html #topbar-cta-button a,html a#topbar-cta-button{border-radius:var(--lb-radius);background:var(--lb-primary-main);color:var(--lb-primary-contrast-text);box-shadow:var(--lb-shadow-xs), inset 0 1px 0 color-mix(in srgb, var(--lb-color-grey-50) 16%, transparent);transition:background-color var(--lb-duration-fast) var(--lb-ease)}html #topbar-cta-button a:hover,html a#topbar-cta-button:hover{background:var(--lb-primary-dark)}html #topbar-cta-button a>span.absolute{display:none}html #topbar-cta-button :is(span,svg){color:var(--lb-primary-contrast-text)}html .nav-tabs-item{color:var(--lb-text-secondary)}html .nav-tabs-item:hover,html .nav-tabs-item[data-active]{color:var(--lb-text-primary)}html #navbar div:has(>#search-bar-entry){gap:0.5rem}html :is(#search-bar-entry,#assistant-entry){height:2.25rem;border:1px solid var(--lb-border-main);border-radius:9999px;background:var(--lb-bg-paper);color:var(--lb-text-muted);box-shadow:none;filter:none;transition:border-color var(--lb-duration-fast) var(--lb-ease),\n background-color var(--lb-duration-fast) var(--lb-ease)}html :is(#search-bar-entry,#assistant-entry):hover{border-color:var(--lb-border-dark);background:var(--lb-bg-paper);filter:none}html #assistant-entry>span:not(:last-child){color:var(--lb-text-secondary)}html :is(#search-bar-entry>span,#assistant-entry>span:last-child){padding:0.05rem 0.4rem;border:1px solid var(--lb-divider);border-radius:0.375rem;color:var(--lb-text-muted);font-family:var(--lb-font-mono);font-weight:500}html .sidebar-group-header{font-family:var(--lb-font-mono);font-size:0.6875rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--lb-text-muted)}html #sidebar-content li>a,html #sidebar-content li>button{border-radius:0.625rem;color:var(--lb-text-secondary);transition:background-color var(--lb-duration-fast) var(--lb-ease), color var(--lb-duration-fast) var(--lb-ease)}html #sidebar-content li>a:hover,html #sidebar-content li>button:hover{background:var(--lb-action-hover);color:var(--lb-text-primary)}html #sidebar-content li[data-active-nav-item]>a{position:relative;background:var(--lb-soft-primary-bg);color:var(--lb-soft-primary-text);text-shadow:none;font-weight:500}html #sidebar-content li[data-active-nav-item]>a::before{content:\"\";position:absolute;left:0.3rem;top:50%;width:3px;height:1rem;border-radius:9999px;background:var(--lb-primary-main);transform:translateY(-50%)}html .eyebrow{display:none}html #page-title{font-family:var(--lb-font-display);font-weight:400;font-size:clamp(1.875rem, 1.5rem + 0.9vw, 2.25rem);line-height:1.1;letter-spacing:-0.02em;color:var(--lb-text-primary)}html .mdx-content{--tw-prose-body: var(--lb-text-secondary);--tw-prose-headings: var(--lb-text-primary);--tw-prose-bold: var(--lb-text-primary);--tw-prose-links: var(--lb-primary-main);--tw-prose-counters: var(--lb-text-muted);--tw-prose-bullets: var(--lb-color-primary-400);--tw-prose-hr: var(--lb-divider);--tw-prose-quotes: var(--lb-text-primary);--tw-prose-quote-borders: var(--lb-primary-main);--tw-prose-th-borders: var(--lb-border-main);--tw-prose-td-borders: var(--lb-divider);--tw-prose-invert-body: var(--lb-text-secondary);--tw-prose-invert-headings: var(--lb-text-primary);--tw-prose-invert-bold: var(--lb-text-primary);--tw-prose-invert-links: var(--lb-primary-main);--tw-prose-invert-bullets: var(--lb-color-primary-400);color:var(--lb-text-secondary)}html .mdx-content :is(h2,h3,h4){font-family:var(--lb-font-display);font-weight:400;color:var(--lb-text-primary);letter-spacing:-0.012em}html .mdx-content>h2{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--lb-divider);font-size:1.625rem;line-height:1.2}html .mdx-content>h2:first-child{margin-top:0;padding-top:0;border-top:0}html .mdx-content>h3{font-size:1.25rem}html .mdx-content a:not(.card,[class*=\"not-prose\"],.hub *){color:var(--lb-primary-main);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--lb-primary-main) 35%, transparent);text-decoration-thickness:1px;text-underline-offset:3px;border-bottom:0;font-weight:500;transition:text-decoration-color var(--lb-duration-fast) var(--lb-ease)}html .mdx-content a:not(.card,[class*=\"not-prose\"],.hub *):hover{text-decoration-color:currentColor}html .mdx-content :not(pre)>code{padding:0.12em 0.4em;border:1px solid var(--lb-divider);border-radius:0.375rem;background:color-mix(in srgb, var(--lb-primary-main) 6%, var(--lb-panel));color:var(--lb-text-primary);font-family:var(--lb-font-mono);font-size:0.85em;font-weight:500}html .mdx-content :not(pre)>code::before,html .mdx-content :not(pre)>code::after{content:none}html .mdx-content table{border-collapse:separate;border-spacing:0;font-size:0.875rem}html .mdx-content thead th{background:var(--lb-bg-paper);color:var(--lb-text-primary);font-weight:600;border-bottom:1px solid var(--lb-border-main)}html .mdx-content tbody td{border-bottom:1px solid var(--lb-divider)}html .mdx-content tbody tr:hover td{background:var(--lb-action-hover)}html .mdx-content :is(thead th,tbody td){padding:0.625rem 0.875rem}html .code-block,html .code-group{border:1px solid var(--lb-code-border);border-radius:0.875rem;background:var(--lb-code-bg);box-shadow:var(--lb-shadow-md), inset 0 1px 0 color-mix(in srgb, var(--lb-color-grey-50) 5%, transparent);overflow:hidden}html .code-group .code-block{border:0;box-shadow:none}html .code-block [data-component-part=\"code-block-root\"],html .code-block pre{background-color:var(--lb-code-bg)!important}html :is(.code-block,.code-group) :is(pre,code,.line){font-family:var(--lb-font-mono)}html :is(.code-block,.code-group) :is(.whitespace-pre,pre,code,.line){white-space:pre-wrap;overflow-wrap:anywhere}html :is(.code-block,.code-group) pre>code{width:auto!important}html #content-side-layout :is(.whitespace-pre,pre,code,.line){white-space:pre;overflow-wrap:normal}html #content-side-layout pre>code{width:max-content!important}html .code-block-copy-button button{background:transparent!important;color:var(--lb-color-grey-400)}html .code-block-copy-button button:hover{color:var(--lb-color-grey-50)}html .callout{--callout-bg: var(--lb-soft-primary-bg);--callout-accent: var(--lb-primary-main);border:1px solid color-mix(in srgb, var(--callout-accent) 22%, transparent);border-radius:0.875rem;background:color-mix(in srgb, var(--callout-bg) 70%, var(--lb-panel));box-shadow:inset 3px 0 0 var(--callout-accent)}html .callout [data-component-part=\"callout-icon\"]{color:var(--callout-accent)}html .callout [data-component-part=\"callout-icon\"] svg{fill:currentColor;color:currentColor}html .callout [data-component-part=\"callout-content\"]{color:var(--lb-text-primary)}html .callout[data-callout-type=\"info\"]{--callout-bg: var(--lb-soft-info-bg);--callout-accent: var(--lb-info-main)}html .callout[data-callout-type=\"tip\"],html .callout[data-callout-type=\"check\"]{--callout-bg: var(--lb-soft-success-bg);--callout-accent: var(--lb-success-main)}html .callout[data-callout-type=\"warning\"]{--callout-bg: var(--lb-soft-warning-bg);--callout-accent: var(--lb-warning-main)}html .callout[data-callout-type=\"danger\"]{--callout-bg: var(--lb-soft-error-bg);--callout-accent: var(--lb-error-main)}html .card{border:1px solid var(--lb-border-main);border-radius:1rem;background:var(--lb-bg-light);box-shadow:var(--lb-shadow-xs);transition:transform var(--lb-duration-base) var(--lb-ease),\n box-shadow var(--lb-duration-base) var(--lb-ease),\n border-color var(--lb-duration-base) var(--lb-ease)}html .card:hover{transform:translateY(-2px);border-color:var(--lb-border-dark)!important;box-shadow:var(--lb-shadow-md), 0 0 0 4px var(--lb-card-teal-glow)}html .card [data-component-part=\"card-icon\"]{box-sizing:content-box;width:1.125rem;height:1.125rem;padding:0.5rem;border-radius:0.625rem;background:var(--lb-soft-primary-bg);color:var(--lb-soft-primary-text);fill:var(--lb-soft-primary-text)}html .card [data-component-part=\"card-icon\"]>svg{width:1.125rem;height:1.125rem;background-color:var(--lb-soft-primary-text)!important}html .card [data-component-part=\"card-title\"]{font-family:var(--lb-font-display);font-weight:500;letter-spacing:-0.005em;color:var(--lb-text-primary)}html .card [data-component-part=\"card-content\"]{color:var(--lb-text-muted);font-size:0.9375rem}html .step [data-component-part=\"step-indicator\"]{background:var(--lb-soft-primary-bg);color:var(--lb-soft-primary-text);box-shadow:0 0 0 4px var(--lb-panel), 0 0 0 5px var(--lb-border-main);font-family:var(--lb-font-mono)}html .step [data-component-part=\"step-line\"]{background:linear-gradient(var(--lb-border-dark), var(--lb-divider))}html .tabs [data-component-part=\"tabs-list\"]{border-color:var(--lb-divider)}html .tabs [data-component-part=\"tab-button\"]{color:var(--lb-text-muted)}html .tabs [data-component-part=\"tab-button\"][data-active=\"true\"]{color:var(--lb-primary-main);border-color:var(--lb-primary-main)}html .accordion,html .accordion-group{border-color:var(--lb-border-main);border-radius:0.875rem;background:var(--lb-bg-light)}html .mermaid svg{--lb-diagram-edge: color-mix(in srgb, var(--lb-primary-main) 55%, var(--lb-color-grey-400));font-family:var(--lb-font-sans)!important}html .mermaid svg :where(.node rect,.node polygon,.node circle,.node path,rect.basic,rect.actor,.cluster rect){fill:var(--lb-bg-light)!important;stroke:var(--lb-border-dark)!important;stroke-width:1px!important;rx:8px;ry:8px}html .mermaid svg .statediagram-state rect.basic{stroke:var(--lb-primary-main)!important}html .mermaid svg :is(.nodeLabel,.node .label,.node text,text.actor,.actor tspan,.cluster-label,.cluster text){color:var(--lb-text-primary)!important;fill:var(--lb-text-primary)!important;font-size:14px!important;font-weight:500!important}html .mermaid svg :is(.flowchart-link,path.transition,.edgePath path,.messageLine0,.messageLine1,line.actor-line){stroke:var(--lb-diagram-edge)!important;stroke-width:1.5px!important}html .mermaid svg line.actor-line{stroke-dasharray:3 4;stroke-width:1px!important}html .mermaid svg :is(marker path,.arrowheadPath){fill:var(--lb-diagram-edge)!important;stroke:var(--lb-diagram-edge)!important}html .mermaid svg :is(.edgeLabel,.edgeLabel p,.edgeLabel span,.labelBkg,text.messageText){background-color:var(--lb-bg-light)!important;color:var(--lb-text-secondary)!important;fill:var(--lb-text-secondary)!important;font-size:12px!important;font-weight:400!important}html .mermaid svg .edgeLabel rect{fill:var(--lb-bg-light)!important;opacity:1!important}html .mermaid svg circle.state-start,html .mermaid svg[aria-roledescription=\"stateDiagram\"] .node .outer-path>g>path{fill:var(--lb-primary-main)!important;stroke:var(--lb-primary-main)!important}html .mermaid svg[aria-roledescription=\"stateDiagram\"] .node .outer-path>path{fill:var(--lb-bg-light)!important;stroke:var(--lb-primary-main)!important}html .toc-item>a{color:var(--lb-text-muted);border-color:var(--lb-divider)}html .toc-item>a:hover{color:var(--lb-text-primary)}html .toc-item[data-active-deepest]>a{color:var(--lb-primary-main);border-color:var(--lb-primary-main)}html #pagination a{border:1px solid var(--lb-border-main);border-radius:1rem;background:var(--lb-bg-light);transition:border-color var(--lb-duration-fast) var(--lb-ease), box-shadow var(--lb-duration-fast) var(--lb-ease)}html #pagination a:hover{border-color:var(--lb-border-dark);box-shadow:var(--lb-shadow-sm)}html #footer{border-color:var(--lb-divider)}html .method-pill,html .method-nav-pill{font-family:var(--lb-font-mono);letter-spacing:0.02em}html .method-pill[class*=\"bg-green\"],html .method-nav-pill>span[class*=\"bg-green\"]{background-color:var(--lb-soft-success-bg);color:var(--lb-soft-success-text)}html .method-pill[class*=\"bg-blue\"],html .method-nav-pill>span[class*=\"bg-blue\"]{background-color:var(--lb-soft-info-bg);color:var(--lb-soft-info-text)}html .method-pill[class*=\"bg-yellow\"],html .method-pill[class*=\"bg-orange\"],html .method-nav-pill>span[class*=\"bg-yellow\"],html .method-nav-pill>span[class*=\"bg-orange\"]{background-color:var(--lb-soft-warning-bg);color:var(--lb-soft-warning-text)}html .method-pill[class*=\"bg-red\"],html .method-nav-pill>span[class*=\"bg-red\"],html [class*=\"bg-red-100/50\"][class*=\"text-red-600\"]{background-color:var(--lb-soft-error-bg);color:var(--lb-soft-error-text)}html .method-nav-pill>span[class*=\"3064E3\"]{background-color:var(--lb-primary-main);color:var(--lb-primary-contrast-text)}html .tryit-button{border-radius:10px;background-color:var(--lb-primary-main);color:var(--lb-primary-contrast-text);transition:background-color var(--lb-duration-fast) var(--lb-ease)}html .tryit-button:hover{opacity:1;background-color:var(--lb-primary-dark)}@media (prefers-reduced-motion: reduce){html .card,html .card:hover{transform:none;transition:none}}"},{"filePath":"styles/home.css","content":".hub{--hub-container: 92rem;--hub-gutter: calc(var(--spacing, 0.25rem) * 4);position:relative;color:var(--lb-text-primary);font-family:var(--lb-font-sans);overflow-x:clip}@media (min-width: 1024px){.hub{--hub-gutter: calc(var(--spacing, 0.25rem) * 9)}}html:has(.hub:not(.hub--embedded)),html:has(.hub:not(.hub--embedded)) body{background-color:var(--lb-bg-default)}html:has(.hub:not(.hub--embedded)) #navbar>.bg-background-light{background:color-mix(in srgb, var(--lb-bg-default) 82%, transparent);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2)}html:has(.hub:not(.hub--embedded)) #navbar div:has(>.nav-tabs){display:none}.hub .hub-icon{display:block;flex:none}.hub-wrap{box-sizing:border-box;width:100%;max-width:var(--hub-container);margin:0 auto;padding:0 var(--hub-gutter)}.hub-hero{padding:clamp(48px, 6vw, 96px) 0 clamp(8px, 2vw, 24px)}.hub-hero__grid{display:grid;grid-template-columns:minmax(0, 460px) minmax(0, 1fr);gap:48px;align-items:center}.hub .hub-display{margin:0;font-family:var(--lb-font-display);font-size:clamp(2.4rem, 1.1rem + 3.2vw, 3.25rem);font-weight:400;line-height:1.04;letter-spacing:-0.032em;color:var(--lb-text-primary)}.hub-display__accent{display:block;color:var(--lb-text-muted)}.hub .hub-lede{max-width:36rem;margin:22px 0 0;font-size:clamp(1.02rem, 0.98rem + 0.2vw, 1.125rem);line-height:1.6;color:var(--lb-text-secondary)}.hub-ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}.hub .hub-btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border:1px solid transparent;border-radius:10px;font-size:14.5px;font-weight:500;transition:background-color var(--lb-duration-fast) var(--lb-ease),\n border-color var(--lb-duration-fast) var(--lb-ease)}.hub .hub-btn .hub-icon{transition:transform var(--lb-duration-fast) var(--lb-ease)}.hub .hub-btn:hover .hub-icon{transform:translateX(2px)}.hub .hub-btn--primary{background:var(--lb-primary-main);color:var(--lb-primary-contrast-text)}.hub .hub-btn--primary:hover{background:var(--lb-primary-dark)}.hub .hub-btn--ghost{border-color:var(--lb-border-main);color:var(--lb-text-primary)}.hub .hub-btn--ghost:hover{border-color:var(--lb-border-dark);background:var(--lb-action-hover)}.hub-hero__copy{position:relative;z-index:20}.hub-hero__setup{display:flex;margin-top:14px}.hub-agents{position:relative;display:inline-flex;flex-direction:column;align-items:flex-start}.hub-agents__trigger{display:inline-flex;align-items:center;gap:10px;margin-left:-12px;padding:6px 12px;border:0;border-radius:10px;background:transparent;color:var(--lb-text-secondary);font:inherit;font-size:15px;line-height:24px;cursor:pointer;transition:background-color var(--lb-duration-fast) var(--lb-ease),\n color var(--lb-duration-fast) var(--lb-ease)}.hub-agents__trigger:hover,.hub-agents__trigger[aria-expanded=\"true\"]{background:var(--lb-action-hover);color:var(--lb-text-primary)}.hub-agents__marks{display:inline-flex;align-items:center;gap:6px;color:var(--lb-text-muted)}.hub-agents__chevron{display:inline-flex;transition:transform var(--lb-duration-base) var(--lb-ease)}.hub-agents__chevron.is-open{transform:rotate(180deg)}.hub-agents__panel{position:absolute;top:calc(100% + 8px);left:-12px;z-index:30;width:min(40rem, calc(100vw - 2rem));padding:12px;border:1px solid var(--lb-border-main);border-radius:16px;background:var(--lb-bg-paper);box-shadow:var(--lb-shadow-lg);animation:hub-rise var(--lb-duration-base) var(--lb-ease) both}.hub-agents__tabs{display:flex;gap:4px}.hub-agents__tab{padding:6px 12px;border:0;border-radius:10px;background:transparent;color:var(--lb-text-secondary);font:inherit;font-size:14px;line-height:20px;cursor:pointer;transition:background-color var(--lb-duration-fast) var(--lb-ease),\n color var(--lb-duration-fast) var(--lb-ease)}.hub-agents__tab:hover{background:var(--lb-action-hover);color:var(--lb-text-primary)}.hub-agents__tab.is-active{background:var(--lb-action-selected);color:var(--lb-text-primary)}.hub-agents__code{position:relative;margin-top:12px;overflow:hidden;border:1px solid var(--lb-border-main);border-radius:10px;background:var(--lb-bg-default)}.hub .hub-agents__pre{max-height:16rem;margin:0;padding:16px 48px 32px 16px;overflow:auto;background:transparent;color:var(--lb-text-primary);font-family:var(--lb-font-mono);font-size:12.5px;line-height:20px;white-space:pre-wrap;overflow-wrap:anywhere}.hub-agents__fade{position:absolute;right:0;bottom:0;left:0;height:40px;background:linear-gradient(to top, var(--lb-bg-default), transparent);pointer-events:none}.hub-agents__copy{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:10px;background:var(--lb-bg-default);color:var(--lb-text-secondary);cursor:pointer;transition:background-color var(--lb-duration-fast) var(--lb-ease),\n color var(--lb-duration-fast) var(--lb-ease)}.hub-agents__copy:hover{background:var(--lb-action-hover);color:var(--lb-text-primary)}.hub .hub-agents__hint{margin:10px 0 0;padding:0 4px;color:var(--lb-text-muted);font-size:14px;line-height:20px}.hub-agents__guide{margin-left:6px;color:var(--lb-primary-main);font-weight:500;text-decoration:none}.hub-agents__guide:hover{text-decoration:underline}@keyframes hub-rise{from{opacity:0;transform:translateY(6px)}}.hub-hero__stage{min-width:0;padding:6px;border:1px solid var(--lb-divider);border-radius:18px;background:var(--lb-bg-paper)}.hub-console{--hub-console-canvas: var(--lb-bg-default);--hub-console-surface: var(--lb-bg-light);position:relative;width:100%;overflow:hidden;border-radius:12px;background:var(--hub-console-canvas);color:var(--lb-text-primary);font-family:var(--lb-font-sans);user-select:none}.dark .hub-console{--hub-console-surface: var(--lb-bg-paper)}.hub-console .hue-violet{--hue: var(--lb-tag-violet)}.hub-console .hue-teal{--hue: var(--lb-tag-teal)}.hub-console .hue-terracotta{--hue: var(--lb-tag-terracotta)}.hub-console .hue-sky{--hue: var(--lb-info-main)}.hub-console .hue-green{--hue: var(--lb-success-main)}.hub-console .hue-amber{--hue: var(--lb-warning-main)}.hub-console .hue-crimson{--hue: var(--lb-error-main)}.hub-console .hue-slate{--hue: var(--lb-text-muted)}.hc-stage{position:absolute;top:0;left:0;display:grid;grid-template-columns:188px minmax(0, 1fr);transform-origin:0 0;font-size:12.5px;line-height:1.35}.hc-nav{display:flex;flex-direction:column;min-height:0;padding:12px 10px;border-right:1px solid var(--lb-divider);color:var(--lb-text-secondary)}.hc-brand{display:flex;align-items:center;gap:10px;padding:2px 6px 14px;color:var(--lb-text-muted)}.hc-brand__mark{color:var(--lb-text-primary)}.hc-brand__text{display:flex;flex:1;flex-direction:column;min-width:0}.hc-brand__text b{font-size:13px;font-weight:600;color:var(--lb-text-primary)}.hc-brand__text small{font-size:10.5px;color:var(--lb-text-muted)}.hc-nav__list,.hc-nav__foot{display:flex;flex-direction:column;gap:2px}.hc-nav__foot{margin-top:auto;padding-top:10px;border-top:1px solid var(--lb-divider)}.hc-nav__item{display:flex;align-items:center;gap:10px;height:30px;padding:0 8px;border-radius:7px;font-size:13px;white-space:nowrap}.hc-nav__item>span{flex:1}.hc-nav__item.is-sub{margin-left:12px}.hc-nav__item.is-active{background:var(--lb-action-selected);color:var(--lb-text-primary)}.hc-nav__item--small{height:26px;font-size:11.5px;color:var(--lb-text-muted)}.hc-main{display:flex;flex-direction:column;gap:10px;min-width:0;min-height:0;padding:10px 14px 14px}.hc-header{display:flex;flex:none;align-items:center;gap:10px;height:40px}.hc-sqbtn{display:grid;flex:none;place-items:center;width:26px;height:26px;border:1px solid var(--lb-border-main);border-radius:7px;color:var(--lb-text-secondary)}.hc-sqbtn--sm{width:20px;height:20px;border-radius:5px}.hc-sqbtn--on{border-color:var(--lb-primary-main);color:var(--lb-primary-main)}.hc-title{font-size:14px;font-weight:600;white-space:nowrap}.hc-state{display:inline-flex;align-items:center;gap:6px;color:var(--hue);font-size:12.5px;font-weight:500;white-space:nowrap}.hc-dot{flex:none;width:6px;height:6px;border-radius:50%;background:var(--hue, currentColor)}.hc-dot.is-live{animation:hc-pulse 1.2s ease-in-out infinite}.hc-id{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--lb-text-muted);font-family:var(--lb-font-mono);font-size:11.5px}.hc-metrics{display:flex;gap:22px;margin-left:auto}.hc-metric{display:flex;flex-direction:column;gap:1px;white-space:nowrap}.hc-metric small{color:var(--lb-text-muted);font-size:9.5px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase}.hc-metric b{font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums}.hc-more{color:var(--lb-text-muted)}.hc-btn{display:inline-flex;flex:none;align-items:center;justify-content:center;height:30px;padding:0 12px;border:1px solid var(--lb-border-main);border-radius:8px;background:var(--hub-console-surface);font-size:12.5px;font-weight:600;white-space:nowrap}.hc-toolbar{display:flex;flex:none;align-items:center;gap:8px;height:28px}.hc-find{display:inline-flex;align-items:center;gap:8px;width:176px;height:26px;padding:0 12px;border:1px solid var(--lb-border-main);border-radius:999px;color:var(--lb-text-muted);font-size:12px}.hc-spacer{flex:1}.hc-select{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 8px 0 10px;border:1px solid var(--lb-border-main);border-radius:7px;color:var(--lb-text-secondary);font-size:12px}.hc-zoom{display:inline-flex;gap:10px;padding:0 6px;color:var(--lb-text-secondary);font-size:11.5px;font-variant-numeric:tabular-nums}.hc-zoom i{font-style:normal;color:var(--lb-text-muted)}.hc-card{border:1px solid var(--lb-border-main);border-radius:8px;background:var(--hub-console-surface)}.hc-strip{position:relative;display:flex;flex:none;flex-direction:column;gap:6px;padding:28px 14px 18px}.hc-lane{position:relative;height:18px;border:1px solid var(--lb-divider);border-radius:999px;background:var(--lb-bg-default)}.hc-mark{position:absolute;top:3px;bottom:3px;width:3px;margin-left:-1px;border-radius:2px;background:var(--hue)}.hc-mark.is-span{margin-left:0;border-radius:3px;background:color-mix(in srgb, var(--hue) 72%, transparent)}.hc-lane__pill{position:absolute;z-index:1;top:50%;margin-left:2px;padding:1px 8px;transform:translateY(-50%);border:1px solid color-mix(in srgb, var(--hue) 55%, transparent);border-radius:999px;background:color-mix(in srgb, var(--hue) 30%, var(--hub-console-surface));color:var(--lb-text-primary);font-size:10.5px;font-weight:600;white-space:nowrap}.hc-lane__pill.is-idle{opacity:0.35}.hc-lane__end{position:absolute;top:1px;bottom:1px;width:10px;margin-left:-10px;border:1.5px solid var(--lb-text-muted);border-radius:5px}.hc-playhead{position:absolute;z-index:2;top:10px;bottom:12px;width:1px;background:var(--lb-primary-main)}.hc-playhead__time{position:absolute;top:-4px;left:50%;padding:1px 6px;transform:translateX(-50%);border:1px solid var(--lb-border-main);border-radius:4px;background:var(--lb-bg-light);font-family:var(--lb-font-mono);font-size:10px;white-space:nowrap}.hc-body{display:grid;flex:1;grid-template-columns:minmax(0, 1fr) 272px;gap:12px;min-height:0}.hc-left{display:flex;flex-direction:column;gap:10px;min-width:0;min-height:0}.hc-outcome{display:flex;flex:none;align-items:center;gap:10px;height:36px;padding:0 12px;white-space:nowrap}.hc-outcome b{font-weight:600}.hc-objective{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--lb-text-secondary)}.hc-details{color:var(--lb-text-secondary);font-size:12px;font-weight:600}.hc-transcript{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.hc-feed{display:flex;flex:1;flex-direction:column;justify-content:flex-end;gap:6px;min-height:0;padding:10px 12px;overflow:hidden;mask-image:linear-gradient(to bottom, transparent, black 64px)}.hc-row{flex:none;animation:hc-in 420ms var(--lb-ease) both}.hc-tool{display:flex;align-items:center;gap:8px;min-width:0;height:30px;padding:0 10px;border:1px solid var(--lb-divider);border-radius:6px;color:var(--lb-text-muted);white-space:nowrap}.hc-tool b{color:var(--lb-text-primary);font-family:var(--lb-font-mono);font-size:12px;font-weight:600}.hc-arg{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--lb-text-secondary);font-family:var(--lb-font-mono);font-size:11.5px}.hc-ms{color:var(--lb-text-muted);font-family:var(--lb-font-mono);font-size:11px}.hc-thread{padding:1px 7px;border-radius:999px;background:color-mix(in srgb, var(--hue) 30%, var(--hub-console-surface));color:var(--lb-text-primary);font-size:10.5px;font-weight:600}.hc-chip{padding:2px 7px;border-radius:4px;background:var(--lb-action-selected);color:var(--lb-text-secondary);font-size:10.5px;font-weight:600}.hc-msg{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--lb-divider);border-radius:6px;line-height:1.45}.hc-msg>span{flex:1}.hc-msg>svg{color:var(--lb-text-muted)}.hc-msg.is-user{flex-direction:column;align-items:flex-start;gap:2px;border-color:color-mix(in srgb, var(--lb-info-main) 35%, transparent);background:color-mix(in srgb, var(--lb-info-main) 8%, transparent)}.hc-msg small{color:var(--lb-info-main);font-size:10.5px;font-weight:600}.hc-statusline{display:flex;align-items:center;justify-content:center;gap:6px;height:22px;color:var(--lb-text-secondary);font-size:11px;font-weight:500}.hc-composer{flex:none;padding:10px 12px 12px;border-top:1px solid var(--lb-divider)}.hc-input{height:44px;padding:9px 11px;border:1px solid var(--lb-border-main);border-radius:6px;background:var(--lb-bg-default);color:var(--lb-text-muted)}.hc-composer__foot{display:flex;align-items:center;justify-content:space-between;margin-top:8px;color:var(--lb-text-muted);font-size:11px}.hc-send{padding:5px 14px;border-radius:6px;background:color-mix(in srgb, var(--lb-primary-main) 30%, var(--hub-console-surface));color:var(--lb-text-secondary);font-size:12px;font-weight:600}.hc-rail{display:flex;flex-direction:column;min-height:0;overflow:hidden}.hc-tabs{display:flex;flex:none;gap:14px;padding:0 12px;border-bottom:1px solid var(--lb-divider)}.hc-tabs span{margin-bottom:-1px;padding:9px 0 8px;border-bottom:2px solid transparent;color:var(--lb-text-muted);font-size:12px;font-weight:500}.hc-tabs .is-active{border-bottom-color:var(--lb-primary-main);color:var(--lb-primary-main)}.hc-sect{flex:none;padding:10px 12px 12px;border-bottom:1px solid var(--lb-divider)}.hc-sect--last{border-bottom:0}.hc-sect__title{margin-bottom:6px;font-size:12.5px;font-weight:600;color:var(--lb-text-primary)}.hub-console .hc-note{margin:0 0 6px;color:var(--lb-text-secondary);font-size:12px;line-height:1.4}.hc-kv{display:grid;grid-template-columns:104px minmax(0, 1fr);gap:8px;padding:3px 0;font-size:12px}.hc-kv span{color:var(--lb-text-secondary)}.hc-kv b{font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.hc-kv--title{grid-template-columns:minmax(0, 1fr) auto}.hc-kv--title .hc-sect__title{margin:0;color:var(--lb-text-primary)}.hc-spark{display:block;width:100%;height:44px;margin-top:6px}.hc-spark__area{fill:color-mix(in srgb, var(--lb-primary-main) 18%, transparent)}.hc-spark__line{fill:none;stroke:var(--lb-primary-main);stroke-width:1.5;vector-effect:non-scaling-stroke}.hc-stage.is-compact{grid-template-columns:minmax(0, 1fr)}.hc-stage.is-compact .hc-nav,.hc-stage.is-compact .hc-metric--model,.hc-stage:is(.is-medium,.is-compact) .hc-rail,.hc-stage:is(.is-medium,.is-compact) .hc-id,.hc-stage:is(.is-medium,.is-compact) .hc-sqbtn--sm,.hc-stage:is(.is-medium,.is-compact) .hc-more{display:none}.hc-stage:is(.is-medium,.is-compact) .hc-body{grid-template-columns:minmax(0, 1fr)}.hc-stage:is(.is-medium,.is-compact) .hc-sqbtn--on{border-color:var(--lb-border-main);color:var(--lb-text-secondary)}@keyframes hc-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes hc-pulse{50%{opacity:0.35}}.hub-section{padding:clamp(56px, 7vw, 104px) 0 0}.hub-section__head{max-width:40rem;margin-bottom:clamp(24px, 3vw, 36px)}.hub .hub-h2{margin:0;font-family:var(--lb-font-display);font-size:clamp(1.75rem, 1.25rem + 1.3vw, 2.4rem);font-weight:400;line-height:1.1;letter-spacing:-0.022em;color:var(--lb-text-primary);text-wrap:balance}.hub .hub-h2--spaced{margin:clamp(40px, 5vw, 64px) 0 20px;font-size:clamp(1.4rem, 1.15rem + 0.7vw, 1.75rem)}.hub .hub-section__desc{max-width:36rem;margin:12px 0 0;font-size:1.0625rem;line-height:1.6;color:var(--lb-text-secondary)}.hub-paths{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:1px;overflow:hidden;border:1px solid var(--lb-divider);border-radius:14px;background:var(--lb-divider)}.hub .hub-path{display:flex;flex-direction:column;min-height:208px;padding:24px;background:var(--lb-bg-light);color:var(--lb-text-primary);transition:background-color var(--lb-duration-fast) var(--lb-ease)}.hub .hub-path:hover{background:color-mix(in srgb, var(--lb-action-hover) 60%, var(--lb-bg-light))}.hub-path__icon{color:var(--lb-text-secondary)}.hub-path__title{margin-top:28px;font-size:15.5px;font-weight:600;letter-spacing:-0.005em}.hub-path__desc{flex:1;margin-top:6px;font-size:14px;line-height:1.55;color:var(--lb-text-secondary)}.hub-path__cta{display:inline-flex;align-items:center;gap:6px;margin-top:20px;font-size:13.5px;font-weight:500;color:var(--lb-primary-main)}.hub-path__cta .hub-icon{transition:transform var(--lb-duration-fast) var(--lb-ease)}.hub .hub-path:hover .hub-path__cta .hub-icon{transform:translateX(3px)}.hub-split{display:grid;grid-template-columns:minmax(0, 0.82fr) minmax(0, 1.18fr);gap:clamp(28px, 5vw, 72px);align-items:center}.hub-links{display:flex;flex-wrap:wrap;gap:22px;margin-top:26px}.hub .hub-link{display:inline-flex;align-items:center;gap:6px;color:var(--lb-primary-main);font-size:14.5px;font-weight:500}.hub .hub-link .hub-icon{transition:transform var(--lb-duration-fast) var(--lb-ease)}.hub .hub-link:hover .hub-icon{transform:translateX(3px)}html .hub-split__code .code-group{margin:0;box-shadow:none}.hub-caps{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));column-gap:32px}.hub .hub-cap{display:flex;gap:12px;padding:18px 0 20px;border-top:1px solid var(--lb-divider);color:var(--lb-text-primary)}.hub-cap__icon{margin-top:2px;color:var(--lb-text-muted);transition:color var(--lb-duration-fast) var(--lb-ease)}.hub .hub-cap:hover .hub-cap__icon,.hub .hub-cap:hover .hub-cap__title{color:var(--lb-primary-main)}.hub-cap__title,.hub-band__title{display:flex;align-items:center;gap:6px;font-size:14.5px;font-weight:600;transition:color var(--lb-duration-fast) var(--lb-ease)}.hub-cap__text,.hub-band__text{display:block;margin-top:3px;font-size:13.5px;line-height:1.45;color:var(--lb-text-secondary)}.hub-band{display:grid;grid-template-columns:minmax(0, 0.9fr) minmax(0, 1.1fr);gap:clamp(28px, 5vw, 72px);padding:clamp(28px, 4vw, 52px);border:1px solid var(--lb-border-main);border-radius:18px;background:var(--lb-panel);color:var(--lb-text-primary)}.hub-band__copy{align-self:center}.hub-band__links{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));column-gap:28px}.hub .hub-band__link{display:block;padding:16px 0 18px;border-top:1px solid var(--lb-divider);color:var(--lb-text-primary)}.hub-band__title .hub-icon{color:var(--lb-text-muted);transition:transform var(--lb-duration-fast) var(--lb-ease)}.hub .hub-band__link:hover .hub-band__title{color:var(--lb-primary-main)}.hub .hub-band__link:hover .hub-band__title .hub-icon{transform:translateX(2px);color:var(--lb-primary-main)}.hub-foot{margin-top:clamp(64px, 8vw, 112px);padding:28px 0 44px;border-top:1px solid var(--lb-divider)}.hub-foot__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.hub-foot__brand{display:inline-flex;align-items:center;gap:8px;color:var(--lb-text-primary);font-size:14px;font-weight:600}.hub-foot__links{display:flex;flex-wrap:wrap;gap:8px 22px}.hub .hub-foot__links a{font-size:14px;color:var(--lb-text-secondary);transition:color var(--lb-duration-fast) var(--lb-ease)}.hub .hub-foot__links a:hover{color:var(--lb-text-primary)}.hub--embedded{margin-top:8px}.hub--embedded .hub-paths{grid-template-columns:repeat(3, minmax(0, 1fr))}.hub--embedded .hub-path{min-height:196px;background:var(--lb-panel)}.hub--embedded .hub-split{margin-top:clamp(40px, 5vw, 64px);padding:clamp(24px, 3vw, 36px);border:1px solid var(--lb-divider);border-radius:14px}.hub--embedded .hub-caps{grid-template-columns:repeat(3, minmax(0, 1fr))}@media (max-width: 1180px){.hub-hero__grid{grid-template-columns:minmax(0, 1fr);gap:clamp(40px, 6vw, 56px)}.hub-hero__copy{max-width:40rem}}@media (max-width: 1100px){.hub-paths{grid-template-columns:repeat(2, minmax(0, 1fr))}.hub-caps{grid-template-columns:repeat(3, minmax(0, 1fr))}}@media (max-width: 1023px){.hub-split,.hub-band{grid-template-columns:minmax(0, 1fr)}}@media (max-width: 640px){.hub-paths,.hub--embedded .hub-paths,.hub-band__links{grid-template-columns:minmax(0, 1fr)}.hub-caps,.hub--embedded .hub-caps{grid-template-columns:repeat(2, minmax(0, 1fr))}.hub .hub-path,.hub--embedded .hub-path{min-height:0}.hub-path__title{margin-top:18px}.hub-hero__stage{padding:4px;border-radius:14px}}@media (prefers-reduced-motion: reduce){.hc-row,.hc-dot.is-live,.hub-agents__panel{animation:none}}"}],"page":{"pagePath":"api-reference/sessions/get-root-timeline-events","slug":"/api-reference/sessions/get-root-timeline-events","pageMetadata":{"title":"Get root timeline events","description":"Returns one page of the root timeline's events in chronological order, plus next_page_token to continue from. A page can come back shorter than limit because an aggregate serialized-byte budget applies as well as the count, so treat an empty page with no token as the end rather than inferring the end from the length. Large event payloads hydrate by default; pass payloads=refs for bounded stubs instead.","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/{sessionId}/events","href":"/api-reference/sessions/get-root-timeline-events","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Returns one page of the root timeline’s events in chronological order, plus next_page_token to continue from. A page can come back shorter than limit because an aggregate serialized-byte budget applies as well as the count, so treat an empty page with no token as the end rather than inferring the end from the length. Large event payloads hydrate by default; pass payloads=refs for bounded stubs instead.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"codeStyling":{"theme":"css-variables"},"config":{},"pageMetadata":{"title":"Get root timeline events","description":"Returns one page of the root timeline's events in chronological order, plus next_page_token to continue from. A page can come back shorter than limit because an aggregate serialized-byte budget applies as well as the count, so treat an empty page with no token as the end rather than inferring the end from the length. Large event payloads hydrate by default; pass payloads=refs for bounded stubs instead.","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/{sessionId}/events","href":"/api-reference/sessions/get-root-timeline-events","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/labelbox-1db23ff4/9ed4bd14b1b0eec8/navbar.js"],"openApiReferenceData":{"operation":{"tags":["Sessions"],"summary":"Get root timeline events","description":"Returns one page of the root timeline's events in chronological order, plus next_page_token to continue from. A page can come back shorter than limit because an aggregate serialized-byte budget applies as well as the count, so treat an empty page with no token as the end rather than inferring the end from the length. Large event payloads hydrate by default; pass payloads=refs for bounded stubs instead.","operationId":"managedAgentsListSessionEvents","parameters":["33621af8-5f6d-4306-a642-e5b77bd8ff13","518b5f80-7c45-4e23-b466-3c3c3b0c8736","b026c90c-44e8-4b99-8a1e-c7c25bcd438d","71f8794f-f0db-49e7-a585-bdaa70305862","9f8f5304-a8e6-4d95-b97a-b72a046c0347","551bf815-5999-4b20-8a5d-9eb50357d02e","97b37869-b7e8-4710-ba67-92ccdc353504","35227d05-337b-4411-b095-63bd472b546c"],"responses":{"200":"03ea50b0-f6f3-4ca5-b9fd-6c3300986e19","400":"05c182ce-ca3b-47d9-abe7-742b17c8dc5b","401":"3c6701bf-77a6-4b37-9b96-541ccdf628c7","403":"07b609c8-5aa6-4227-af9a-8fe650c76065","404":"66aab066-100c-41bb-9301-bb9706a45750","413":"cda3d433-e4e5-4514-a5c8-42478e01a1c5","429":"197762bb-d066-4a89-b289-f5b34453f20a","500":"3c1aaebb-1f28-4d1b-9d88-846581fd0f41","502":"7a452e71-7a57-4c2b-92bb-8369e43037ad","503":"35d4ddc5-579d-4268-ab6a-a8880a1ea20e","504":"b97dd406-1991-4507-a0ee-2e6622964c60"},"method":"get","type":"path","servers":["eac8fda5-fabb-42c9-b41c-cb7bcd1fd088"],"security":["c1ebf5cf-a1ae-45f0-b402-3d35a5b5dd82"],"path":"/managed-agents/v1/sessions/{sessionId}/events","baseUrlOptions":["https://api.recursion.labelbox.com"],"title":"Get root timeline events","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"33621af8-5f6d-4306-a642-e5b77bd8ff13":{"description":"Exclusive continuation cursor: a lowercase canonical UUID event id, normally the previous page's next_page_token. Malformed values return 400.","in":"query","name":"after_event_id","schema":{"description":"Exclusive continuation cursor: a lowercase canonical UUID event id, normally the previous page's next_page_token. Malformed values return 400.","type":"string","uniqueKey":"","typeLabel":"string"}},"518b5f80-7c45-4e23-b466-3c3c3b0c8736":{"description":"Maximum event count requested. The response may contain fewer events when the aggregate serialized-byte budget is reached.","in":"query","name":"limit","schema":{"default":100,"description":"Maximum event count requested. The response may contain fewer events when the aggregate serialized-byte budget is reached.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"","typeLabel":"integer"}},"b026c90c-44e8-4b99-8a1e-c7c25bcd438d":{"description":"Opt-in compatibility mode. images rehydrates private image refs under strict response caps; omitted by default.","in":"query","name":"hydrate","schema":{"description":"Opt-in compatibility mode. images rehydrates private image refs under strict response caps; omitted by default.","enum":["images"],"type":"string","uniqueKey":"","typeLabel":"enum\u003cstring>"}},"71f8794f-f0db-49e7-a585-bdaa70305862":{"description":"Set to signed to add a short-lived url (and url_expires_at) to stored image blocks within the per-read signing budget. Omitted when signing is unavailable or the budget is exhausted; the authenticated managedAgentsGetSessionImage endpoint always works.","in":"query","name":"image_urls","schema":{"description":"Set to signed to add a short-lived url (and url_expires_at) to stored image blocks within the per-read signing budget. Omitted when signing is unavailable or the budget is exhausted; the authenticated managedAgentsGetSessionImage endpoint always works.","enum":["signed"],"type":"string","uniqueKey":"","typeLabel":"enum\u003cstring>"}},"9f8f5304-a8e6-4d95-b97a-b72a046c0347":{"description":"External event payloads hydrate by default. Set refs to return bounded stubs and private reference metadata only.","in":"query","name":"payloads","schema":{"description":"External event payloads hydrate by default. Set refs to return bounded stubs and private reference metadata only.","enum":["refs"],"type":"string","uniqueKey":"","typeLabel":"enum\u003cstring>"}},"551bf815-5999-4b20-8a5d-9eb50357d02e":{"description":"Session id (UUID) whose root timeline is read.","in":"path","name":"sessionId","required":true,"schema":{"description":"Session id (UUID) whose root timeline is read.","format":"uuid","type":"string","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"}},"97b37869-b7e8-4710-ba67-92ccdc353504":{"name":"x-tenant-id","in":"header","required":false,"description":"Optional tenant consistency check. When present, it must name the tenant bound to the API key, including when x-organization-id is `default`.","schema":{"type":"string","minLength":1,"isRequired":false,"description":"Optional tenant consistency check. When present, it must name the tenant bound to the API key, including when x-organization-id is `default`.","uniqueKey":"","typeLabel":"string"}},"35227d05-337b-4411-b095-63bd472b546c":{"name":"x-organization-id","in":"header","required":false,"description":"Organization in which to act. Required for a tenant-scoped API key. Optional for an organization-scoped key, where it must name that same organization. The value may be an organization id or `default`.","schema":{"type":"string","minLength":1,"isRequired":false,"description":"Organization in which to act. Required for a tenant-scoped API key. Optional for an organization-scoped key, where it must name that same organization. The value may be an organization id or `default`.","uniqueKey":"","typeLabel":"string"}}},"responses":{"03ea50b0-f6f3-4ca5-b9fd-6c3300986e19":{"content":{"application/json":{"schema":{"description":"Response body of GET /managed-agents/v1/sessions/{sessionId}/events: one page of the merged chronological timeline for the whole session tree the path session belongs to, not just that session's own events. The page is bounded twice, by the limit parameter and by an aggregate serialized-byte budget, and the byte budget wins; a single event too large for the budget is returned alone with its content marked oversized and must be fetched in full from the per-event content endpoint.","properties":{"events":{"oneOf":[{"description":"One chronological page of the root timeline, oldest first. Null rather than an empty array when no event follows the requested watermark, which is the normal answer when a caller has already read to the end.","items":{"description":"One durable entry in a session's transcript: a message, a tool call or result, an approval, or a status change, with the provider message body and the token accounting for the call that produced it. Returned when listing or streaming a session's events.","properties":{"actor":{"description":"Who produced this event, as a namespaced identifier: human:… for a person, system:… for the service itself, or an agent identity.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].actor","typeLabel":"string"},"content":{"description":"The event's content blocks in this API's format. They are rebuilt for each model provider, and block types a provider request does not support never reach the model.","properties":{"blocks":{"oneOf":[{"description":"Ordered content blocks of this message, in the provider's content-block form. Empty for events that carry no message body.","items":{"description":"One block of message content: text, image, tool_use, tool_result, thinking, or a provider passthrough. The type field says which fields apply. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model.","properties":{"type":{"description":"Block discriminator: text, image, document (a user-sent block naming a file by id, inlined as text when the message is accepted), tool_use, tool_result, thinking, redacted_thinking, or a provider passthrough type. Which of the other fields apply depends on this value.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].type","typeLabel":"string"},"byte_size":{"description":"Decoded image byte size.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].byte_size","typeLabel":"integer\u003cint64>"},"content":{"description":"Nested blocks carrying a tool_result payload, so a tool can return both text and images.","items":{"$circularRef":"f8169b9e-0dbc-41e0-9fc8-597ef6809d0f"},"type":"array","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].content","typeLabel":"array"},"context":{"description":"A document block's context: what the model should know about the document before reading it, disclosed as its first paragraph.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].context","typeLabel":"string"},"data":{"description":"Base64 image bytes. Omitted from default reads and present only for legacy storage or explicit hydrate=images responses.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].data","typeLabel":"string"},"encrypted_content":{"description":"Sealed reasoning payload for providers that return reasoning encrypted. Opaque to clients; replay it verbatim.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].encrypted_content","typeLabel":"string"},"height":{"description":"Validated image height in pixels.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].height","typeLabel":"integer"},"id":{"description":"Provider-assigned id of a tool_use block. Echo it back as tool_use_id on the matching tool_result.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].id","typeLabel":"string"},"input":{"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].input.additionalProperties.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].input.additionalProperties.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].input.additionalProperties.oneOf.2","typeLabel":"string"},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].input.additionalProperties.oneOf.3","typeLabel":"integer"},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].input.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].input.additionalProperties.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].input.additionalProperties.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].input.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].input.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Tool arguments the model produced for a tool_use block, matching that tool's input schema.","type":"object","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].input","typeLabel":"object"},"is_error":{"description":"True when a tool_result reports that the tool call failed; the nested content then carries the error detail.","type":"boolean","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].is_error","typeLabel":"boolean"},"media_type":{"description":"Declared media type; inline computer-use images allow image/jpeg, image/png, and image/webp.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].media_type","typeLabel":"string"},"name":{"description":"Name of the tool the model is invoking, on a tool_use block.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].name","typeLabel":"string"},"omitted_bytes":{"description":"Original byte count reported by a redacted image placeholder.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].omitted_bytes","typeLabel":"integer\u003cint64>"},"payload":{"oneOf":[{"type":"null","description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model.","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].payload.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model.","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].payload.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model.","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].payload.oneOf.2","typeLabel":"string"},{"type":"integer","description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].payload.oneOf.3","typeLabel":"integer"},{"type":"number","description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model.","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].payload.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].payload.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model.","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].payload.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model.","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].payload.oneOf.6","typeLabel":"object"}],"uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].payload","typeLabel":"null | boolean | string | integer | number | any[] | object"},"provider":{"description":"Provider that emitted a passthrough block, e.g. anthropic or openai, telling readers how to interpret payload.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].provider","typeLabel":"string"},"provider_payload":{"oneOf":[{"type":"null","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay.","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].provider_payload.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay.","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].provider_payload.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay.","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].provider_payload.oneOf.2","typeLabel":"string"},{"type":"integer","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].provider_payload.oneOf.3","typeLabel":"integer"},{"type":"number","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay.","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].provider_payload.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].provider_payload.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay.","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].provider_payload.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay.","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].provider_payload.oneOf.6","typeLabel":"object"}],"uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].provider_payload","typeLabel":"null | boolean | string | integer | number | any[] | object"},"redacted":{"description":"True when the block's content was withheld (redacted thinking, or an image dropped by redaction); the remaining fields describe what was removed.","type":"boolean","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].redacted","typeLabel":"boolean"},"semantic_hint":{"description":"Coarse hint about what an unmodeled provider block represents, so a reader can render it without provider-specific logic.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].semantic_hint","typeLabel":"string"},"sha256":{"description":"Lowercase SHA-256 digest of decoded image bytes.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].sha256","typeLabel":"string"},"signature":{"description":"Provider-issued signature over a thinking block, or the thought signature a Gemini tool_use block was issued with, required for the provider to accept that block on a later turn. Opaque; replay it verbatim.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].signature","typeLabel":"string"},"source":{"description":"Where a user-sent image or document block's bytes came from when they were named rather than sent inline: {type: \"file\", file_id}. Kept on the stored block as provenance after the bytes were copied into the session; an image block then also carries the session's own uri.","properties":{"file_id":{"type":"string","minLength":1,"description":"Nonempty id of an unexpired file in the caller's organization.","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].source.file_id","typeLabel":"string"},"type":{"type":"string","const":"file","description":"Always file.","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].source.type","typeLabel":"string"}},"required":["type","file_id"],"type":"object","additionalProperties":false,"uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].source","typeLabel":"object"},"summary":{"description":"Readable summary blocks a provider returns alongside sealed or long-form reasoning.","items":{"$circularRef":"f8169b9e-0dbc-41e0-9fc8-597ef6809d0f"},"type":"array","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].summary","typeLabel":"array"},"text":{"description":"Text of a text block, or the reasoning text of a thinking block.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].text","typeLabel":"string"},"title":{"description":"A document block's title, disclosed to the model beside the document.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].title","typeLabel":"string"},"tool_use_id":{"description":"Id of the tool_use block that this tool_result answers.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].tool_use_id","typeLabel":"string"},"uri":{"description":"Private typed content reference. Fetch it through managedAgentsGetSessionImage; clients cannot read this URI directly.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].uri","typeLabel":"string"},"url":{"description":"Short-lived HTTPS URL for the image bytes. Present only when the read asked for image_urls=signed and the deployment has signing configured. Never stored; fetch a fresh read after url_expires_at.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].url","typeLabel":"string"},"url_expires_at":{"description":"When url stops working. Absent whenever url is.","format":"date-time","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].url_expires_at","typeLabel":"string\u003cdate-time>"},"width":{"description":"Validated image width in pixels.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX].width","typeLabel":"integer"}},"required":["type"],"type":"object","additionalProperties":false,"uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.0","typeLabel":"object[]"},{"description":"Ordered content blocks of this message, in the provider's content-block form. Empty for events that carry no message body.","items":{"description":"One block of message content: text, image, tool_use, tool_result, thinking, or a provider passthrough. The type field says which fields apply. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model.","properties":{"byte_size":{"description":"Decoded image byte size.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"content":{"description":"Nested blocks carrying a tool_result payload, so a tool can return both text and images.","items":{"$circularRef":"f8169b9e-0dbc-41e0-9fc8-597ef6809d0f"},"type":"array"},"context":{"description":"A document block's context: what the model should know about the document before reading it, disclosed as its first paragraph.","type":"string"},"data":{"description":"Base64 image bytes. Omitted from default reads and present only for legacy storage or explicit hydrate=images responses.","type":"string"},"encrypted_content":{"description":"Sealed reasoning payload for providers that return reasoning encrypted. Opaque to clients; replay it verbatim.","type":"string"},"height":{"description":"Validated image height in pixels.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"id":{"description":"Provider-assigned id of a tool_use block. Echo it back as tool_use_id on the matching tool_result.","type":"string"},"input":{"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"array","items":{"oneOf":[{}]},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."}]},"description":"Tool arguments the model produced for a tool_use block, matching that tool's input schema.","type":"object"},"is_error":{"description":"True when a tool_result reports that the tool call failed; the nested content then carries the error detail.","type":"boolean"},"media_type":{"description":"Declared media type; inline computer-use images allow image/jpeg, image/png, and image/webp.","type":"string"},"name":{"description":"Name of the tool the model is invoking, on a tool_use block.","type":"string"},"omitted_bytes":{"description":"Original byte count reported by a redacted image placeholder.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"payload":{"oneOf":[{"type":"null","description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model."},{"type":"boolean","description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model."},{"type":"string","description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model."},{"type":"integer","description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model.","maximum":9007199254740991,"minimum":-9007199254740991},{"type":"number","description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model."},{"type":"array","items":{"oneOf":[{}]},"description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model."},{"type":"object","description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model."}]},"provider":{"description":"Provider that emitted a passthrough block, e.g. anthropic or openai, telling readers how to interpret payload.","type":"string"},"provider_payload":{"oneOf":[{"type":"null","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay."},{"type":"boolean","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay."},{"type":"string","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay."},{"type":"integer","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay.","maximum":9007199254740991,"minimum":-9007199254740991},{"type":"number","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay."},{"type":"array","items":{"oneOf":[{}]},"description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay."},{"type":"object","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay."}]},"redacted":{"description":"True when the block's content was withheld (redacted thinking, or an image dropped by redaction); the remaining fields describe what was removed.","type":"boolean"},"semantic_hint":{"description":"Coarse hint about what an unmodeled provider block represents, so a reader can render it without provider-specific logic.","type":"string"},"sha256":{"description":"Lowercase SHA-256 digest of decoded image bytes.","type":"string"},"signature":{"description":"Provider-issued signature over a thinking block, or the thought signature a Gemini tool_use block was issued with, required for the provider to accept that block on a later turn. Opaque; replay it verbatim.","type":"string"},"source":{"description":"Where a user-sent image or document block's bytes came from when they were named rather than sent inline: {type: \"file\", file_id}. Kept on the stored block as provenance after the bytes were copied into the session; an image block then also carries the session's own uri.","properties":{"file_id":{"type":"string","minLength":1,"description":"Nonempty id of an unexpired file in the caller's organization."},"type":{"type":"string","const":"file","description":"Always file."}},"required":["type","file_id"],"type":"object","additionalProperties":false},"summary":{"description":"Readable summary blocks a provider returns alongside sealed or long-form reasoning.","items":{"$circularRef":"f8169b9e-0dbc-41e0-9fc8-597ef6809d0f"},"type":"array"},"text":{"description":"Text of a text block, or the reasoning text of a thinking block.","type":"string"},"title":{"description":"A document block's title, disclosed to the model beside the document.","type":"string"},"tool_use_id":{"description":"Id of the tool_use block that this tool_result answers.","type":"string"},"type":{"description":"Block discriminator: text, image, document (a user-sent block naming a file by id, inlined as text when the message is accepted), tool_use, tool_result, thinking, redacted_thinking, or a provider passthrough type. Which of the other fields apply depends on this value.","type":"string"},"uri":{"description":"Private typed content reference. Fetch it through managedAgentsGetSessionImage; clients cannot read this URI directly.","type":"string"},"url":{"description":"Short-lived HTTPS URL for the image bytes. Present only when the read asked for image_urls=signed and the deployment has signing configured. Never stored; fetch a fresh read after url_expires_at.","type":"string"},"url_expires_at":{"description":"When url stops working. Absent whenever url is.","format":"date-time","type":"string"},"width":{"description":"Validated image width in pixels.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["type"],"type":"object","additionalProperties":false},"type":"null","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.blocks","typeLabel":"object[] | null"},"assistantInteraction":{"description":"One state of a typed request an assistant put in front of the reader: questions, a solution blueprint, or a plan of changes. Present on the approval_request events of an assistant session, one per state the interaction passes through.","properties":{"digest":{"description":"Digest of this revision's content. A decision names it so a person decides exactly what they were shown.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.digest","typeLabel":"string"},"interactionId":{"description":"Stable id of the interaction. Revisions of a blueprint or plan keep it.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.interactionId","typeLabel":"string"},"kind":{"description":"What is being asked: questions, a solution blueprint, or a plan of changes.","enum":["question","blueprint","plan"],"type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.kind","typeLabel":"enum\u003cstring>"},"origin":{"description":"Who wrote this revision: the assistant, or the person through an inline edit.","enum":["assistant","user"],"type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.origin","typeLabel":"enum\u003cstring>"},"requestedAt":{"description":"When this revision was put in front of the reader.","format":"date-time","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.requestedAt","typeLabel":"string\u003cdate-time>"},"revision":{"description":"Revision number, starting at 1. Only the latest revision of a pending interaction can be decided.","minimum":1,"type":"integer","maximum":9007199254740991,"isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.revision","typeLabel":"integer"},"status":{"description":"Lifecycle state of the interaction.","enum":["pending","answered","accepted","revision_requested","cancelled","superseded","executing","completed","failed"],"type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.status","typeLabel":"enum\u003cstring>"},"title":{"description":"Short heading for the interaction.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.title","typeLabel":"string"},"blueprint":{"description":"The solution design, on a blueprint interaction.","properties":{"agents":{"description":"The agents and the part each plays.","items":{"description":"One agent of a blueprint and the part it plays.","properties":{"role":{"description":"The agent's role.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.blueprint.agents.items.[INDEX].role","typeLabel":"string"},"model":{"description":"The model it runs on, when chosen.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.blueprint.agents.items.[INDEX].model","typeLabel":"string"},"responsibilities":{"description":"What it does.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.blueprint.agents.items.[INDEX].responsibilities","typeLabel":"string"}},"required":["role"],"type":"object","additionalProperties":false,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.blueprint.agents.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.blueprint.agents","typeLabel":"object[]"},"capabilities":{"description":"Platform capabilities the design uses, each resolved against the capability catalog.","items":{"description":"One platform capability a blueprint uses, resolved against the capability catalog.","properties":{"capabilityId":{"description":"Id from the capability catalog.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.blueprint.capabilities.items.[INDEX].capabilityId","typeLabel":"string"},"kind":{"description":"Capability kind, resolved by the server.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.blueprint.capabilities.items.[INDEX].kind","typeLabel":"string"},"name":{"description":"Customer-facing name, resolved by the server.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.blueprint.capabilities.items.[INDEX].name","typeLabel":"string"},"status":{"description":"Its status in this organization, resolved by the server.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.blueprint.capabilities.items.[INDEX].status","typeLabel":"string"},"purpose":{"description":"Why the design uses it.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.blueprint.capabilities.items.[INDEX].purpose","typeLabel":"string"}},"required":["capabilityId","name","kind","status"],"type":"object","additionalProperties":false,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.blueprint.capabilities.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.blueprint.capabilities","typeLabel":"object[]"},"trigger":{"description":"What starts the work.","properties":{"kind":{"description":"Manual, on a schedule, or on an outside event.","enum":["manual","schedule","event"],"type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.blueprint.trigger.kind","typeLabel":"enum\u003cstring>"},"detail":{"description":"The schedule or the event, in words.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.blueprint.trigger.detail","typeLabel":"string"}},"required":["kind"],"type":"object","additionalProperties":false,"isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.blueprint.trigger","typeLabel":"object"},"checkpoints":{"description":"Where a person reviews or decides.","items":{"type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.blueprint.checkpoints.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.blueprint.checkpoints","typeLabel":"string[]"},"costClass":{"description":"Rough running cost.","enum":["low","medium","high"],"type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.blueprint.costClass","typeLabel":"enum\u003cstring>"},"environment":{"description":"The environment the agents run in, in words.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.blueprint.environment","typeLabel":"string"},"evaluation":{"description":"How success is judged.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.blueprint.evaluation","typeLabel":"string"},"gaps":{"description":"What the platform cannot do directly, said plainly.","items":{"type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.blueprint.gaps.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.blueprint.gaps","typeLabel":"string[]"},"outputs":{"description":"What the work produces.","items":{"type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.blueprint.outputs.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.blueprint.outputs","typeLabel":"string[]"}},"required":["trigger","agents","capabilities"],"type":"object","additionalProperties":false,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.blueprint","typeLabel":"object"},"decision":{"description":"The person's decision, once one was made.","properties":{"decidedAt":{"description":"When the decision was recorded.","format":"date-time","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.decision.decidedAt","typeLabel":"string\u003cdate-time>"},"decision":{"description":"What was decided. superseded_by_interaction means the assistant replaced the interaction with a different one before the reader decided.","enum":["answered","accepted","approved","revision_requested","cancelled","superseded_by_interaction"],"type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.decision.decision","typeLabel":"enum\u003cstring>"},"answers":{"description":"Answers, on a question interaction.","items":{"description":"The reader's answer to one question.","properties":{"questionId":{"description":"The question answered.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.decision.answers.items.[INDEX].questionId","typeLabel":"string"},"optionIds":{"description":"Selected option ids, for select, picker and confirm questions (confirm answers with yes or no).","items":{"type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.decision.answers.items.[INDEX].optionIds.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.decision.answers.items.[INDEX].optionIds","typeLabel":"string[]"},"text":{"description":"Free text, for text questions or an Other answer.","maxLength":4000,"type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.decision.answers.items.[INDEX].text","typeLabel":"string"}},"required":["questionId"],"type":"object","additionalProperties":false,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.decision.answers.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.decision.answers","typeLabel":"object[]"},"comments":{"description":"Comments pinned to steps or fields, with a revision request.","items":{"description":"A comment pinned to a step or field of a blueprint or plan.","properties":{"text":{"description":"The comment.","maxLength":2000,"type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.decision.comments.items.[INDEX].text","typeLabel":"string"},"field":{"description":"The field commented on.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.decision.comments.items.[INDEX].field","typeLabel":"string"},"stepId":{"description":"The step commented on.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.decision.comments.items.[INDEX].stepId","typeLabel":"string"}},"required":["text"],"type":"object","additionalProperties":false,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.decision.comments.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.decision.comments","typeLabel":"object[]"},"decidedBy":{"description":"The user who decided.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.decision.decidedBy","typeLabel":"string"},"note":{"description":"The reader's note.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.decision.note","typeLabel":"string"}},"required":["decision","decidedAt"],"type":"object","additionalProperties":false,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.decision","typeLabel":"object"},"plan":{"description":"The changes, on a plan interaction.","properties":{"steps":{"description":"Changes in execution order.","items":{"description":"One change of a plan: an action and the exact request it runs on approval.","properties":{"action":{"description":"The action, from the closed set the assistant can propose.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].action","typeLabel":"string"},"costClass":{"description":"Whether approving the step can spend credit.","enum":["none","model_spend"],"type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].costClass","typeLabel":"enum\u003cstring>"},"enabled":{"description":"Whether the step runs on approval.","type":"boolean","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].enabled","typeLabel":"boolean"},"input":{"oneOf":[{"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].input.oneOf.0.additionalProperties.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].input.oneOf.0.additionalProperties.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].input.oneOf.0.additionalProperties.oneOf.2","typeLabel":"string"},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].input.oneOf.0.additionalProperties.oneOf.3","typeLabel":"integer"},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].input.oneOf.0.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].input.oneOf.0.additionalProperties.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].input.oneOf.0.additionalProperties.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].input.oneOf.0.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].input.oneOf.0.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"The action's request, as the server validated and normalized it. A value {\"$ref\": \"steps.\u003cstepId>.\u003cfield>\"} is filled from an earlier step's result.","type":"object","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].input.oneOf.0","typeLabel":"object"},{"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].input.oneOf.1.additionalProperties.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].input.oneOf.1.additionalProperties.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].input.oneOf.1.additionalProperties.oneOf.2","typeLabel":"string"},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].input.oneOf.1.additionalProperties.oneOf.3","typeLabel":"integer"},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].input.oneOf.1.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].input.oneOf.1.additionalProperties.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].input.oneOf.1.additionalProperties.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].input.oneOf.1.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].input.oneOf.1.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"The action's request, as the server validated and normalized it. A value {\"$ref\": \"steps.\u003cstepId>.\u003cfield>\"} is filled from an earlier step's result.","type":"null","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].input.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].input","typeLabel":"object | null"},"stepId":{"description":"Id of the step within the plan; later steps refer to its outputs by it.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].stepId","typeLabel":"string"},"title":{"description":"What the step does, in words.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].title","typeLabel":"string"},"dependsOn":{"description":"Earlier steps whose results this step uses.","items":{"type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].dependsOn.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].dependsOn","typeLabel":"string[]"},"fields":{"description":"How to render the step's input as a form.","items":{"description":"How a console renders one field of a plan step's input.","properties":{"label":{"description":"Field label.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].fields.items.[INDEX].label","typeLabel":"string"},"name":{"description":"Top-level key in the step input.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].fields.items.[INDEX].name","typeLabel":"string"},"widget":{"description":"The control to render.","enum":["text","long_text","markdown","code","select","multi_select","model_picker","environment_picker","agent_picker","skill_picker","vault_reference","key_list","number","boolean","resources","json"],"type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].fields.items.[INDEX].widget","typeLabel":"enum\u003cstring>"},"help":{"description":"Short guidance shown with the field.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].fields.items.[INDEX].help","typeLabel":"string"},"options":{"description":"Choices for select and picker widgets, resolved by the server.","items":{"description":"One choice of a select or picker question, or of a plan field.","properties":{"label":{"description":"What the reader sees.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].fields.items.[INDEX].options.items.[INDEX].label","typeLabel":"string"},"optionId":{"description":"Id to answer with.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].fields.items.[INDEX].options.items.[INDEX].optionId","typeLabel":"string"},"description":{"description":"Optional detail shown under the label.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].fields.items.[INDEX].options.items.[INDEX].description","typeLabel":"string"}},"required":["optionId","label"],"type":"object","additionalProperties":false,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].fields.items.[INDEX].options.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].fields.items.[INDEX].options","typeLabel":"object[]"},"required":{"description":"Whether the field must have a value.","type":"boolean","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].fields.items.[INDEX].required","typeLabel":"boolean"}},"required":["name","label","widget"],"type":"object","additionalProperties":false,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].fields.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].fields","typeLabel":"object[]"},"optional":{"description":"Whether the reader may turn the step off.","type":"boolean","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].optional","typeLabel":"boolean"},"warnings":{"description":"Things the reader should know before approving.","items":{"type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].warnings.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].warnings","typeLabel":"string[]"}},"required":["stepId","action","title","enabled","input","costClass"],"type":"object","additionalProperties":false,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.steps","typeLabel":"object[]"},"prerequisites":{"description":"Setup the plan cannot do itself; approval waits for each one the server can check.","items":{"description":"Setup a plan cannot do itself; approval waits for it when the server can check it.","properties":{"kind":{"description":"What the reader has to do. The server checks connect_integration and needs_admin when they name a capability; add_vault_credential is a reminder it cannot check.","enum":["connect_integration","add_vault_credential","needs_admin"],"type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.prerequisites.items.[INDEX].kind","typeLabel":"enum\u003cstring>"},"label":{"description":"What to do, in words.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.prerequisites.items.[INDEX].label","typeLabel":"string"},"prerequisiteId":{"description":"Id within the plan.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.prerequisites.items.[INDEX].prerequisiteId","typeLabel":"string"},"satisfied":{"description":"Whether the server found it done when this revision was written; false for a prerequisite it cannot check.","type":"boolean","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.prerequisites.items.[INDEX].satisfied","typeLabel":"boolean"},"capabilityId":{"description":"The capability it unlocks.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.prerequisites.items.[INDEX].capabilityId","typeLabel":"string"},"detail":{"description":"Why, and anything to choose while doing it.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.prerequisites.items.[INDEX].detail","typeLabel":"string"},"link":{"description":"Console path that starts the setup.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.prerequisites.items.[INDEX].link","typeLabel":"string"}},"required":["prerequisiteId","kind","label","satisfied"],"type":"object","additionalProperties":false,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.prerequisites.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan.prerequisites","typeLabel":"object[]"}},"required":["steps"],"type":"object","additionalProperties":false,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.plan","typeLabel":"object"},"questions":{"description":"The questions, on a question interaction.","items":{"description":"One typed question of a question interaction.","properties":{"input":{"description":"How the question is answered.","enum":["single_select","multi_select","short_text","long_text","confirm","picker"],"type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.questions.items.[INDEX].input","typeLabel":"enum\u003cstring>"},"prompt":{"description":"The question.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.questions.items.[INDEX].prompt","typeLabel":"string"},"questionId":{"description":"Id of the question within the interaction.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.questions.items.[INDEX].questionId","typeLabel":"string"},"allowOther":{"description":"Whether a select question also accepts a free-text answer.","type":"boolean","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.questions.items.[INDEX].allowOther","typeLabel":"boolean"},"multiple":{"description":"Whether a picker question accepts more than one resource.","type":"boolean","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.questions.items.[INDEX].multiple","typeLabel":"boolean"},"optional":{"description":"Whether the question may be left unanswered.","type":"boolean","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.questions.items.[INDEX].optional","typeLabel":"boolean"},"options":{"description":"The choices of a select or picker question. Picker options are resolved by the server from resources the reader can access.","items":{"description":"One choice of a select or picker question, or of a plan field.","properties":{"label":{"description":"What the reader sees.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.questions.items.[INDEX].options.items.[INDEX].label","typeLabel":"string"},"optionId":{"description":"Id to answer with.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.questions.items.[INDEX].options.items.[INDEX].optionId","typeLabel":"string"},"description":{"description":"Optional detail shown under the label.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.questions.items.[INDEX].options.items.[INDEX].description","typeLabel":"string"}},"required":["optionId","label"],"type":"object","additionalProperties":false,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.questions.items.[INDEX].options.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.questions.items.[INDEX].options","typeLabel":"object[]"},"picker":{"description":"Which kind of resource a picker question selects.","enum":["agent","environment","skill","vault","model","agent_template","environment_template"],"type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.questions.items.[INDEX].picker","typeLabel":"enum\u003cstring>"}},"required":["questionId","prompt","input"],"type":"object","additionalProperties":false,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.questions.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.questions","typeLabel":"object[]"},"stepResults":{"description":"What each approved step did, once a plan executes.","items":{"description":"What one approved plan step did.","properties":{"status":{"description":"How it ended, or running while it runs. uncertain means the outcome could not be confirmed and the step was not retried.","enum":["running","completed","failed","skipped","uncertain"],"type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.stepResults.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"stepId":{"description":"The plan step this result is for.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.stepResults.items.[INDEX].stepId","typeLabel":"string"},"link":{"description":"Console path to it.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.stepResults.items.[INDEX].link","typeLabel":"string"},"message":{"description":"Detail, or the error.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.stepResults.items.[INDEX].message","typeLabel":"string"},"resourceId":{"description":"The id of what it created or changed.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.stepResults.items.[INDEX].resourceId","typeLabel":"string"},"resourceKind":{"description":"What it created or changed.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.stepResults.items.[INDEX].resourceKind","typeLabel":"string"}},"required":["stepId","status"],"type":"object","additionalProperties":false,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.stepResults.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.stepResults","typeLabel":"object[]"},"summary":{"description":"One or two sentences on why this is being asked.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction.summary","typeLabel":"string"}},"required":["interactionId","kind","revision","digest","status","origin","title","requestedAt"],"type":"object","additionalProperties":false,"uniqueKey":"events.oneOf.0.items.[INDEX].content.assistantInteraction","typeLabel":"object"},"metadata":{"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.metadata.additionalProperties.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.metadata.additionalProperties.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.metadata.additionalProperties.oneOf.2","typeLabel":"string"},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"events.oneOf.0.items.[INDEX].content.metadata.additionalProperties.oneOf.3","typeLabel":"integer"},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.metadata.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"events.oneOf.0.items.[INDEX].content.metadata.additionalProperties.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.metadata.additionalProperties.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.metadata.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"events.oneOf.0.items.[INDEX].content.metadata.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Extra key/value detail about this event that is not part of the message body, such as the ingest subtype or the sandbox working directory.","type":"object","uniqueKey":"events.oneOf.0.items.[INDEX].content.metadata","typeLabel":"object"},"plan":{"description":"Plan items reported by the agent, present on a plan_update event.","items":{"description":"One step of a plan or to-do list an agent reported while working. Appears on an event's content when the agent's harness emits a plan; the service records it without acting on it.","properties":{"content":{"description":"Text of the planned step as the agent wrote it.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.plan.items.[INDEX].content","typeLabel":"string"},"id":{"description":"Identifier for this plan entry, stable across the turns that update it.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.plan.items.[INDEX].id","typeLabel":"string"},"status":{"description":"Progress value the agent reported for this step. Passed through as written and not interpreted by the service.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.plan.items.[INDEX].status","typeLabel":"string"}},"required":["id","content","status"],"type":"object","additionalProperties":false,"uniqueKey":"events.oneOf.0.items.[INDEX].content.plan.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"events.oneOf.0.items.[INDEX].content.plan","typeLabel":"object[]"},"stop_reason":{"description":"The provider's own stop_reason for the assistant turn, recorded verbatim, e.g. end_turn, tool_use, or max_tokens. Absent on events that are not a model response.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content.stop_reason","typeLabel":"string"},"tools":{"description":"Tool definitions that were in scope for the turn, as sent to the provider. Recorded on the session's system message so a transcript shows what the model could call.","items":{"description":"One tool as it was offered to the model, in the Anthropic and OpenAI tool-definition vocabulary. Recorded on the event for a model turn so a reader can see exactly what the model could call.","properties":{"description":{"description":"Natural-language explanation of what the tool does and when to use it, supplied to the model verbatim.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.tools.items.[INDEX].description","typeLabel":"string"},"input_schema":{"oneOf":[{"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.tools.items.[INDEX].input_schema.oneOf.0.additionalProperties.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.tools.items.[INDEX].input_schema.oneOf.0.additionalProperties.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.tools.items.[INDEX].input_schema.oneOf.0.additionalProperties.oneOf.2","typeLabel":"string"},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"events.oneOf.0.items.[INDEX].content.tools.items.[INDEX].input_schema.oneOf.0.additionalProperties.oneOf.3","typeLabel":"integer"},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.tools.items.[INDEX].input_schema.oneOf.0.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"events.oneOf.0.items.[INDEX].content.tools.items.[INDEX].input_schema.oneOf.0.additionalProperties.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.tools.items.[INDEX].input_schema.oneOf.0.additionalProperties.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.tools.items.[INDEX].input_schema.oneOf.0.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"events.oneOf.0.items.[INDEX].content.tools.items.[INDEX].input_schema.oneOf.0.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"JSON Schema for the tool's arguments. Passed to the model provider unchanged.","type":"object","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.tools.items.[INDEX].input_schema.oneOf.0","typeLabel":"object"},{"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.tools.items.[INDEX].input_schema.oneOf.1.additionalProperties.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.tools.items.[INDEX].input_schema.oneOf.1.additionalProperties.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.tools.items.[INDEX].input_schema.oneOf.1.additionalProperties.oneOf.2","typeLabel":"string"},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"events.oneOf.0.items.[INDEX].content.tools.items.[INDEX].input_schema.oneOf.1.additionalProperties.oneOf.3","typeLabel":"integer"},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.tools.items.[INDEX].input_schema.oneOf.1.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"events.oneOf.0.items.[INDEX].content.tools.items.[INDEX].input_schema.oneOf.1.additionalProperties.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.tools.items.[INDEX].input_schema.oneOf.1.additionalProperties.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].content.tools.items.[INDEX].input_schema.oneOf.1.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"events.oneOf.0.items.[INDEX].content.tools.items.[INDEX].input_schema.oneOf.1.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"JSON Schema for the tool's arguments. Passed to the model provider unchanged.","type":"null","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.tools.items.[INDEX].input_schema.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.tools.items.[INDEX].input_schema","typeLabel":"object | null"},"name":{"description":"Tool name the model calls, matching the name on the resulting tool_use content block.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content.tools.items.[INDEX].name","typeLabel":"string"}},"required":["name","description","input_schema"],"type":"object","additionalProperties":false,"uniqueKey":"events.oneOf.0.items.[INDEX].content.tools.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"events.oneOf.0.items.[INDEX].content.tools","typeLabel":"object[]"},"usage":{"description":"Token counts the provider reported for the call that produced this message. Absent when the event is not a model response.","properties":{"cache_read_tokens":{"description":"Prompt tokens served from the provider's prompt cache, billed at the cached rate.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"events.oneOf.0.items.[INDEX].content.usage.cache_read_tokens","typeLabel":"integer\u003cint64>"},"cache_write_tokens":{"description":"Prompt tokens written into the provider's prompt cache.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"events.oneOf.0.items.[INDEX].content.usage.cache_write_tokens","typeLabel":"integer\u003cint64>"},"cost_usd":{"description":"Not set on current events. Read the event's cost_micros for cost.","format":"double","type":"number","uniqueKey":"events.oneOf.0.items.[INDEX].content.usage.cost_usd","typeLabel":"number\u003cdouble>"},"input_tokens":{"description":"Prompt tokens billed for this unit of work.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"events.oneOf.0.items.[INDEX].content.usage.input_tokens","typeLabel":"integer\u003cint64>"},"output_tokens":{"description":"Completion tokens billed for this unit of work.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"events.oneOf.0.items.[INDEX].content.usage.output_tokens","typeLabel":"integer\u003cint64>"}},"type":"object","additionalProperties":false,"uniqueKey":"events.oneOf.0.items.[INDEX].content.usage","typeLabel":"object"}},"required":["blocks"],"type":"object","additionalProperties":false,"isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].content","typeLabel":"object"},"created_at":{"description":"RFC 3339 timestamp of when this record was created. Server-assigned.","format":"date-time","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].created_at","typeLabel":"string\u003cdate-time>"},"event_id":{"description":"Identifier for this event (UUID). Server-assigned unless the append supplied one. Chronologically sortable, and the column a transcript is ordered by.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].event_id","typeLabel":"string"},"event_type":{"description":"What kind of event this is. One of message, tool_invocation, tool_result, approval_request, approval_decision, summary, plan_update, session_status, artifact, advisor_intervention, outcome_evaluation, or program_call.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].event_type","typeLabel":"string"},"inference_config":{"description":"Settings recorded for this inference. A recorded temperature or top_p was not sent to the model.","properties":{"max_tokens":{"description":"Upper bound on tokens the model may generate for one assistant turn (the provider's max_tokens). Omit or 0 to use the model reference's default.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"events.oneOf.0.items.[INDEX].inference_config.max_tokens","typeLabel":"integer\u003cint64>"},"provider_params":{"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].inference_config.provider_params.additionalProperties.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].inference_config.provider_params.additionalProperties.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].inference_config.provider_params.additionalProperties.oneOf.2","typeLabel":"string"},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"events.oneOf.0.items.[INDEX].inference_config.provider_params.additionalProperties.oneOf.3","typeLabel":"integer"},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].inference_config.provider_params.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"events.oneOf.0.items.[INDEX].inference_config.provider_params.additionalProperties.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].inference_config.provider_params.additionalProperties.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].inference_config.provider_params.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"events.oneOf.0.items.[INDEX].inference_config.provider_params.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Recognized provider-specific settings are thinking, thinkingDisplay and output_config for native Anthropic messages; thinkingConfig for native Gemini; and promptCache, promptCacheTTL and promptCacheSharedTTL for prompt caching. Unknown top-level keys are ignored, not passed through. Omitting all three cache settings enables automatic policy: explicit caching stays enabled and eligible Anthropic requests may use 1h shared retention when recent usage and current pricing evidence predict savings; otherwise shared retention is 5m. Setting promptCache or either TTL explicitly keeps operator-configured retention. promptCache true enables explicit markers; false disables them and ignores both TTL settings. With caching enabled, both TTL settings accept only 5m or 1h on models using native Anthropic messages. promptCacheTTL defaults to 5m for user-context anchors and history. promptCacheSharedTTL controls tools and system instructions, defaults to promptCacheTTL under explicit configuration, and cannot be shorter than promptCacheTTL. Authored thinking objects and enabled cache TTL settings are validated at agent/version writes and session start.","type":"object","uniqueKey":"events.oneOf.0.items.[INDEX].inference_config.provider_params","typeLabel":"object"},"reasoning_effort":{"description":"Provider-native reasoning depth value. For a model from the models catalog, use one of its supportedReasoningEfforts; omit it to follow the provider's current default.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].inference_config.reasoning_effort","typeLabel":"string"},"temperature":{"description":"Accepted and stored, but not sent to the model, so it has no effect.","type":"number","uniqueKey":"events.oneOf.0.items.[INDEX].inference_config.temperature","typeLabel":"number"},"top_p":{"description":"Accepted and stored, but not sent to the model, so it has no effect.","type":"number","uniqueKey":"events.oneOf.0.items.[INDEX].inference_config.top_p","typeLabel":"number"}},"type":"object","additionalProperties":false,"isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].inference_config","typeLabel":"object"},"schema_version":{"description":"Event schema version this row was written under. Server-assigned; readers should tolerate unknown newer values.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].schema_version","typeLabel":"integer"},"session_id":{"description":"Session this event belongs to (UUID).","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].session_id","typeLabel":"string"},"agent_id":{"description":"Agent that produced this event (UUID).","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].agent_id","typeLabel":"string"},"cache_read_tokens":{"description":"Prompt tokens served from the provider's prompt cache, billed at the cached rate.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"events.oneOf.0.items.[INDEX].cache_read_tokens","typeLabel":"integer\u003cint64>"},"cache_write_tokens":{"description":"Prompt tokens written into the provider's prompt cache.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"events.oneOf.0.items.[INDEX].cache_write_tokens","typeLabel":"integer\u003cint64>"},"causal_event_id":{"description":"Event that caused this one (UUID). Unlike parent_event_id this expresses causality rather than nesting.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].causal_event_id","typeLabel":"string"},"content_hydration_status":{"description":"Read-time status when external EventContent was hydrated or could not be hydrated.","enum":["hydrated","refs_only","missing","corrupt","unavailable","oversized"],"type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content_hydration_status","typeLabel":"enum\u003cstring>"},"content_payload_bytes":{"description":"Byte size of the canonical external EventContent JSON.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"events.oneOf.0.items.[INDEX].content_payload_bytes","typeLabel":"integer\u003cint64>"},"content_payload_ref":{"description":"Private whole-event content reference. Read the content through managedAgentsGetSessionEventContent; this reference cannot be fetched directly.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content_payload_ref","typeLabel":"string"},"content_payload_sha256":{"description":"Lowercase SHA-256 digest of the canonical external EventContent JSON.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content_payload_sha256","typeLabel":"string"},"content_ref":{"description":"Image cleanup prefix or typed multi-image envelope. This is independent of whole-event payload storage.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].content_ref","typeLabel":"string"},"cost_micros":{"description":"Accrued cost in micro-USD (1,000,000 = 1 USD). Integer to avoid float rounding across many small charges.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"events.oneOf.0.items.[INDEX].cost_micros","typeLabel":"integer\u003cint64>"},"environment_id":{"description":"Sandbox environment the producing session was executing in (UUID).","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].environment_id","typeLabel":"string"},"event_status":{"description":"Outcome marker for events that can fail: pending, completed, warning, or error. Empty when not applicable.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].event_status","typeLabel":"string"},"finish_reason":{"description":"Why the provider stopped generating, in the provider vocabulary (for example end_turn, max_tokens, tool_use). Passed through verbatim.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].finish_reason","typeLabel":"string"},"input_tokens":{"description":"Prompt tokens billed for this unit of work.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"events.oneOf.0.items.[INDEX].input_tokens","typeLabel":"integer\u003cint64>"},"latency_ms":{"description":"Wall-clock duration of the provider call in milliseconds.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"events.oneOf.0.items.[INDEX].latency_ms","typeLabel":"integer\u003cint64>"},"model":{"description":"Snapshot of the model reference as it was at call time, so a later model change does not rewrite history.","properties":{"model":{"description":"Provider's own model id as sent on the wire, e.g. model-name or provider/model-name.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].model.model","typeLabel":"string"},"provider":{"description":"Provider family that served the call, e.g. anthropic, openai, vertex, or mock. Carries the same value as provider_type and is kept for older readers.","type":"string","isRequired":true,"uniqueKey":"events.oneOf.0.items.[INDEX].model.provider","typeLabel":"string"},"base_url":{"description":"Endpoint the request was sent to, for models not served at their provider's default endpoint. Empty means the provider's default endpoint.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].model.base_url","typeLabel":"string"},"capabilities":{"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].model.capabilities.additionalProperties.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].model.capabilities.additionalProperties.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].model.capabilities.additionalProperties.oneOf.2","typeLabel":"string"},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"events.oneOf.0.items.[INDEX].model.capabilities.additionalProperties.oneOf.3","typeLabel":"integer"},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].model.capabilities.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"events.oneOf.0.items.[INDEX].model.capabilities.additionalProperties.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].model.capabilities.additionalProperties.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].model.capabilities.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"events.oneOf.0.items.[INDEX].model.capabilities.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Declared model capability flags, e.g. tool use, vision, or extended thinking support, as recorded from the catalog entry at call time.","type":"object","uniqueKey":"events.oneOf.0.items.[INDEX].model.capabilities","typeLabel":"object"},"context_window":{"description":"Maximum total tokens the model accepts in one request, prompt plus completion, as recorded from the catalog entry at call time. 0 means unknown.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"events.oneOf.0.items.[INDEX].model.context_window","typeLabel":"integer\u003cint64>"},"max_output_tokens":{"description":"Maximum completion tokens the model can emit in one response, as recorded from the catalog entry at call time. 0 means unknown.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"events.oneOf.0.items.[INDEX].model.max_output_tokens","typeLabel":"integer\u003cint64>"},"metadata":{"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].model.metadata.additionalProperties.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].model.metadata.additionalProperties.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].model.metadata.additionalProperties.oneOf.2","typeLabel":"string"},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"events.oneOf.0.items.[INDEX].model.metadata.additionalProperties.oneOf.3","typeLabel":"integer"},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].model.metadata.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"events.oneOf.0.items.[INDEX].model.metadata.additionalProperties.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].model.metadata.additionalProperties.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"events.oneOf.0.items.[INDEX].model.metadata.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"events.oneOf.0.items.[INDEX].model.metadata.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Extra key/value data copied from the catalog entry. Some keys are read by the service to shape the request, such as base_url and reasoning_style.","type":"object","uniqueKey":"events.oneOf.0.items.[INDEX].model.metadata","typeLabel":"object"},"model_ref_id":{"description":"Model reference in the catalog this snapshot was resolved from (UUID). Empty when the session named a models-catalog id instead of a catalog entry.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].model.model_ref_id","typeLabel":"string"},"model_version":{"description":"Provider-specific version or snapshot pin recorded alongside the model id, when the catalog entry declares one.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].model.model_version","typeLabel":"string"},"provider_id":{"description":"Model provider record whose credentials and base URL were used (UUID).","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].model.provider_id","typeLabel":"string"},"provider_type":{"description":"Provider family that served the call, e.g. anthropic, openai, vertex, or mock. Selects which wire protocol the request used.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].model.provider_type","typeLabel":"string"},"serving_backend":{"description":"Serving stack behind a self-hosted model, e.g. vllm. Empty for models called through a hosted provider API.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].model.serving_backend","typeLabel":"string"}},"required":["provider","model"],"type":"object","additionalProperties":false,"uniqueKey":"events.oneOf.0.items.[INDEX].model","typeLabel":"object"},"model_ref_id":{"description":"Canonical model reference used for this inference (UUID). Empty on events not produced by a model call.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].model_ref_id","typeLabel":"string"},"organization_id":{"description":"Organization that owns this record. Resolved from the API key; never accepted from the caller.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].organization_id","typeLabel":"string"},"output_tokens":{"description":"Completion tokens billed for this unit of work.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"events.oneOf.0.items.[INDEX].output_tokens","typeLabel":"integer\u003cint64>"},"parent_event_id":{"description":"Event this one is nested under in the transcript tree (UUID), for example a tool result under its invocation.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].parent_event_id","typeLabel":"string"},"prompt_tokens":{"description":"Estimated tokens this event contributes when rendered into a future provider request. A memoized estimate for context-budget planning, not billed provider usage.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"events.oneOf.0.items.[INDEX].prompt_tokens","typeLabel":"integer\u003cint64>"},"provider_model_id":{"description":"Provider's own model identifier as sent on the wire, which may differ from the canonical model reference.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].provider_model_id","typeLabel":"string"},"provider_request_id":{"description":"Provider's request identifier for this inference, for correlating with provider-side logs.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].provider_request_id","typeLabel":"string"},"provider_type":{"description":"Model provider family that served this inference, for example anthropic, openai, or vertex.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].provider_type","typeLabel":"string"},"role":{"description":"Message role in the provider vocabulary: system, user, or assistant. Set on message events; empty on events that are not turns.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].role","typeLabel":"string"},"sandbox_instance_id":{"description":"Concrete sandbox instance the event was produced on. Provider-assigned, not a UUID.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].sandbox_instance_id","typeLabel":"string"},"thread_id":{"description":"Thread within a multi-agent session that produced this event (UUID). Empty on a single-agent session.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].thread_id","typeLabel":"string"},"tool_name":{"description":"Name of the tool being invoked or reporting a result. Set on tool events only.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].tool_name","typeLabel":"string"},"tool_use_id":{"description":"Provider's tool-call identifier, correlating a tool_invocation with its tool_result.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].tool_use_id","typeLabel":"string"},"turn_id":{"description":"Groups every event produced within one model turn.","type":"string","uniqueKey":"events.oneOf.0.items.[INDEX].turn_id","typeLabel":"string"}},"required":["schema_version","event_type","actor","content","inference_config","session_id","event_id","created_at"],"type":"object","additionalProperties":false,"uniqueKey":"events.oneOf.0.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"events.oneOf.0","typeLabel":"object[]"},{"description":"One chronological page of the root timeline, oldest first. Null rather than an empty array when no event follows the requested watermark, which is the normal answer when a caller has already read to the end.","items":{"description":"One durable entry in a session's transcript: a message, a tool call or result, an approval, or a status change, with the provider message body and the token accounting for the call that produced it. Returned when listing or streaming a session's events.","properties":{"actor":{"description":"Who produced this event, as a namespaced identifier: human:… for a person, system:… for the service itself, or an agent identity.","type":"string"},"agent_id":{"description":"Agent that produced this event (UUID).","type":"string"},"cache_read_tokens":{"description":"Prompt tokens served from the provider's prompt cache, billed at the cached rate.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"cache_write_tokens":{"description":"Prompt tokens written into the provider's prompt cache.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"causal_event_id":{"description":"Event that caused this one (UUID). Unlike parent_event_id this expresses causality rather than nesting.","type":"string"},"content":{"description":"The event's content blocks in this API's format. They are rebuilt for each model provider, and block types a provider request does not support never reach the model.","properties":{"assistantInteraction":{"description":"One state of a typed request an assistant put in front of the reader: questions, a solution blueprint, or a plan of changes. Present on the approval_request events of an assistant session, one per state the interaction passes through.","properties":{"blueprint":{"description":"The solution design, on a blueprint interaction.","properties":{"agents":{"description":"The agents and the part each plays.","items":{"description":"One agent of a blueprint and the part it plays.","properties":{"model":{"description":"The model it runs on, when chosen.","type":"string"},"responsibilities":{"description":"What it does.","type":"string"},"role":{"description":"The agent's role.","type":"string"}},"required":["role"],"type":"object","additionalProperties":false},"type":"array"},"capabilities":{"description":"Platform capabilities the design uses, each resolved against the capability catalog.","items":{"description":"One platform capability a blueprint uses, resolved against the capability catalog.","properties":{"capabilityId":{"description":"Id from the capability catalog.","type":"string"},"kind":{"description":"Capability kind, resolved by the server.","type":"string"},"name":{"description":"Customer-facing name, resolved by the server.","type":"string"},"purpose":{"description":"Why the design uses it.","type":"string"},"status":{"description":"Its status in this organization, resolved by the server.","type":"string"}},"required":["capabilityId","name","kind","status"],"type":"object","additionalProperties":false},"type":"array"},"checkpoints":{"description":"Where a person reviews or decides.","items":{"type":"string"},"type":"array"},"costClass":{"description":"Rough running cost.","enum":["low","medium","high"],"type":"string"},"environment":{"description":"The environment the agents run in, in words.","type":"string"},"evaluation":{"description":"How success is judged.","type":"string"},"gaps":{"description":"What the platform cannot do directly, said plainly.","items":{"type":"string"},"type":"array"},"outputs":{"description":"What the work produces.","items":{"type":"string"},"type":"array"},"trigger":{"description":"What starts the work.","properties":{"detail":{"description":"The schedule or the event, in words.","type":"string"},"kind":{"description":"Manual, on a schedule, or on an outside event.","enum":["manual","schedule","event"],"type":"string"}},"required":["kind"],"type":"object","additionalProperties":false}},"required":["trigger","agents","capabilities"],"type":"object","additionalProperties":false},"decision":{"description":"The person's decision, once one was made.","properties":{"answers":{"description":"Answers, on a question interaction.","items":{"description":"The reader's answer to one question.","properties":{"optionIds":{"description":"Selected option ids, for select, picker and confirm questions (confirm answers with yes or no).","items":{"type":"string"},"type":"array"},"questionId":{"description":"The question answered.","type":"string"},"text":{"description":"Free text, for text questions or an Other answer.","maxLength":4000,"type":"string"}},"required":["questionId"],"type":"object","additionalProperties":false},"type":"array"},"comments":{"description":"Comments pinned to steps or fields, with a revision request.","items":{"description":"A comment pinned to a step or field of a blueprint or plan.","properties":{"field":{"description":"The field commented on.","type":"string"},"stepId":{"description":"The step commented on.","type":"string"},"text":{"description":"The comment.","maxLength":2000,"type":"string"}},"required":["text"],"type":"object","additionalProperties":false},"type":"array"},"decidedAt":{"description":"When the decision was recorded.","format":"date-time","type":"string"},"decidedBy":{"description":"The user who decided.","type":"string"},"decision":{"description":"What was decided. superseded_by_interaction means the assistant replaced the interaction with a different one before the reader decided.","enum":["answered","accepted","approved","revision_requested","cancelled","superseded_by_interaction"],"type":"string"},"note":{"description":"The reader's note.","type":"string"}},"required":["decision","decidedAt"],"type":"object","additionalProperties":false},"digest":{"description":"Digest of this revision's content. A decision names it so a person decides exactly what they were shown.","type":"string"},"interactionId":{"description":"Stable id of the interaction. Revisions of a blueprint or plan keep it.","type":"string"},"kind":{"description":"What is being asked: questions, a solution blueprint, or a plan of changes.","enum":["question","blueprint","plan"],"type":"string"},"origin":{"description":"Who wrote this revision: the assistant, or the person through an inline edit.","enum":["assistant","user"],"type":"string"},"plan":{"description":"The changes, on a plan interaction.","properties":{"prerequisites":{"description":"Setup the plan cannot do itself; approval waits for each one the server can check.","items":{"description":"Setup a plan cannot do itself; approval waits for it when the server can check it.","properties":{"capabilityId":{"description":"The capability it unlocks.","type":"string"},"detail":{"description":"Why, and anything to choose while doing it.","type":"string"},"kind":{"description":"What the reader has to do. The server checks connect_integration and needs_admin when they name a capability; add_vault_credential is a reminder it cannot check.","enum":["connect_integration","add_vault_credential","needs_admin"],"type":"string"},"label":{"description":"What to do, in words.","type":"string"},"link":{"description":"Console path that starts the setup.","type":"string"},"prerequisiteId":{"description":"Id within the plan.","type":"string"},"satisfied":{"description":"Whether the server found it done when this revision was written; false for a prerequisite it cannot check.","type":"boolean"}},"required":["prerequisiteId","kind","label","satisfied"],"type":"object","additionalProperties":false},"type":"array"},"steps":{"description":"Changes in execution order.","items":{"description":"One change of a plan: an action and the exact request it runs on approval.","properties":{"action":{"description":"The action, from the closed set the assistant can propose.","type":"string"},"costClass":{"description":"Whether approving the step can spend credit.","enum":["none","model_spend"],"type":"string"},"dependsOn":{"description":"Earlier steps whose results this step uses.","items":{"type":"string"},"type":"array"},"enabled":{"description":"Whether the step runs on approval.","type":"boolean"},"fields":{"description":"How to render the step's input as a form.","items":{"description":"How a console renders one field of a plan step's input.","properties":{"help":{"description":"Short guidance shown with the field.","type":"string"},"label":{"description":"Field label.","type":"string"},"name":{"description":"Top-level key in the step input.","type":"string"},"options":{"description":"Choices for select and picker widgets, resolved by the server.","items":{"description":"One choice of a select or picker question, or of a plan field.","properties":{"description":{"description":"Optional detail shown under the label.","type":"string"},"label":{"description":"What the reader sees.","type":"string"},"optionId":{"description":"Id to answer with.","type":"string"}},"required":["optionId","label"],"type":"object","additionalProperties":false},"type":"array"},"required":{"description":"Whether the field must have a value.","type":"boolean"},"widget":{"description":"The control to render.","enum":["text","long_text","markdown","code","select","multi_select","model_picker","environment_picker","agent_picker","skill_picker","vault_reference","key_list","number","boolean","resources","json"],"type":"string"}},"required":["name","label","widget"],"type":"object","additionalProperties":false},"type":"array"},"input":{"oneOf":[{"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"array","items":{"oneOf":[{}]},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."}]},"description":"The action's request, as the server validated and normalized it. A value {\"$ref\": \"steps.\u003cstepId>.\u003cfield>\"} is filled from an earlier step's result.","type":"object"},{"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"array","items":{"oneOf":[{}]},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."}]},"description":"The action's request, as the server validated and normalized it. A value {\"$ref\": \"steps.\u003cstepId>.\u003cfield>\"} is filled from an earlier step's result.","type":"null"}]},"optional":{"description":"Whether the reader may turn the step off.","type":"boolean"},"stepId":{"description":"Id of the step within the plan; later steps refer to its outputs by it.","type":"string"},"title":{"description":"What the step does, in words.","type":"string"},"warnings":{"description":"Things the reader should know before approving.","items":{"type":"string"},"type":"array"}},"required":["stepId","action","title","enabled","input","costClass"],"type":"object","additionalProperties":false},"type":"array"}},"required":["steps"],"type":"object","additionalProperties":false},"questions":{"description":"The questions, on a question interaction.","items":{"description":"One typed question of a question interaction.","properties":{"allowOther":{"description":"Whether a select question also accepts a free-text answer.","type":"boolean"},"input":{"description":"How the question is answered.","enum":["single_select","multi_select","short_text","long_text","confirm","picker"],"type":"string"},"multiple":{"description":"Whether a picker question accepts more than one resource.","type":"boolean"},"optional":{"description":"Whether the question may be left unanswered.","type":"boolean"},"options":{"description":"The choices of a select or picker question. Picker options are resolved by the server from resources the reader can access.","items":{"description":"One choice of a select or picker question, or of a plan field.","properties":{"description":{"description":"Optional detail shown under the label.","type":"string"},"label":{"description":"What the reader sees.","type":"string"},"optionId":{"description":"Id to answer with.","type":"string"}},"required":["optionId","label"],"type":"object","additionalProperties":false},"type":"array"},"picker":{"description":"Which kind of resource a picker question selects.","enum":["agent","environment","skill","vault","model","agent_template","environment_template"],"type":"string"},"prompt":{"description":"The question.","type":"string"},"questionId":{"description":"Id of the question within the interaction.","type":"string"}},"required":["questionId","prompt","input"],"type":"object","additionalProperties":false},"type":"array"},"requestedAt":{"description":"When this revision was put in front of the reader.","format":"date-time","type":"string"},"revision":{"description":"Revision number, starting at 1. Only the latest revision of a pending interaction can be decided.","minimum":1,"type":"integer","maximum":9007199254740991},"status":{"description":"Lifecycle state of the interaction.","enum":["pending","answered","accepted","revision_requested","cancelled","superseded","executing","completed","failed"],"type":"string"},"stepResults":{"description":"What each approved step did, once a plan executes.","items":{"description":"What one approved plan step did.","properties":{"link":{"description":"Console path to it.","type":"string"},"message":{"description":"Detail, or the error.","type":"string"},"resourceId":{"description":"The id of what it created or changed.","type":"string"},"resourceKind":{"description":"What it created or changed.","type":"string"},"status":{"description":"How it ended, or running while it runs. uncertain means the outcome could not be confirmed and the step was not retried.","enum":["running","completed","failed","skipped","uncertain"],"type":"string"},"stepId":{"description":"The plan step this result is for.","type":"string"}},"required":["stepId","status"],"type":"object","additionalProperties":false},"type":"array"},"summary":{"description":"One or two sentences on why this is being asked.","type":"string"},"title":{"description":"Short heading for the interaction.","type":"string"}},"required":["interactionId","kind","revision","digest","status","origin","title","requestedAt"],"type":"object","additionalProperties":false},"blocks":{"oneOf":[{"description":"Ordered content blocks of this message, in the provider's content-block form. Empty for events that carry no message body.","items":{"description":"One block of message content: text, image, tool_use, tool_result, thinking, or a provider passthrough. The type field says which fields apply. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model.","properties":{"byte_size":{"description":"Decoded image byte size.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"content":{"description":"Nested blocks carrying a tool_result payload, so a tool can return both text and images.","items":{"$circularRef":"f8169b9e-0dbc-41e0-9fc8-597ef6809d0f"},"type":"array"},"context":{"description":"A document block's context: what the model should know about the document before reading it, disclosed as its first paragraph.","type":"string"},"data":{"description":"Base64 image bytes. Omitted from default reads and present only for legacy storage or explicit hydrate=images responses.","type":"string"},"encrypted_content":{"description":"Sealed reasoning payload for providers that return reasoning encrypted. Opaque to clients; replay it verbatim.","type":"string"},"height":{"description":"Validated image height in pixels.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"id":{"description":"Provider-assigned id of a tool_use block. Echo it back as tool_use_id on the matching tool_result.","type":"string"},"input":{"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"array","items":{"oneOf":[{}]},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."}]},"description":"Tool arguments the model produced for a tool_use block, matching that tool's input schema.","type":"object"},"is_error":{"description":"True when a tool_result reports that the tool call failed; the nested content then carries the error detail.","type":"boolean"},"media_type":{"description":"Declared media type; inline computer-use images allow image/jpeg, image/png, and image/webp.","type":"string"},"name":{"description":"Name of the tool the model is invoking, on a tool_use block.","type":"string"},"omitted_bytes":{"description":"Original byte count reported by a redacted image placeholder.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"payload":{"oneOf":[{"type":"null","description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model."},{"type":"boolean","description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model."},{"type":"string","description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model."},{"type":"integer","description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model.","maximum":9007199254740991,"minimum":-9007199254740991},{"type":"number","description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model."},{"type":"array","items":{"oneOf":[{}]},"description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model."},{"type":"object","description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model."}]},"provider":{"description":"Provider that emitted a passthrough block, e.g. anthropic or openai, telling readers how to interpret payload.","type":"string"},"provider_payload":{"oneOf":[{"type":"null","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay."},{"type":"boolean","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay."},{"type":"string","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay."},{"type":"integer","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay.","maximum":9007199254740991,"minimum":-9007199254740991},{"type":"number","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay."},{"type":"array","items":{"oneOf":[{}]},"description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay."},{"type":"object","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay."}]},"redacted":{"description":"True when the block's content was withheld (redacted thinking, or an image dropped by redaction); the remaining fields describe what was removed.","type":"boolean"},"semantic_hint":{"description":"Coarse hint about what an unmodeled provider block represents, so a reader can render it without provider-specific logic.","type":"string"},"sha256":{"description":"Lowercase SHA-256 digest of decoded image bytes.","type":"string"},"signature":{"description":"Provider-issued signature over a thinking block, or the thought signature a Gemini tool_use block was issued with, required for the provider to accept that block on a later turn. Opaque; replay it verbatim.","type":"string"},"source":{"description":"Where a user-sent image or document block's bytes came from when they were named rather than sent inline: {type: \"file\", file_id}. Kept on the stored block as provenance after the bytes were copied into the session; an image block then also carries the session's own uri.","properties":{"file_id":{"type":"string","minLength":1,"description":"Nonempty id of an unexpired file in the caller's organization."},"type":{"type":"string","const":"file","description":"Always file."}},"required":["type","file_id"],"type":"object","additionalProperties":false},"summary":{"description":"Readable summary blocks a provider returns alongside sealed or long-form reasoning.","items":{"$circularRef":"f8169b9e-0dbc-41e0-9fc8-597ef6809d0f"},"type":"array"},"text":{"description":"Text of a text block, or the reasoning text of a thinking block.","type":"string"},"title":{"description":"A document block's title, disclosed to the model beside the document.","type":"string"},"tool_use_id":{"description":"Id of the tool_use block that this tool_result answers.","type":"string"},"type":{"description":"Block discriminator: text, image, document (a user-sent block naming a file by id, inlined as text when the message is accepted), tool_use, tool_result, thinking, redacted_thinking, or a provider passthrough type. Which of the other fields apply depends on this value.","type":"string"},"uri":{"description":"Private typed content reference. Fetch it through managedAgentsGetSessionImage; clients cannot read this URI directly.","type":"string"},"url":{"description":"Short-lived HTTPS URL for the image bytes. Present only when the read asked for image_urls=signed and the deployment has signing configured. Never stored; fetch a fresh read after url_expires_at.","type":"string"},"url_expires_at":{"description":"When url stops working. Absent whenever url is.","format":"date-time","type":"string"},"width":{"description":"Validated image width in pixels.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["type"],"type":"object","additionalProperties":false},"type":"array"},{"description":"Ordered content blocks of this message, in the provider's content-block form. Empty for events that carry no message body.","items":{"description":"One block of message content: text, image, tool_use, tool_result, thinking, or a provider passthrough. The type field says which fields apply. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model.","properties":{"byte_size":{"description":"Decoded image byte size.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"content":{"description":"Nested blocks carrying a tool_result payload, so a tool can return both text and images.","items":{"$circularRef":"f8169b9e-0dbc-41e0-9fc8-597ef6809d0f"},"type":"array"},"context":{"description":"A document block's context: what the model should know about the document before reading it, disclosed as its first paragraph.","type":"string"},"data":{"description":"Base64 image bytes. Omitted from default reads and present only for legacy storage or explicit hydrate=images responses.","type":"string"},"encrypted_content":{"description":"Sealed reasoning payload for providers that return reasoning encrypted. Opaque to clients; replay it verbatim.","type":"string"},"height":{"description":"Validated image height in pixels.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"id":{"description":"Provider-assigned id of a tool_use block. Echo it back as tool_use_id on the matching tool_result.","type":"string"},"input":{"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"array","items":{"oneOf":[{}]},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."}]},"description":"Tool arguments the model produced for a tool_use block, matching that tool's input schema.","type":"object"},"is_error":{"description":"True when a tool_result reports that the tool call failed; the nested content then carries the error detail.","type":"boolean"},"media_type":{"description":"Declared media type; inline computer-use images allow image/jpeg, image/png, and image/webp.","type":"string"},"name":{"description":"Name of the tool the model is invoking, on a tool_use block.","type":"string"},"omitted_bytes":{"description":"Original byte count reported by a redacted image placeholder.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"payload":{"oneOf":[{"type":"null","description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model."},{"type":"boolean","description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model."},{"type":"string","description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model."},{"type":"integer","description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model.","maximum":9007199254740991,"minimum":-9007199254740991},{"type":"number","description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model."},{"type":"array","items":{"oneOf":[{}]},"description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model."},{"type":"object","description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model."}]},"provider":{"description":"Provider that emitted a passthrough block, e.g. anthropic or openai, telling readers how to interpret payload.","type":"string"},"provider_payload":{"oneOf":[{"type":"null","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay."},{"type":"boolean","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay."},{"type":"string","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay."},{"type":"integer","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay.","maximum":9007199254740991,"minimum":-9007199254740991},{"type":"number","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay."},{"type":"array","items":{"oneOf":[{}]},"description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay."},{"type":"object","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay."}]},"redacted":{"description":"True when the block's content was withheld (redacted thinking, or an image dropped by redaction); the remaining fields describe what was removed.","type":"boolean"},"semantic_hint":{"description":"Coarse hint about what an unmodeled provider block represents, so a reader can render it without provider-specific logic.","type":"string"},"sha256":{"description":"Lowercase SHA-256 digest of decoded image bytes.","type":"string"},"signature":{"description":"Provider-issued signature over a thinking block, or the thought signature a Gemini tool_use block was issued with, required for the provider to accept that block on a later turn. Opaque; replay it verbatim.","type":"string"},"source":{"description":"Where a user-sent image or document block's bytes came from when they were named rather than sent inline: {type: \"file\", file_id}. Kept on the stored block as provenance after the bytes were copied into the session; an image block then also carries the session's own uri.","properties":{"file_id":{"type":"string","minLength":1,"description":"Nonempty id of an unexpired file in the caller's organization."},"type":{"type":"string","const":"file","description":"Always file."}},"required":["type","file_id"],"type":"object","additionalProperties":false},"summary":{"description":"Readable summary blocks a provider returns alongside sealed or long-form reasoning.","items":{"$circularRef":"f8169b9e-0dbc-41e0-9fc8-597ef6809d0f"},"type":"array"},"text":{"description":"Text of a text block, or the reasoning text of a thinking block.","type":"string"},"title":{"description":"A document block's title, disclosed to the model beside the document.","type":"string"},"tool_use_id":{"description":"Id of the tool_use block that this tool_result answers.","type":"string"},"type":{"description":"Block discriminator: text, image, document (a user-sent block naming a file by id, inlined as text when the message is accepted), tool_use, tool_result, thinking, redacted_thinking, or a provider passthrough type. Which of the other fields apply depends on this value.","type":"string"},"uri":{"description":"Private typed content reference. Fetch it through managedAgentsGetSessionImage; clients cannot read this URI directly.","type":"string"},"url":{"description":"Short-lived HTTPS URL for the image bytes. Present only when the read asked for image_urls=signed and the deployment has signing configured. Never stored; fetch a fresh read after url_expires_at.","type":"string"},"url_expires_at":{"description":"When url stops working. Absent whenever url is.","format":"date-time","type":"string"},"width":{"description":"Validated image width in pixels.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["type"],"type":"object","additionalProperties":false},"type":"null"}]},"metadata":{"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"array","items":{"oneOf":[{}]},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."}]},"description":"Extra key/value detail about this event that is not part of the message body, such as the ingest subtype or the sandbox working directory.","type":"object"},"plan":{"description":"Plan items reported by the agent, present on a plan_update event.","items":{"description":"One step of a plan or to-do list an agent reported while working. Appears on an event's content when the agent's harness emits a plan; the service records it without acting on it.","properties":{"content":{"description":"Text of the planned step as the agent wrote it.","type":"string"},"id":{"description":"Identifier for this plan entry, stable across the turns that update it.","type":"string"},"status":{"description":"Progress value the agent reported for this step. Passed through as written and not interpreted by the service.","type":"string"}},"required":["id","content","status"],"type":"object","additionalProperties":false},"type":"array"},"stop_reason":{"description":"The provider's own stop_reason for the assistant turn, recorded verbatim, e.g. end_turn, tool_use, or max_tokens. Absent on events that are not a model response.","type":"string"},"tools":{"description":"Tool definitions that were in scope for the turn, as sent to the provider. Recorded on the session's system message so a transcript shows what the model could call.","items":{"description":"One tool as it was offered to the model, in the Anthropic and OpenAI tool-definition vocabulary. Recorded on the event for a model turn so a reader can see exactly what the model could call.","properties":{"description":{"description":"Natural-language explanation of what the tool does and when to use it, supplied to the model verbatim.","type":"string"},"input_schema":{"oneOf":[{"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"array","items":{"oneOf":[{}]},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."}]},"description":"JSON Schema for the tool's arguments. Passed to the model provider unchanged.","type":"object"},{"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"array","items":{"oneOf":[{}]},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."}]},"description":"JSON Schema for the tool's arguments. Passed to the model provider unchanged.","type":"null"}]},"name":{"description":"Tool name the model calls, matching the name on the resulting tool_use content block.","type":"string"}},"required":["name","description","input_schema"],"type":"object","additionalProperties":false},"type":"array"},"usage":{"description":"Token counts the provider reported for the call that produced this message. Absent when the event is not a model response.","properties":{"cache_read_tokens":{"description":"Prompt tokens served from the provider's prompt cache, billed at the cached rate.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"cache_write_tokens":{"description":"Prompt tokens written into the provider's prompt cache.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"cost_usd":{"description":"Not set on current events. Read the event's cost_micros for cost.","format":"double","type":"number"},"input_tokens":{"description":"Prompt tokens billed for this unit of work.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"output_tokens":{"description":"Completion tokens billed for this unit of work.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"type":"object","additionalProperties":false}},"required":["blocks"],"type":"object","additionalProperties":false},"content_hydration_status":{"description":"Read-time status when external EventContent was hydrated or could not be hydrated.","enum":["hydrated","refs_only","missing","corrupt","unavailable","oversized"],"type":"string"},"content_payload_bytes":{"description":"Byte size of the canonical external EventContent JSON.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"content_payload_ref":{"description":"Private whole-event content reference. Read the content through managedAgentsGetSessionEventContent; this reference cannot be fetched directly.","type":"string"},"content_payload_sha256":{"description":"Lowercase SHA-256 digest of the canonical external EventContent JSON.","type":"string"},"content_ref":{"description":"Image cleanup prefix or typed multi-image envelope. This is independent of whole-event payload storage.","type":"string"},"cost_micros":{"description":"Accrued cost in micro-USD (1,000,000 = 1 USD). Integer to avoid float rounding across many small charges.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"created_at":{"description":"RFC 3339 timestamp of when this record was created. Server-assigned.","format":"date-time","type":"string"},"environment_id":{"description":"Sandbox environment the producing session was executing in (UUID).","type":"string"},"event_id":{"description":"Identifier for this event (UUID). Server-assigned unless the append supplied one. Chronologically sortable, and the column a transcript is ordered by.","type":"string"},"event_status":{"description":"Outcome marker for events that can fail: pending, completed, warning, or error. Empty when not applicable.","type":"string"},"event_type":{"description":"What kind of event this is. One of message, tool_invocation, tool_result, approval_request, approval_decision, summary, plan_update, session_status, artifact, advisor_intervention, outcome_evaluation, or program_call.","type":"string"},"finish_reason":{"description":"Why the provider stopped generating, in the provider vocabulary (for example end_turn, max_tokens, tool_use). Passed through verbatim.","type":"string"},"inference_config":{"description":"Settings recorded for this inference. A recorded temperature or top_p was not sent to the model.","properties":{"max_tokens":{"description":"Upper bound on tokens the model may generate for one assistant turn (the provider's max_tokens). Omit or 0 to use the model reference's default.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"provider_params":{"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"array","items":{"oneOf":[{}]},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."}]},"description":"Recognized provider-specific settings are thinking, thinkingDisplay and output_config for native Anthropic messages; thinkingConfig for native Gemini; and promptCache, promptCacheTTL and promptCacheSharedTTL for prompt caching. Unknown top-level keys are ignored, not passed through. Omitting all three cache settings enables automatic policy: explicit caching stays enabled and eligible Anthropic requests may use 1h shared retention when recent usage and current pricing evidence predict savings; otherwise shared retention is 5m. Setting promptCache or either TTL explicitly keeps operator-configured retention. promptCache true enables explicit markers; false disables them and ignores both TTL settings. With caching enabled, both TTL settings accept only 5m or 1h on models using native Anthropic messages. promptCacheTTL defaults to 5m for user-context anchors and history. promptCacheSharedTTL controls tools and system instructions, defaults to promptCacheTTL under explicit configuration, and cannot be shorter than promptCacheTTL. Authored thinking objects and enabled cache TTL settings are validated at agent/version writes and session start.","type":"object"},"reasoning_effort":{"description":"Provider-native reasoning depth value. For a model from the models catalog, use one of its supportedReasoningEfforts; omit it to follow the provider's current default.","type":"string"},"temperature":{"description":"Accepted and stored, but not sent to the model, so it has no effect.","type":"number"},"top_p":{"description":"Accepted and stored, but not sent to the model, so it has no effect.","type":"number"}},"type":"object","additionalProperties":false},"input_tokens":{"description":"Prompt tokens billed for this unit of work.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"latency_ms":{"description":"Wall-clock duration of the provider call in milliseconds.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"model":{"description":"Snapshot of the model reference as it was at call time, so a later model change does not rewrite history.","properties":{"base_url":{"description":"Endpoint the request was sent to, for models not served at their provider's default endpoint. Empty means the provider's default endpoint.","type":"string"},"capabilities":{"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"array","items":{"oneOf":[{}]},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."}]},"description":"Declared model capability flags, e.g. tool use, vision, or extended thinking support, as recorded from the catalog entry at call time.","type":"object"},"context_window":{"description":"Maximum total tokens the model accepts in one request, prompt plus completion, as recorded from the catalog entry at call time. 0 means unknown.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"max_output_tokens":{"description":"Maximum completion tokens the model can emit in one response, as recorded from the catalog entry at call time. 0 means unknown.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"metadata":{"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"array","items":{"oneOf":[{}]},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."}]},"description":"Extra key/value data copied from the catalog entry. Some keys are read by the service to shape the request, such as base_url and reasoning_style.","type":"object"},"model":{"description":"Provider's own model id as sent on the wire, e.g. model-name or provider/model-name.","type":"string"},"model_ref_id":{"description":"Model reference in the catalog this snapshot was resolved from (UUID). Empty when the session named a models-catalog id instead of a catalog entry.","type":"string"},"model_version":{"description":"Provider-specific version or snapshot pin recorded alongside the model id, when the catalog entry declares one.","type":"string"},"provider":{"description":"Provider family that served the call, e.g. anthropic, openai, vertex, or mock. Carries the same value as provider_type and is kept for older readers.","type":"string"},"provider_id":{"description":"Model provider record whose credentials and base URL were used (UUID).","type":"string"},"provider_type":{"description":"Provider family that served the call, e.g. anthropic, openai, vertex, or mock. Selects which wire protocol the request used.","type":"string"},"serving_backend":{"description":"Serving stack behind a self-hosted model, e.g. vllm. Empty for models called through a hosted provider API.","type":"string"}},"required":["provider","model"],"type":"object","additionalProperties":false},"model_ref_id":{"description":"Canonical model reference used for this inference (UUID). Empty on events not produced by a model call.","type":"string"},"organization_id":{"description":"Organization that owns this record. Resolved from the API key; never accepted from the caller.","type":"string"},"output_tokens":{"description":"Completion tokens billed for this unit of work.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"parent_event_id":{"description":"Event this one is nested under in the transcript tree (UUID), for example a tool result under its invocation.","type":"string"},"prompt_tokens":{"description":"Estimated tokens this event contributes when rendered into a future provider request. A memoized estimate for context-budget planning, not billed provider usage.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"provider_model_id":{"description":"Provider's own model identifier as sent on the wire, which may differ from the canonical model reference.","type":"string"},"provider_request_id":{"description":"Provider's request identifier for this inference, for correlating with provider-side logs.","type":"string"},"provider_type":{"description":"Model provider family that served this inference, for example anthropic, openai, or vertex.","type":"string"},"role":{"description":"Message role in the provider vocabulary: system, user, or assistant. Set on message events; empty on events that are not turns.","type":"string"},"sandbox_instance_id":{"description":"Concrete sandbox instance the event was produced on. Provider-assigned, not a UUID.","type":"string"},"schema_version":{"description":"Event schema version this row was written under. Server-assigned; readers should tolerate unknown newer values.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"session_id":{"description":"Session this event belongs to (UUID).","type":"string"},"thread_id":{"description":"Thread within a multi-agent session that produced this event (UUID). Empty on a single-agent session.","type":"string"},"tool_name":{"description":"Name of the tool being invoked or reporting a result. Set on tool events only.","type":"string"},"tool_use_id":{"description":"Provider's tool-call identifier, correlating a tool_invocation with its tool_result.","type":"string"},"turn_id":{"description":"Groups every event produced within one model turn.","type":"string"}},"required":["schema_version","event_type","actor","content","inference_config","session_id","event_id","created_at"],"type":"object","additionalProperties":false},"type":"null","isRequired":true,"uniqueKey":"events.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"events","typeLabel":"object[] | null"},"next_page_token":{"description":"Watermark to continue from: pass it back as the after_event_id query parameter to fetch the next page. Its value is the event_id of the last event in this page. Always present, and an empty string means this page reached the end of the timeline as of this read. Because the page can be cut short by a byte budget before the requested limit is reached, a short events array with a non-empty token means more remain, not that the timeline ended.","type":"string","isRequired":true,"uniqueKey":"next_page_token","typeLabel":"string"}},"required":["events","next_page_token"],"type":"object","additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"events":[{"actor":"\u003cstring>","content":{"blocks":[{"type":"\u003cstring>","byte_size":0,"content":"\u003carray>","context":"\u003cstring>","data":"\u003cstring>","encrypted_content":"\u003cstring>","height":0,"id":"\u003cstring>","input":{},"is_error":true,"media_type":"\u003cstring>","name":"\u003cstring>","omitted_bytes":0,"payload":true,"provider":"\u003cstring>","provider_payload":true,"redacted":true,"semantic_hint":"\u003cstring>","sha256":"\u003cstring>","signature":"\u003cstring>","source":{"file_id":"\u003cstring>","type":"file"},"summary":"\u003carray>","text":"\u003cstring>","title":"\u003cstring>","tool_use_id":"\u003cstring>","uri":"\u003cstring>","url":"\u003cstring>","url_expires_at":"2023-11-07T05:31:56Z","width":0}],"assistantInteraction":{"digest":"\u003cstring>","interactionId":"\u003cstring>","kind":"question","origin":"assistant","requestedAt":"2023-11-07T05:31:56Z","revision":4503599627370496,"status":"pending","title":"\u003cstring>","blueprint":{"agents":[{"role":"\u003cstring>","model":"\u003cstring>","responsibilities":"\u003cstring>"}],"capabilities":[{"capabilityId":"\u003cstring>","kind":"\u003cstring>","name":"\u003cstring>","status":"\u003cstring>","purpose":"\u003cstring>"}],"trigger":{"kind":"manual","detail":"\u003cstring>"},"checkpoints":["\u003cstring>"],"costClass":"low","environment":"\u003cstring>","evaluation":"\u003cstring>","gaps":["\u003cstring>"],"outputs":["\u003cstring>"]},"decision":{"decidedAt":"2023-11-07T05:31:56Z","decision":"answered","answers":[{"questionId":"\u003cstring>","optionIds":["\u003cstring>"],"text":"\u003cstring>"}],"comments":[{"text":"\u003cstring>","field":"\u003cstring>","stepId":"\u003cstring>"}],"decidedBy":"\u003cstring>","note":"\u003cstring>"},"plan":{"steps":[{"action":"\u003cstring>","costClass":"none","enabled":true,"input":{},"stepId":"\u003cstring>","title":"\u003cstring>","dependsOn":["\u003cstring>"],"fields":[{"label":"\u003cstring>","name":"\u003cstring>","widget":"text","help":"\u003cstring>","options":[{"label":"\u003cstring>","optionId":"\u003cstring>","description":"\u003cstring>"}],"required":true}],"optional":true,"warnings":["\u003cstring>"]}],"prerequisites":[{"kind":"connect_integration","label":"\u003cstring>","prerequisiteId":"\u003cstring>","satisfied":true,"capabilityId":"\u003cstring>","detail":"\u003cstring>","link":"\u003cstring>"}]},"questions":[{"input":"single_select","prompt":"\u003cstring>","questionId":"\u003cstring>","allowOther":true,"multiple":true,"optional":true,"options":[{"label":"\u003cstring>","optionId":"\u003cstring>","description":"\u003cstring>"}],"picker":"agent"}],"stepResults":[{"status":"running","stepId":"\u003cstring>","link":"\u003cstring>","message":"\u003cstring>","resourceId":"\u003cstring>","resourceKind":"\u003cstring>"}],"summary":"\u003cstring>"},"metadata":{},"plan":[{"content":"\u003cstring>","id":"\u003cstring>","status":"\u003cstring>"}],"stop_reason":"\u003cstring>","tools":[{"description":"\u003cstring>","input_schema":{},"name":"\u003cstring>"}],"usage":{"cache_read_tokens":0,"cache_write_tokens":0,"cost_usd":123,"input_tokens":0,"output_tokens":0}},"created_at":"2023-11-07T05:31:56Z","event_id":"\u003cstring>","event_type":"\u003cstring>","inference_config":{"max_tokens":0,"provider_params":{},"reasoning_effort":"\u003cstring>","temperature":123,"top_p":123},"schema_version":0,"session_id":"\u003cstring>","agent_id":"\u003cstring>","cache_read_tokens":0,"cache_write_tokens":0,"causal_event_id":"\u003cstring>","content_hydration_status":"hydrated","content_payload_bytes":0,"content_payload_ref":"\u003cstring>","content_payload_sha256":"\u003cstring>","content_ref":"\u003cstring>","cost_micros":0,"environment_id":"\u003cstring>","event_status":"\u003cstring>","finish_reason":"\u003cstring>","input_tokens":0,"latency_ms":0,"model":{"model":"\u003cstring>","provider":"\u003cstring>","base_url":"\u003cstring>","capabilities":{},"context_window":0,"max_output_tokens":0,"metadata":{},"model_ref_id":"\u003cstring>","model_version":"\u003cstring>","provider_id":"\u003cstring>","provider_type":"\u003cstring>","serving_backend":"\u003cstring>"},"model_ref_id":"\u003cstring>","organization_id":"\u003cstring>","output_tokens":0,"parent_event_id":"\u003cstring>","prompt_tokens":0,"provider_model_id":"\u003cstring>","provider_request_id":"\u003cstring>","provider_type":"\u003cstring>","role":"\u003cstring>","sandbox_instance_id":"\u003cstring>","thread_id":"\u003cstring>","tool_name":"\u003cstring>","tool_use_id":"\u003cstring>","turn_id":"\u003cstring>"}],"next_page_token":"\u003cstring>"}}},"exampleType":"generated"}},"description":"Response body of GET /managed-agents/v1/sessions/{sessionId}/events: one page of the merged chronological timeline for the whole session tree the path session belongs to, not just that session's own events. The page is bounded twice, by the limit parameter and by an aggregate serialized-byte budget, and the byte budget wins; a single event too large for the budget is returned alone with its content marked oversized and must be fetched in full from the per-event content endpoint.","headers":{"recursion-organization-id":{"description":"Organization id resolved for this request.","schema":{"type":"string","minLength":1}},"recursion-tenant-id":{"description":"Tenant id resolved for this request.","schema":{"type":"string","minLength":1}}},"exampleType":"generated"},"05c182ce-ca3b-47d9-abe7-742b17c8dc5b":{"description":"Bad Request.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","minLength":1,"description":"Stable machine-readable error code.","enum":["invalid_request"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"description":"Human-readable error message.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","properties":{"field":{"description":"Request field or header responsible for the error, when one can be identified.","type":"string","uniqueKey":"details.field","typeLabel":"string"},"issues":{"description":"Boundary-validation failures as path-prefixed human-readable messages.","type":"array","items":{"type":"string","uniqueKey":"details.issues.items.[INDEX]","typeLabel":"string"},"uniqueKey":"details.issues","typeLabel":"string[]"},"requestId":{"description":"Request correlation identifier for support and log lookup.","type":"string","uniqueKey":"details.requestId","typeLabel":"string"},"retryable":{"description":"Server advice about failure transience. `true` means transient, `false` means non-transient, and absence gives no advice. Automatic replay is allowed only when this field is not `false` and the operation-specific retry and idempotency contract permits replay.","type":"boolean","uniqueKey":"details.retryable","typeLabel":"boolean"}},"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.2","typeLabel":"string"},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"details.additionalProperties.oneOf.3","typeLabel":"integer"},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"details.additionalProperties.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"details.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Optional structured error details. Reserved transport fields are typed; code-specific fields remain forward compatible.","uniqueKey":"details","typeLabel":"object"}},"required":["code","message"],"additionalProperties":false,"description":"Standard flat error response.","x-recursion-error-codes":["invalid_request"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"invalid_request","message":"\u003cstring>","details":{"field":"\u003cstring>","issues":["\u003cstring>"],"requestId":"\u003cstring>","retryable":true}}}},"exampleType":"generated"}},"headers":{"recursion-organization-id":{"description":"Organization id resolved for this request.","schema":{"type":"string","minLength":1}},"recursion-tenant-id":{"description":"Tenant id resolved for this request.","schema":{"type":"string","minLength":1}}},"exampleType":"generated"},"3c6701bf-77a6-4b37-9b96-541ccdf628c7":{"description":"Unauthorized.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","minLength":1,"description":"Stable machine-readable error code.","enum":["unauthorized"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"description":"Human-readable error message.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","properties":{"field":{"description":"Request field or header responsible for the error, when one can be identified.","type":"string","uniqueKey":"details.field","typeLabel":"string"},"issues":{"description":"Boundary-validation failures as path-prefixed human-readable messages.","type":"array","items":{"type":"string","uniqueKey":"details.issues.items.[INDEX]","typeLabel":"string"},"uniqueKey":"details.issues","typeLabel":"string[]"},"requestId":{"description":"Request correlation identifier for support and log lookup.","type":"string","uniqueKey":"details.requestId","typeLabel":"string"},"retryable":{"description":"Server advice about failure transience. `true` means transient, `false` means non-transient, and absence gives no advice. Automatic replay is allowed only when this field is not `false` and the operation-specific retry and idempotency contract permits replay.","type":"boolean","uniqueKey":"details.retryable","typeLabel":"boolean"}},"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.2","typeLabel":"string"},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"details.additionalProperties.oneOf.3","typeLabel":"integer"},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"details.additionalProperties.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"details.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Optional structured error details. Reserved transport fields are typed; code-specific fields remain forward compatible.","uniqueKey":"details","typeLabel":"object"}},"required":["code","message"],"additionalProperties":false,"description":"Standard flat error response.","x-recursion-error-codes":["unauthorized"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"unauthorized","message":"\u003cstring>","details":{"field":"\u003cstring>","issues":["\u003cstring>"],"requestId":"\u003cstring>","retryable":true}}}},"exampleType":"generated"}},"headers":{"recursion-organization-id":{"description":"Organization id resolved for this request.","schema":{"type":"string","minLength":1}},"recursion-tenant-id":{"description":"Tenant id resolved for this request.","schema":{"type":"string","minLength":1}}},"exampleType":"generated"},"07b609c8-5aa6-4227-af9a-8fe650c76065":{"description":"Forbidden.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","minLength":1,"description":"Stable machine-readable error code.","enum":["forbidden"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"description":"Human-readable error message.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","properties":{"field":{"description":"Request field or header responsible for the error, when one can be identified.","type":"string","uniqueKey":"details.field","typeLabel":"string"},"issues":{"description":"Boundary-validation failures as path-prefixed human-readable messages.","type":"array","items":{"type":"string","uniqueKey":"details.issues.items.[INDEX]","typeLabel":"string"},"uniqueKey":"details.issues","typeLabel":"string[]"},"requestId":{"description":"Request correlation identifier for support and log lookup.","type":"string","uniqueKey":"details.requestId","typeLabel":"string"},"retryable":{"description":"Server advice about failure transience. `true` means transient, `false` means non-transient, and absence gives no advice. Automatic replay is allowed only when this field is not `false` and the operation-specific retry and idempotency contract permits replay.","type":"boolean","uniqueKey":"details.retryable","typeLabel":"boolean"}},"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.2","typeLabel":"string"},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"details.additionalProperties.oneOf.3","typeLabel":"integer"},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"details.additionalProperties.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"details.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Optional structured error details. Reserved transport fields are typed; code-specific fields remain forward compatible.","uniqueKey":"details","typeLabel":"object"}},"required":["code","message"],"additionalProperties":false,"description":"Standard flat error response.","x-recursion-error-codes":["forbidden"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"forbidden","message":"\u003cstring>","details":{"field":"\u003cstring>","issues":["\u003cstring>"],"requestId":"\u003cstring>","retryable":true}}}},"exampleType":"generated"}},"headers":{"recursion-organization-id":{"description":"Organization id resolved for this request.","schema":{"type":"string","minLength":1}},"recursion-tenant-id":{"description":"Tenant id resolved for this request.","schema":{"type":"string","minLength":1}}},"exampleType":"generated"},"66aab066-100c-41bb-9301-bb9706a45750":{"description":"Not Found.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","minLength":1,"description":"Stable machine-readable error code.","enum":["not_found"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"description":"Human-readable error message.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","properties":{"field":{"description":"Request field or header responsible for the error, when one can be identified.","type":"string","uniqueKey":"details.field","typeLabel":"string"},"issues":{"description":"Boundary-validation failures as path-prefixed human-readable messages.","type":"array","items":{"type":"string","uniqueKey":"details.issues.items.[INDEX]","typeLabel":"string"},"uniqueKey":"details.issues","typeLabel":"string[]"},"requestId":{"description":"Request correlation identifier for support and log lookup.","type":"string","uniqueKey":"details.requestId","typeLabel":"string"},"retryable":{"description":"Server advice about failure transience. `true` means transient, `false` means non-transient, and absence gives no advice. Automatic replay is allowed only when this field is not `false` and the operation-specific retry and idempotency contract permits replay.","type":"boolean","uniqueKey":"details.retryable","typeLabel":"boolean"}},"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.2","typeLabel":"string"},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"details.additionalProperties.oneOf.3","typeLabel":"integer"},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"details.additionalProperties.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"details.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Optional structured error details. Reserved transport fields are typed; code-specific fields remain forward compatible.","uniqueKey":"details","typeLabel":"object"}},"required":["code","message"],"additionalProperties":false,"description":"Standard flat error response.","x-recursion-error-codes":["not_found"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"not_found","message":"\u003cstring>","details":{"field":"\u003cstring>","issues":["\u003cstring>"],"requestId":"\u003cstring>","retryable":true}}}},"exampleType":"generated"}},"headers":{"recursion-organization-id":{"description":"Organization id resolved for this request.","schema":{"type":"string","minLength":1}},"recursion-tenant-id":{"description":"Tenant id resolved for this request.","schema":{"type":"string","minLength":1}}},"exampleType":"generated"},"cda3d433-e4e5-4514-a5c8-42478e01a1c5":{"description":"Payload Too Large.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","minLength":1,"description":"Stable machine-readable error code.","enum":["payload_too_large"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"description":"Human-readable error message.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","properties":{"field":{"description":"Request field or header responsible for the error, when one can be identified.","type":"string","uniqueKey":"details.field","typeLabel":"string"},"issues":{"description":"Boundary-validation failures as path-prefixed human-readable messages.","type":"array","items":{"type":"string","uniqueKey":"details.issues.items.[INDEX]","typeLabel":"string"},"uniqueKey":"details.issues","typeLabel":"string[]"},"requestId":{"description":"Request correlation identifier for support and log lookup.","type":"string","uniqueKey":"details.requestId","typeLabel":"string"},"retryable":{"description":"Server advice about failure transience. `true` means transient, `false` means non-transient, and absence gives no advice. Automatic replay is allowed only when this field is not `false` and the operation-specific retry and idempotency contract permits replay.","type":"boolean","uniqueKey":"details.retryable","typeLabel":"boolean"}},"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.2","typeLabel":"string"},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"details.additionalProperties.oneOf.3","typeLabel":"integer"},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"details.additionalProperties.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"details.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Optional structured error details. Reserved transport fields are typed; code-specific fields remain forward compatible.","uniqueKey":"details","typeLabel":"object"}},"required":["code","message"],"additionalProperties":false,"description":"Standard flat error response.","x-recursion-error-codes":["payload_too_large"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"payload_too_large","message":"\u003cstring>","details":{"field":"\u003cstring>","issues":["\u003cstring>"],"requestId":"\u003cstring>","retryable":true}}}},"exampleType":"generated"}},"headers":{"recursion-organization-id":{"description":"Organization id resolved for this request.","schema":{"type":"string","minLength":1}},"recursion-tenant-id":{"description":"Tenant id resolved for this request.","schema":{"type":"string","minLength":1}}},"exampleType":"generated"},"197762bb-d066-4a89-b289-f5b34453f20a":{"headers":{"Retry-After":{"description":"When to retry, as delay seconds or an HTTP date.","schema":{"type":"string"}},"recursion-organization-id":{"description":"Organization id resolved for this request.","schema":{"type":"string","minLength":1}},"recursion-tenant-id":{"description":"Tenant id resolved for this request.","schema":{"type":"string","minLength":1}}},"description":"Too Many Requests.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","minLength":1,"description":"Stable machine-readable error code.","enum":["rate_limit_exceeded"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"description":"Human-readable error message.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","properties":{"field":{"description":"Request field or header responsible for the error, when one can be identified.","type":"string","uniqueKey":"details.field","typeLabel":"string"},"issues":{"description":"Boundary-validation failures as path-prefixed human-readable messages.","type":"array","items":{"type":"string","uniqueKey":"details.issues.items.[INDEX]","typeLabel":"string"},"uniqueKey":"details.issues","typeLabel":"string[]"},"requestId":{"description":"Request correlation identifier for support and log lookup.","type":"string","uniqueKey":"details.requestId","typeLabel":"string"},"retryable":{"description":"Server advice about failure transience. `true` means transient, `false` means non-transient, and absence gives no advice. Automatic replay is allowed only when this field is not `false` and the operation-specific retry and idempotency contract permits replay.","type":"boolean","uniqueKey":"details.retryable","typeLabel":"boolean"}},"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.2","typeLabel":"string"},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"details.additionalProperties.oneOf.3","typeLabel":"integer"},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"details.additionalProperties.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"details.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Optional structured error details. Reserved transport fields are typed; code-specific fields remain forward compatible.","uniqueKey":"details","typeLabel":"object"}},"required":["code","message"],"additionalProperties":false,"description":"Standard flat error response.","x-recursion-error-codes":["rate_limit_exceeded"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"rate_limit_exceeded","message":"\u003cstring>","details":{"field":"\u003cstring>","issues":["\u003cstring>"],"requestId":"\u003cstring>","retryable":true}}}},"exampleType":"generated"}},"exampleType":"generated"},"3c1aaebb-1f28-4d1b-9d88-846581fd0f41":{"description":"Internal Server Error.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","minLength":1,"description":"Stable machine-readable error code.","enum":["internal_error"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"description":"Human-readable error message.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","properties":{"field":{"description":"Request field or header responsible for the error, when one can be identified.","type":"string","uniqueKey":"details.field","typeLabel":"string"},"issues":{"description":"Boundary-validation failures as path-prefixed human-readable messages.","type":"array","items":{"type":"string","uniqueKey":"details.issues.items.[INDEX]","typeLabel":"string"},"uniqueKey":"details.issues","typeLabel":"string[]"},"requestId":{"description":"Request correlation identifier for support and log lookup.","type":"string","uniqueKey":"details.requestId","typeLabel":"string"},"retryable":{"description":"Server advice about failure transience. `true` means transient, `false` means non-transient, and absence gives no advice. Automatic replay is allowed only when this field is not `false` and the operation-specific retry and idempotency contract permits replay.","type":"boolean","uniqueKey":"details.retryable","typeLabel":"boolean"}},"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.2","typeLabel":"string"},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"details.additionalProperties.oneOf.3","typeLabel":"integer"},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"details.additionalProperties.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"details.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Optional structured error details. Reserved transport fields are typed; code-specific fields remain forward compatible.","uniqueKey":"details","typeLabel":"object"}},"required":["code","message"],"additionalProperties":false,"description":"Standard flat error response.","x-recursion-error-codes":["internal_error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"internal_error","message":"\u003cstring>","details":{"field":"\u003cstring>","issues":["\u003cstring>"],"requestId":"\u003cstring>","retryable":true}}}},"exampleType":"generated"}},"headers":{"recursion-organization-id":{"description":"Organization id resolved for this request.","schema":{"type":"string","minLength":1}},"recursion-tenant-id":{"description":"Tenant id resolved for this request.","schema":{"type":"string","minLength":1}}},"exampleType":"generated"},"7a452e71-7a57-4c2b-92bb-8369e43037ad":{"description":"A dependent service returned an invalid response.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","minLength":1,"description":"Stable machine-readable error code.","enum":["bad_gateway"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"description":"Human-readable error message.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","properties":{"field":{"description":"Request field or header responsible for the error, when one can be identified.","type":"string","uniqueKey":"details.field","typeLabel":"string"},"issues":{"description":"Boundary-validation failures as path-prefixed human-readable messages.","type":"array","items":{"type":"string","uniqueKey":"details.issues.items.[INDEX]","typeLabel":"string"},"uniqueKey":"details.issues","typeLabel":"string[]"},"requestId":{"description":"Request correlation identifier for support and log lookup.","type":"string","uniqueKey":"details.requestId","typeLabel":"string"},"retryable":{"description":"Server advice about failure transience. `true` means transient, `false` means non-transient, and absence gives no advice. Automatic replay is allowed only when this field is not `false` and the operation-specific retry and idempotency contract permits replay.","type":"boolean","uniqueKey":"details.retryable","typeLabel":"boolean"}},"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.2","typeLabel":"string"},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"details.additionalProperties.oneOf.3","typeLabel":"integer"},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"details.additionalProperties.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"details.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Optional structured error details. Reserved transport fields are typed; code-specific fields remain forward compatible.","uniqueKey":"details","typeLabel":"object"}},"required":["code","message"],"additionalProperties":false,"description":"Standard flat error response.","x-recursion-error-codes":["bad_gateway"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"bad_gateway","message":"\u003cstring>","details":{"field":"\u003cstring>","issues":["\u003cstring>"],"requestId":"\u003cstring>","retryable":true}}}},"exampleType":"generated"}},"headers":{"recursion-organization-id":{"description":"Organization id resolved for this request.","schema":{"type":"string","minLength":1}},"recursion-tenant-id":{"description":"Tenant id resolved for this request.","schema":{"type":"string","minLength":1}}},"exampleType":"generated"},"35d4ddc5-579d-4268-ab6a-a8880a1ea20e":{"description":"Service Unavailable.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","description":"Standard flat error response.","required":["code","message"],"x-recursion-error-codes":["content_store_unavailable","content_store_unconfigured","managed_agents_unavailable","service_unavailable"],"properties":{"code":{"type":"string","minLength":1,"description":"Stable machine-readable error code.","enum":["content_store_unavailable"],"isRequired":true,"uniqueKey":"oneOf.0.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"description":"Human-readable error message.","isRequired":true,"uniqueKey":"oneOf.0.message","typeLabel":"string"},"details":{"type":"object","properties":{"field":{"description":"Request field or header responsible for the error, when one can be identified.","type":"string","uniqueKey":"oneOf.0.details.field","typeLabel":"string"},"issues":{"description":"Boundary-validation failures as path-prefixed human-readable messages.","type":"array","items":{"type":"string","uniqueKey":"oneOf.0.details.issues.items.[INDEX]","typeLabel":"string"},"uniqueKey":"oneOf.0.details.issues","typeLabel":"string[]"},"requestId":{"description":"Request correlation identifier for support and log lookup.","type":"string","uniqueKey":"oneOf.0.details.requestId","typeLabel":"string"},"retryable":{"description":"Server advice about failure transience. `true` means transient, `false` means non-transient, and absence gives no advice. Automatic replay is allowed only when this field is not `false` and the operation-specific retry and idempotency contract permits replay.","type":"boolean","uniqueKey":"oneOf.0.details.retryable","typeLabel":"boolean"}},"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"oneOf.0.details.additionalProperties.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"oneOf.0.details.additionalProperties.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"oneOf.0.details.additionalProperties.oneOf.2","typeLabel":"string"},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"oneOf.0.details.additionalProperties.oneOf.3","typeLabel":"integer"},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"oneOf.0.details.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"oneOf.0.details.additionalProperties.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"oneOf.0.details.additionalProperties.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"oneOf.0.details.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"oneOf.0.details.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Optional structured error details. Reserved transport fields are typed; code-specific fields remain forward compatible.","uniqueKey":"oneOf.0.details","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","description":"Standard flat error response.","required":["code","message"],"x-recursion-error-codes":["content_store_unavailable","content_store_unconfigured","managed_agents_unavailable","service_unavailable"],"properties":{"code":{"type":"string","minLength":1,"description":"Stable machine-readable error code.","enum":["content_store_unconfigured"],"isRequired":true,"uniqueKey":"oneOf.1.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"description":"Human-readable error message.","isRequired":true,"uniqueKey":"oneOf.1.message","typeLabel":"string"},"details":{"type":"object","properties":{"field":{"description":"Request field or header responsible for the error, when one can be identified.","type":"string","uniqueKey":"oneOf.1.details.field","typeLabel":"string"},"issues":{"description":"Boundary-validation failures as path-prefixed human-readable messages.","type":"array","items":{"type":"string","uniqueKey":"oneOf.1.details.issues.items.[INDEX]","typeLabel":"string"},"uniqueKey":"oneOf.1.details.issues","typeLabel":"string[]"},"requestId":{"description":"Request correlation identifier for support and log lookup.","type":"string","uniqueKey":"oneOf.1.details.requestId","typeLabel":"string"},"retryable":{"description":"Server advice about failure transience. `true` means transient, `false` means non-transient, and absence gives no advice. Automatic replay is allowed only when this field is not `false` and the operation-specific retry and idempotency contract permits replay.","type":"boolean","uniqueKey":"oneOf.1.details.retryable","typeLabel":"boolean"}},"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"oneOf.1.details.additionalProperties.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"oneOf.1.details.additionalProperties.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"oneOf.1.details.additionalProperties.oneOf.2","typeLabel":"string"},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"oneOf.1.details.additionalProperties.oneOf.3","typeLabel":"integer"},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"oneOf.1.details.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"oneOf.1.details.additionalProperties.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"oneOf.1.details.additionalProperties.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"oneOf.1.details.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"oneOf.1.details.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Optional structured error details. Reserved transport fields are typed; code-specific fields remain forward compatible.","uniqueKey":"oneOf.1.details","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"oneOf.1","typeLabel":"object"},{"type":"object","description":"Standard flat error response.","required":["code","message"],"x-recursion-error-codes":["content_store_unavailable","content_store_unconfigured","managed_agents_unavailable","service_unavailable"],"properties":{"code":{"type":"string","minLength":1,"description":"Stable machine-readable error code.","enum":["managed_agents_unavailable"],"isRequired":true,"uniqueKey":"oneOf.2.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"description":"Human-readable error message.","isRequired":true,"uniqueKey":"oneOf.2.message","typeLabel":"string"},"details":{"type":"object","properties":{"field":{"description":"Request field or header responsible for the error, when one can be identified.","type":"string","uniqueKey":"oneOf.2.details.field","typeLabel":"string"},"issues":{"description":"Boundary-validation failures as path-prefixed human-readable messages.","type":"array","items":{"type":"string","uniqueKey":"oneOf.2.details.issues.items.[INDEX]","typeLabel":"string"},"uniqueKey":"oneOf.2.details.issues","typeLabel":"string[]"},"requestId":{"description":"Request correlation identifier for support and log lookup.","type":"string","uniqueKey":"oneOf.2.details.requestId","typeLabel":"string"},"retryable":{"description":"Server advice about failure transience. `true` means transient, `false` means non-transient, and absence gives no advice. Automatic replay is allowed only when this field is not `false` and the operation-specific retry and idempotency contract permits replay.","type":"boolean","uniqueKey":"oneOf.2.details.retryable","typeLabel":"boolean"}},"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"oneOf.2.details.additionalProperties.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"oneOf.2.details.additionalProperties.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"oneOf.2.details.additionalProperties.oneOf.2","typeLabel":"string"},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"oneOf.2.details.additionalProperties.oneOf.3","typeLabel":"integer"},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"oneOf.2.details.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"oneOf.2.details.additionalProperties.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"oneOf.2.details.additionalProperties.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"oneOf.2.details.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"oneOf.2.details.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Optional structured error details. Reserved transport fields are typed; code-specific fields remain forward compatible.","uniqueKey":"oneOf.2.details","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"oneOf.2","typeLabel":"object"},{"type":"object","description":"Standard flat error response.","required":["code","message"],"x-recursion-error-codes":["content_store_unavailable","content_store_unconfigured","managed_agents_unavailable","service_unavailable"],"properties":{"code":{"type":"string","minLength":1,"description":"Stable machine-readable error code.","enum":["service_unavailable"],"isRequired":true,"uniqueKey":"oneOf.3.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"description":"Human-readable error message.","isRequired":true,"uniqueKey":"oneOf.3.message","typeLabel":"string"},"details":{"type":"object","properties":{"field":{"description":"Request field or header responsible for the error, when one can be identified.","type":"string","uniqueKey":"oneOf.3.details.field","typeLabel":"string"},"issues":{"description":"Boundary-validation failures as path-prefixed human-readable messages.","type":"array","items":{"type":"string","uniqueKey":"oneOf.3.details.issues.items.[INDEX]","typeLabel":"string"},"uniqueKey":"oneOf.3.details.issues","typeLabel":"string[]"},"requestId":{"description":"Request correlation identifier for support and log lookup.","type":"string","uniqueKey":"oneOf.3.details.requestId","typeLabel":"string"},"retryable":{"description":"Server advice about failure transience. `true` means transient, `false` means non-transient, and absence gives no advice. Automatic replay is allowed only when this field is not `false` and the operation-specific retry and idempotency contract permits replay.","type":"boolean","uniqueKey":"oneOf.3.details.retryable","typeLabel":"boolean"}},"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"oneOf.3.details.additionalProperties.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"oneOf.3.details.additionalProperties.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"oneOf.3.details.additionalProperties.oneOf.2","typeLabel":"string"},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"oneOf.3.details.additionalProperties.oneOf.3","typeLabel":"integer"},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"oneOf.3.details.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"oneOf.3.details.additionalProperties.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"oneOf.3.details.additionalProperties.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"oneOf.3.details.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"oneOf.3.details.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Optional structured error details. Reserved transport fields are typed; code-specific fields remain forward compatible.","uniqueKey":"oneOf.3.details","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"oneOf.3","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"content_store_unavailable","message":"\u003cstring>","details":{"field":"\u003cstring>","issues":["\u003cstring>"],"requestId":"\u003cstring>","retryable":true}}}},"exampleType":"generated"}},"headers":{"recursion-organization-id":{"description":"Organization id resolved for this request.","schema":{"type":"string","minLength":1}},"recursion-tenant-id":{"description":"Tenant id resolved for this request.","schema":{"type":"string","minLength":1}}},"exampleType":"generated"},"b97dd406-1991-4507-a0ee-2e6622964c60":{"headers":{"Retry-After":{"description":"When to retry, as delay seconds or an HTTP date.","schema":{"type":"string"}},"recursion-organization-id":{"description":"Organization id resolved for this request.","schema":{"type":"string","minLength":1}},"recursion-tenant-id":{"description":"Tenant id resolved for this request.","schema":{"type":"string","minLength":1}}},"description":"A dependent service timed out.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","minLength":1,"description":"Stable machine-readable error code.","enum":["gateway_timeout"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"description":"Human-readable error message.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","properties":{"field":{"description":"Request field or header responsible for the error, when one can be identified.","type":"string","uniqueKey":"details.field","typeLabel":"string"},"issues":{"description":"Boundary-validation failures as path-prefixed human-readable messages.","type":"array","items":{"type":"string","uniqueKey":"details.issues.items.[INDEX]","typeLabel":"string"},"uniqueKey":"details.issues","typeLabel":"string[]"},"requestId":{"description":"Request correlation identifier for support and log lookup.","type":"string","uniqueKey":"details.requestId","typeLabel":"string"},"retryable":{"description":"Server advice about failure transience. `true` means transient, `false` means non-transient, and absence gives no advice. Automatic replay is allowed only when this field is not `false` and the operation-specific retry and idempotency contract permits replay.","type":"boolean","uniqueKey":"details.retryable","typeLabel":"boolean"}},"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.2","typeLabel":"string"},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"details.additionalProperties.oneOf.3","typeLabel":"integer"},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"details.additionalProperties.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"details.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Optional structured error details. Reserved transport fields are typed; code-specific fields remain forward compatible.","uniqueKey":"details","typeLabel":"object"}},"required":["code","message"],"additionalProperties":false,"description":"Standard flat error response.","x-recursion-error-codes":["gateway_timeout"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"gateway_timeout","message":"\u003cstring>","details":{"field":"\u003cstring>","issues":["\u003cstring>"],"requestId":"\u003cstring>","retryable":true}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"c1ebf5cf-a1ae-45f0-b402-3d35a5b5dd82":{"bearerAuth":{"type":"http","scheme":"bearer","description":"A Recursion API key, created in the console under API keys.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"eac8fda5-fabb-42c9-b41c-cb7bcd1fd088":{"url":"https://api.recursion.labelbox.com"}},"schemas":{"f8169b9e-0dbc-41e0-9fc8-597ef6809d0f":{"description":"One block of message content: text, image, tool_use, tool_result, thinking, or a provider passthrough. The type field says which fields apply. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model.","properties":{"type":{"description":"Block discriminator: text, image, document (a user-sent block naming a file by id, inlined as text when the message is accepted), tool_use, tool_result, thinking, redacted_thinking, or a provider passthrough type. Which of the other fields apply depends on this value.","type":"string","isRequired":true},"byte_size":{"description":"Decoded image byte size.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"content":{"description":"Nested blocks carrying a tool_result payload, so a tool can return both text and images.","items":{"$circularRef":"f8169b9e-0dbc-41e0-9fc8-597ef6809d0f"},"type":"array"},"context":{"description":"A document block's context: what the model should know about the document before reading it, disclosed as its first paragraph.","type":"string"},"data":{"description":"Base64 image bytes. Omitted from default reads and present only for legacy storage or explicit hydrate=images responses.","type":"string"},"encrypted_content":{"description":"Sealed reasoning payload for providers that return reasoning encrypted. Opaque to clients; replay it verbatim.","type":"string"},"height":{"description":"Validated image height in pixels.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"id":{"description":"Provider-assigned id of a tool_use block. Echo it back as tool_use_id on the matching tool_result.","type":"string"},"input":{"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"array","items":{"oneOf":[{}]},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."}]},"description":"Tool arguments the model produced for a tool_use block, matching that tool's input schema.","type":"object"},"is_error":{"description":"True when a tool_result reports that the tool call failed; the nested content then carries the error detail.","type":"boolean"},"media_type":{"description":"Declared media type; inline computer-use images allow image/jpeg, image/png, and image/webp.","type":"string"},"name":{"description":"Name of the tool the model is invoking, on a tool_use block.","type":"string"},"omitted_bytes":{"description":"Original byte count reported by a redacted image placeholder.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"payload":{"oneOf":[{"type":"null","description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model."},{"type":"boolean","description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model."},{"type":"string","description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model."},{"type":"integer","description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model.","maximum":9007199254740991,"minimum":-9007199254740991},{"type":"number","description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model."},{"type":"array","items":{"oneOf":[{}]},"description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model."},{"type":"object","description":"Provider-native block body, stored verbatim for block types this schema does not model. Blocks are rebuilt for each model provider, and block types a provider request does not support never reach the model."}]},"provider":{"description":"Provider that emitted a passthrough block, e.g. anthropic or openai, telling readers how to interpret payload.","type":"string"},"provider_payload":{"oneOf":[{"type":"null","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay."},{"type":"boolean","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay."},{"type":"string","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay."},{"type":"integer","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay.","maximum":9007199254740991,"minimum":-9007199254740991},{"type":"number","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay."},{"type":"array","items":{"oneOf":[{}]},"description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay."},{"type":"object","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay."}]},"redacted":{"description":"True when the block's content was withheld (redacted thinking, or an image dropped by redaction); the remaining fields describe what was removed.","type":"boolean"},"semantic_hint":{"description":"Coarse hint about what an unmodeled provider block represents, so a reader can render it without provider-specific logic.","type":"string"},"sha256":{"description":"Lowercase SHA-256 digest of decoded image bytes.","type":"string"},"signature":{"description":"Provider-issued signature over a thinking block, or the thought signature a Gemini tool_use block was issued with, required for the provider to accept that block on a later turn. Opaque; replay it verbatim.","type":"string"},"source":{"description":"Where a user-sent image or document block's bytes came from when they were named rather than sent inline: {type: \"file\", file_id}. Kept on the stored block as provenance after the bytes were copied into the session; an image block then also carries the session's own uri.","properties":{"file_id":{"type":"string","minLength":1,"description":"Nonempty id of an unexpired file in the caller's organization.","isRequired":true},"type":{"type":"string","const":"file","description":"Always file.","isRequired":true}},"required":["type","file_id"],"type":"object","additionalProperties":false},"summary":{"description":"Readable summary blocks a provider returns alongside sealed or long-form reasoning.","items":{"$circularRef":"f8169b9e-0dbc-41e0-9fc8-597ef6809d0f"},"type":"array"},"text":{"description":"Text of a text block, or the reasoning text of a thinking block.","type":"string"},"title":{"description":"A document block's title, disclosed to the model beside the document.","type":"string"},"tool_use_id":{"description":"Id of the tool_use block that this tool_result answers.","type":"string"},"uri":{"description":"Private typed content reference. Fetch it through managedAgentsGetSessionImage; clients cannot read this URI directly.","type":"string"},"url":{"description":"Short-lived HTTPS URL for the image bytes. Present only when the read asked for image_urls=signed and the deployment has signing configured. Never stored; fetch a fresh read after url_expires_at.","type":"string"},"url_expires_at":{"description":"When url stops working. Absent whenever url is.","format":"date-time","type":"string"},"width":{"description":"Validated image width in pixels.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["type"],"type":"object","additionalProperties":false}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"A Recursion API key, created in the console under API keys.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"A Recursion API key, created in the console under API keys.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"recursion/openapi.yaml"},"subdomain":"labelbox-1db23ff4","siteName":"Labelbox","title":"Get root timeline events - Labelbox","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-05T13:10:18.998Z","originalFileLocation":"api-reference/sessions/get-root-timeline-events.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=\"light\"}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=\"Returns one page of the root timeline\u0026#x27;s events in chronological order, plus next_page_token to continue from. A page can come back shorter than limit because an aggregate serialized-byte budget applies as well as the count, so treat an empty page with no token as the end rather than inferring the end from the length. Large event payloads hydrate by default; pass payloads=refs for bounded stubs instead.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Labelbox\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/labelbox-1db23ff4/8cFhcrRhzqCDD_l2/_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/labelbox-1db23ff4/8cFhcrRhzqCDD_l2/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/labelbox-1db23ff4/8cFhcrRhzqCDD_l2/_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/labelbox-1db23ff4/8cFhcrRhzqCDD_l2/_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/labelbox-1db23ff4/8cFhcrRhzqCDD_l2/_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/labelbox-1db23ff4/8cFhcrRhzqCDD_l2/_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/labelbox-1db23ff4/8cFhcrRhzqCDD_l2/_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/labelbox-1db23ff4/8cFhcrRhzqCDD_l2/_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/labelbox-1db23ff4/8cFhcrRhzqCDD_l2/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get root timeline events - Labelbox\">\u003cmeta data-mint-head property=\"og:description\" content=\"Returns one page of the root timeline\u0026#x27;s events in chronological order, plus next_page_token to continue from. A page can come back shorter than limit because an aggregate serialized-byte budget applies as well as the count, so treat an empty page with no token as the end rather than inferring the end from the length. Large event payloads hydrate by default; pass payloads=refs for bounded stubs instead.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Labelbox\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.labelbox.com/api-reference/sessions/get-root-timeline-events\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://labelbox-1db23ff4.mintlify.app/_mintlify/api/og/v2?division=Sessions\u0026amp;title=Get+root+timeline+events\u0026amp;description=Returns+one+page+of+the+root+timeline%27s+events+in+chronological+order%2C+plus+next_page_token+to+continue+from.+A+page+can+come+back+shorter+than+limit+because+an\u0026amp;theme=f571ec5c82cb5a5bd7bfc07f\u0026amp;signature=c00e5ce92a8002a81a00e4cd2a2ff1d980c58f3f494cd0b5f8d458e804f3d00d\">\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=\"Get root timeline events - Labelbox\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Returns one page of the root timeline\u0026#x27;s events in chronological order, plus next_page_token to continue from. A page can come back shorter than limit because an aggregate serialized-byte budget applies as well as the count, so treat an empty page with no token as the end rather than inferring the end from the length. Large event payloads hydrate by default; pass payloads=refs for bounded stubs instead.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://labelbox-1db23ff4.mintlify.app/_mintlify/api/og/v2?division=Sessions\u0026amp;title=Get+root+timeline+events\u0026amp;description=Returns+one+page+of+the+root+timeline%27s+events+in+chronological+order%2C+plus+next_page_token+to+continue+from.+A+page+can+come+back+shorter+than+limit+because+an\u0026amp;theme=f571ec5c82cb5a5bd7bfc07f\u0026amp;signature=c00e5ce92a8002a81a00e4cd2a2ff1d980c58f3f494cd0b5f8d458e804f3d00d\">\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/labelbox-1db23ff4/8cFhcrRhzqCDD_l2/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Labelbox\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#36707F\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.labelbox.com/api-reference/sessions/get-root-timeline-events\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/sessions/get-root-timeline-events.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.labelbox.com/#organization\",\"name\":\"Labelbox\",\"url\":\"https://docs.labelbox.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/labelbox-1db23ff4/badqlfNjN52ySAbU/logo/light.svg?fit=max\u0026auto=format\u0026n=badqlfNjN52ySAbU\u0026q=85\u0026s=2e7592619836dadfb7384597f9e48bec\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.labelbox.com#website\",\"name\":\"Labelbox\",\"url\":\"https://docs.labelbox.com\",\"publisher\":{\"@id\":\"https://docs.labelbox.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.labelbox.com/api-reference/sessions/get-root-timeline-events#webpage\",\"url\":\"https://docs.labelbox.com/api-reference/sessions/get-root-timeline-events\",\"name\":\"Get root timeline events\",\"description\":\"Returns one page of the root timeline's events in chronological order, plus next_page_token to continue from. A page can come back shorter than limit because an aggregate serialized-byte budget applies as well as the count, so treat an empty page with no token as the end rather than inferring the end from the length. Large event payloads hydrate by default; pass payloads=refs for bounded stubs instead.\",\"dateModified\":\"2026-11-05T13:10:18.998Z\",\"isPartOf\":{\"@id\":\"https://docs.labelbox.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.labelbox.com/api-reference/sessions/get-root-timeline-events#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.labelbox.com/api-reference/sessions/get-root-timeline-events#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.labelbox.com/api-reference/environments/list-environments\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sessions\",\"item\":\"https://docs.labelbox.com/api-reference/sessions/list-sessions\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Get root timeline events\",\"item\":\"https://docs.labelbox.com/api-reference/sessions/get-root-timeline-events\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.labelbox.com/api-reference/sessions/get-root-timeline-events#apireference\",\"headline\":\"Get root timeline events\",\"name\":\"Get root timeline events\",\"description\":\"Returns one page of the root timeline's events in chronological order, plus next_page_token to continue from. A page can come back shorter than limit because an aggregate serialized-byte budget applies as well as the count, so treat an empty page with no token as the end rather than inferring the end from the length. Large event payloads hydrate by default; pass payloads=refs for bounded stubs instead.\",\"url\":\"https://docs.labelbox.com/api-reference/sessions/get-root-timeline-events\",\"mainEntityOfPage\":{\"@id\":\"https://docs.labelbox.com/api-reference/sessions/get-root-timeline-events#webpage\"},\"dateModified\":\"2026-11-05T13:10:18.998Z\",\"publisher\":{\"@id\":\"https://docs.labelbox.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.labelbox.com#website\"}}]}\u003c/script>","siteName":"Labelbox","nav":{"global":null,"products":[{"product":"Recursion","icon":"https://mintlify.s3.us-west-1.amazonaws.com/labelbox-1db23ff4/images/recursion-mark.svg","description":"Managed agents that work in your apps, learn, and run on schedule","tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/recursion"}]},{"tab":"API reference","groups":[{"group":"API reference","pages":[{"title":"API conventions","href":"/recursion/api"},{"title":"Limits","href":"/recursion/limits"},{"title":"Errors","href":"/recursion/errors"},{"title":"Event types and states","sidebarTitle":"Event types and states","href":"/recursion/reference"},{"title":"Glossary","href":"/recursion/glossary"},{"title":"Security","href":"/recursion/security"},{"title":"Troubleshooting","href":"/recursion/troubleshooting"}]},{"group":"Endpoints","pages":[{"group":"Environments","pages":[{"title":"List environments","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/environments","href":"/api-reference/environments/list-environments"},{"title":"Create environment","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/environments","href":"/api-reference/environments/create-environment"},{"title":"Get environment","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/environments/{environmentId}","href":"/api-reference/environments/get-environment"},{"title":"Soft delete environment","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml delete /managed-agents/v1/environments/{environmentId}","href":"/api-reference/environments/soft-delete-environment"},{"title":"Update environment","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml patch /managed-agents/v1/environments/{environmentId}","href":"/api-reference/environments/update-environment"},{"title":"List setup runs","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/environments/{environmentId}/setup-runs","href":"/api-reference/environments/list-setup-runs"},{"title":"Run and verify the environment's setup script","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/environments/{environmentId}/setup-runs","href":"/api-reference/environments/run-and-verify-the-environments-setup-script"},{"title":"Get a setup run, optionally waiting for it to finish","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/environments/{environmentId}/setup-runs/{setupRunId}","href":"/api-reference/environments/get-a-setup-run-optionally-waiting-for-it-to-finish"},{"title":"Read or tail a setup run's log","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/environments/{environmentId}/setup-runs/{setupRunId}/log","href":"/api-reference/environments/read-or-tail-a-setup-runs-log"},{"title":"Cancel a setup run","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/environments/{environmentId}/setup-runs/{setupRunId}/cancel","href":"/api-reference/environments/cancel-a-setup-run"},{"title":"List environments","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/environments","href":"/api-reference/environments/list-environments-1"},{"title":"Create environment","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v2/environments","href":"/api-reference/environments/create-environment-1"},{"title":"Get environment","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/environments/{environmentId}","href":"/api-reference/environments/get-environment-1"},{"title":"Soft delete environment","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml delete /managed-agents/v2/environments/{environmentId}","href":"/api-reference/environments/soft-delete-environment-1"},{"title":"Update environment","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml patch /managed-agents/v2/environments/{environmentId}","href":"/api-reference/environments/update-environment-1"},{"title":"List setup runs","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/environments/{environmentId}/setup-runs","href":"/api-reference/environments/list-setup-runs-1"},{"title":"Run and verify the environment's setup script","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v2/environments/{environmentId}/setup-runs","href":"/api-reference/environments/run-and-verify-the-environments-setup-script-1"},{"title":"Get a setup run, optionally waiting for it to finish","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/environments/{environmentId}/setup-runs/{setupRunId}","href":"/api-reference/environments/get-a-setup-run-optionally-waiting-for-it-to-finish-1"},{"title":"Read or tail a setup run's log","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/environments/{environmentId}/setup-runs/{setupRunId}/log","href":"/api-reference/environments/read-or-tail-a-setup-runs-log-1"},{"title":"Cancel a setup run","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v2/environments/{environmentId}/setup-runs/{setupRunId}/cancel","href":"/api-reference/environments/cancel-a-setup-run-1"},{"title":"List portable environment templates","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/environment-templates","href":"/api-reference/environments/list-portable-environment-templates"},{"title":"List portable environment templates","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/environment-templates","href":"/api-reference/environments/list-portable-environment-templates-1"},{"title":"List supported sandbox providers","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sandbox-providers","href":"/api-reference/environments/list-supported-sandbox-providers"},{"title":"List supported sandbox providers","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/sandbox-providers","href":"/api-reference/environments/list-supported-sandbox-providers-1"}]},{"group":"Agents","pages":[{"title":"List agents","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/agents","href":"/api-reference/agents/list-agents"},{"title":"Create an agent and immutable version","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/agents","href":"/api-reference/agents/create-an-agent-and-immutable-version"},{"title":"Get one agent","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/agents/{agentId}","href":"/api-reference/agents/get-one-agent"},{"title":"Soft delete agent","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml delete /managed-agents/v1/agents/{agentId}","href":"/api-reference/agents/soft-delete-agent"},{"title":"List agents","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/agents","href":"/api-reference/agents/list-agents-1"},{"title":"Create an agent and immutable version","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v2/agents","href":"/api-reference/agents/create-an-agent-and-immutable-version-1"},{"title":"Get one agent","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/agents/{agentId}","href":"/api-reference/agents/get-one-agent-1"},{"title":"Soft delete agent","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml delete /managed-agents/v2/agents/{agentId}","href":"/api-reference/agents/soft-delete-agent-1"},{"title":"Open the analyst for an agent's sessions","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/agents/{agentId}/analyst","href":"/api-reference/agents/open-the-analyst-for-an-agents-sessions"},{"title":"List an agent's immutable version history","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/agents/{agentId}/versions","href":"/api-reference/agents/list-an-agents-immutable-version-history"},{"title":"Create a new immutable agent version","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/agents/{agentId}/versions","href":"/api-reference/agents/create-a-new-immutable-agent-version"},{"title":"Get one immutable agent version","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/agents/{agentId}/versions/{agentVersionId}","href":"/api-reference/agents/get-one-immutable-agent-version"},{"title":"List an agent's immutable version history","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/agents/{agentId}/versions","href":"/api-reference/agents/list-an-agents-immutable-version-history-1"},{"title":"Create a new immutable agent version","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v2/agents/{agentId}/versions","href":"/api-reference/agents/create-a-new-immutable-agent-version-1"},{"title":"Get one immutable agent version","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/agents/{agentId}/versions/{agentVersionId}","href":"/api-reference/agents/get-one-immutable-agent-version-1"},{"title":"List static agent templates","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/agent-templates","href":"/api-reference/agents/list-static-agent-templates"},{"title":"List static agent templates","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/agent-templates","href":"/api-reference/agents/list-static-agent-templates-1"},{"title":"Search an agent's file history","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/agents/{agentId}/files/search","href":"/api-reference/agents/search-an-agents-file-history"},{"title":"Get one file of an agent's file history","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/agents/{agentId}/files/{fileId}","href":"/api-reference/agents/get-one-file-of-an-agents-file-history"},{"title":"Get what an agent's skills cost the prompt","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/agents/{agentId}/skill-disclosure","href":"/api-reference/agents/get-what-an-agents-skills-cost-the-prompt"},{"title":"Preview importing an agent export file","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v2/agents/import-preview","href":"/api-reference/agents/preview-importing-an-agent-export-file"},{"title":"Import an agent export file","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v2/agents/import","href":"/api-reference/agents/import-an-agent-export-file"}]},{"group":"Tags","pages":[{"title":"Replace an agent's complete tag set","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml put /managed-agents/v1/agents/{agentId}/tags","href":"/api-reference/tags/replace-an-agents-complete-tag-set"},{"title":"Apply one tag to an agent","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml put /managed-agents/v1/agents/{agentId}/tags/{tagId}","href":"/api-reference/tags/apply-one-tag-to-an-agent"},{"title":"Remove one tag from an agent","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml delete /managed-agents/v1/agents/{agentId}/tags/{tagId}","href":"/api-reference/tags/remove-one-tag-from-an-agent"},{"title":"List organization tags","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/tags","href":"/api-reference/tags/list-organization-tags"},{"title":"Create an organization tag","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/tags","href":"/api-reference/tags/create-an-organization-tag"},{"title":"Get one organization tag","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/tags/{tagId}","href":"/api-reference/tags/get-one-organization-tag"},{"title":"Soft delete a tag","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml delete /managed-agents/v1/tags/{tagId}","href":"/api-reference/tags/soft-delete-a-tag"},{"title":"Update a tag definition","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml patch /managed-agents/v1/tags/{tagId}","href":"/api-reference/tags/update-a-tag-definition"}]},{"group":"Skills","pages":[{"title":"List skills","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/skills","href":"/api-reference/skills/list-skills"},{"title":"Create a skill from a document","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/skills","href":"/api-reference/skills/create-a-skill-from-a-document"},{"title":"Publish a skill from a bundle upload","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/skills/upload","href":"/api-reference/skills/publish-a-skill-from-a-bundle-upload"},{"title":"Preview what a skill set costs the prompt","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/skills/disclosure-preview","href":"/api-reference/skills/preview-what-a-skill-set-costs-the-prompt"},{"title":"Get one skill","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/skills/{skillId}","href":"/api-reference/skills/get-one-skill"},{"title":"Soft delete skill","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml delete /managed-agents/v1/skills/{skillId}","href":"/api-reference/skills/soft-delete-skill"},{"title":"Refile a skill into a catalog group","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml patch /managed-agents/v1/skills/{skillId}","href":"/api-reference/skills/refile-a-skill-into-a-catalog-group"},{"title":"List a skill's immutable version history","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/skills/{skillId}/versions","href":"/api-reference/skills/list-a-skills-immutable-version-history"},{"title":"Publish a skill version from a document","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/skills/{skillId}/versions","href":"/api-reference/skills/publish-a-skill-version-from-a-document"},{"title":"Publish a skill version from a bundle upload","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/skills/{skillId}/versions/upload","href":"/api-reference/skills/publish-a-skill-version-from-a-bundle-upload"},{"title":"Get one immutable skill version","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/skills/{skillId}/versions/{skillVersionId}","href":"/api-reference/skills/get-one-immutable-skill-version"},{"title":"Download a skill version's bundle","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/skills/{skillId}/versions/{skillVersionId}/content","href":"/api-reference/skills/download-a-skill-versions-bundle"},{"title":"List skill groups","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/skill-groups","href":"/api-reference/skills/list-skill-groups"},{"title":"Create a skill group","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/skill-groups","href":"/api-reference/skills/create-a-skill-group"},{"title":"Get one skill group","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/skill-groups/{skillGroupId}","href":"/api-reference/skills/get-one-skill-group"},{"title":"Delete a skill group","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml delete /managed-agents/v1/skill-groups/{skillGroupId}","href":"/api-reference/skills/delete-a-skill-group"},{"title":"Update a skill group","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml patch /managed-agents/v1/skill-groups/{skillGroupId}","href":"/api-reference/skills/update-a-skill-group"},{"title":"List the skills in a group","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/skill-groups/{skillGroupId}/skills","href":"/api-reference/skills/list-the-skills-in-a-group"}]},{"group":"Sessions","pages":[{"title":"List sessions","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions","href":"/api-reference/sessions/list-sessions"},{"title":"Start a managed session","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/sessions","href":"/api-reference/sessions/start-a-managed-session"},{"title":"Snapshot every root session created in a window","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/gestalt","href":"/api-reference/sessions/snapshot-every-root-session-created-in-a-window"},{"title":"Stream changes to the sessions gestalt as Server-Sent Events","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/gestalt/stream","href":"/api-reference/sessions/stream-changes-to-the-sessions-gestalt-as-server-sent-events"},{"title":"Roll up token and cost totals for a batch of sessions","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/usage","href":"/api-reference/sessions/roll-up-token-and-cost-totals-for-a-batch-of-sessions"},{"title":"List the caller-defined metadata keys sessions carry","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/metadata-keys","href":"/api-reference/sessions/list-the-caller-defined-metadata-keys-sessions-carry"},{"title":"List the values one caller-defined metadata key takes","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/metadata-values","href":"/api-reference/sessions/list-the-values-one-caller-defined-metadata-key-takes"},{"title":"Get session","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/{sessionId}","href":"/api-reference/sessions/get-session"},{"title":"Soft delete a session subtree (events retained)","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml delete /managed-agents/v1/sessions/{sessionId}","href":"/api-reference/sessions/soft-delete-a-session-subtree-events-retained"},{"title":"Open the session analyst for a session","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/sessions/{sessionId}/analyst","href":"/api-reference/sessions/open-the-session-analyst-for-a-session"},{"title":"Open the organization assistant","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/assistant","href":"/api-reference/sessions/open-the-organization-assistant"},{"title":"Decide on an assistant interaction","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/sessions/{sessionId}/interactions/{interactionId}/decide","href":"/api-reference/sessions/decide-on-an-assistant-interaction"},{"title":"Get the team board","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/{sessionId}/board","href":"/api-reference/sessions/get-the-team-board"},{"title":"Read sandbox CPU, memory, and GPU usage for a session tree","description":"Returns the tree's sandbox attachments and one page of per-minute resource usage buckets for them, ordered by attachment then time. Each bucket carries the minute's average and peak; resolution=raw adds the individual samples as parallel arrays indexed by offsets_ms. A tree whose compute was released and revived has several attachments; follow revived_from_sandbox_id to connect them. live reports whether a sandbox is still attached, which is the cue to keep polling. An empty sandboxes list means the tree never ran in a sandbox or sampling is disabled; an attachment with sampling_source=unsupported means the sandbox could not measure itself.","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/{sessionId}/resource-samples","href":"/api-reference/sessions/read-sandbox-cpu-memory-and-gpu-usage-for-a-session-tree"},{"title":"Get root timeline events","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/{sessionId}/events","href":"/api-reference/sessions/get-root-timeline-events"},{"title":"Append user/system events to a session","description":"Accepts ordered user and system messages and returns how many were accepted. A running session is woken so the agent sees them, and a finished session resumes to act on them; delivery_state reports how they were delivered. Events are appended in the order given. An omitted or empty events array yields exactly one user turn built from message; the request fails with 400 only when every entry sent was dropped, leaving nothing to append. A top-level image or document block may name a file with source {type: file, file_id}: an unknown, expired, or foreign file answers 404 on that block's source.file_id, a file the block cannot carry (a file whose bytes are not an image on an image block, a binary on a document block, a document over 512 KiB, more than 1 MiB of documents in one event, more than 100 such blocks, or more than 32 MiB of catalog bytes in one request) answers 400 there, and nothing is appended to the transcript; copies of files resolved before the refusal are kept with the session and removed once nothing references them. Without file storage such a block answers 503 file_storage_unconfigured. An optional Idempotency-Key makes a retry after an ambiguous transport failure replay the first response instead of appending the events again. When the tenant is out of credit, a message returns 403 session_start_not_admitted with details.reason out_of_credit and nothing is appended; add credits and send it again. A suspended tenant gets the same 403 with details.reason tenant_suspended.","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/sessions/{sessionId}/events","href":"/api-reference/sessions/append-usersystem-events-to-a-session"},{"title":"Get root session tree and timeline","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/{sessionId}/tree","href":"/api-reference/sessions/get-root-session-tree-and-timeline"},{"title":"List session threads","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/{sessionId}/threads","href":"/api-reference/sessions/list-session-threads"},{"title":"Get session thread","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/{sessionId}/threads/{threadId}","href":"/api-reference/sessions/get-session-thread"},{"title":"Stream session events as Server-Sent Events","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/{sessionId}/events/stream","href":"/api-reference/sessions/stream-session-events-as-server-sent-events"},{"title":"Stream one authenticated complete event content document","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/{sessionId}/events/{eventId}/content","href":"/api-reference/sessions/stream-one-authenticated-complete-event-content-document"},{"title":"Get one private session image","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/{sessionId}/images","href":"/api-reference/sessions/get-one-private-session-image"},{"title":"Hard stop a session immediately","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/sessions/{sessionId}/cancel","href":"/api-reference/sessions/hard-stop-a-session-immediately"},{"title":"Interrupt a running session","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/sessions/{sessionId}/interrupt","href":"/api-reference/sessions/interrupt-a-running-session"},{"title":"Interrupt a session and send a replacement instruction","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/sessions/{sessionId}/interrupt-and-send","href":"/api-reference/sessions/interrupt-a-session-and-send-a-replacement-instruction"},{"title":"List input a session has accepted but not read","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/{sessionId}/pending-inputs","href":"/api-reference/sessions/list-input-a-session-has-accepted-but-not-read"},{"title":"List a session's outcomes and grading history","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/{sessionId}/outcomes","href":"/api-reference/sessions/list-a-sessions-outcomes-and-grading-history"},{"title":"Define what done looks like for a session","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/sessions/{sessionId}/outcomes","href":"/api-reference/sessions/define-what-done-looks-like-for-a-session"},{"title":"Get the agent version a session runs","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/{sessionId}/agent-version","href":"/api-reference/sessions/get-the-agent-version-a-session-runs"},{"title":"Move a session to another version of its agent","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml put /managed-agents/v1/sessions/{sessionId}/agent-version","href":"/api-reference/sessions/move-a-session-to-another-version-of-its-agent"},{"title":"Move an agent's live sessions to its latest version","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/agents/{agentId}/upgrade-sessions","href":"/api-reference/sessions/move-an-agents-live-sessions-to-its-latest-version"},{"title":"Get an agent's session upgrade","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/agents/{agentId}/session-upgrade","href":"/api-reference/sessions/get-an-agents-session-upgrade"},{"title":"Stop an agent's running session upgrade","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/agents/{agentId}/session-upgrade/cancel","href":"/api-reference/sessions/stop-an-agents-running-session-upgrade"},{"title":"Set a session's budget","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml put /managed-agents/v1/sessions/{sessionId}/budget","href":"/api-reference/sessions/set-a-sessions-budget"},{"title":"Remove a session's budget","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml delete /managed-agents/v1/sessions/{sessionId}/budget","href":"/api-reference/sessions/remove-a-sessions-budget"}]},{"group":"Memory","pages":[{"title":"List memory status for every agent","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/agent-memories","href":"/api-reference/memory/list-memory-status-for-every-agent"},{"title":"Get an agent's memory summary","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/agent-memories/{agentId}","href":"/api-reference/memory/get-an-agents-memory-summary"},{"title":"Search an agent's current memories","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/agents/{agentId}/memories","href":"/api-reference/memory/search-an-agents-current-memories"},{"title":"Search an agent's current memories","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/agents/{agentId}/memories","href":"/api-reference/memory/search-an-agents-current-memories-1"},{"title":"Get an agent's memory settings","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/agents/{agentId}/memory/settings","href":"/api-reference/memory/get-an-agents-memory-settings"},{"title":"Update an agent's memory settings","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml patch /managed-agents/v1/agents/{agentId}/memory/settings","href":"/api-reference/memory/update-an-agents-memory-settings"},{"title":"List an agent's memory runs","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/agents/{agentId}/memory/runs","href":"/api-reference/memory/list-an-agents-memory-runs"},{"title":"Get one memory job run","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/agents/{agentId}/memory/runs/{runId}","href":"/api-reference/memory/get-one-memory-job-run"},{"title":"Read one memory","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/memory-stores/{memoryStoreId}/memories/{memoryId}","href":"/api-reference/memory/read-one-memory"},{"title":"Delete a memory","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml delete /managed-agents/v1/memory-stores/{memoryStoreId}/memories/{memoryId}","href":"/api-reference/memory/delete-a-memory"},{"title":"List memory versions","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/memory-stores/{memoryStoreId}/memory-versions","href":"/api-reference/memory/list-memory-versions"},{"title":"Get one memory version","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/memory-stores/{memoryStoreId}/memory-versions/{memoryVersionId}","href":"/api-reference/memory/get-one-memory-version"},{"title":"List memory store revisions","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/memory-stores/{memoryStoreId}/revisions","href":"/api-reference/memory/list-memory-store-revisions"}]},{"group":"Vaults","pages":[{"title":"List credential vaults","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/vaults","href":"/api-reference/vaults/list-credential-vaults"},{"title":"Create a credential vault","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/vaults","href":"/api-reference/vaults/create-a-credential-vault"},{"title":"List credential vaults","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/vaults","href":"/api-reference/vaults/list-credential-vaults-1"},{"title":"Get a credential vault","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/vaults/{vaultId}","href":"/api-reference/vaults/get-a-credential-vault"},{"title":"Soft delete a vault and hide its credentials","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml delete /managed-agents/v1/vaults/{vaultId}","href":"/api-reference/vaults/soft-delete-a-vault-and-hide-its-credentials"},{"title":"Rename a vault or replace its metadata","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml patch /managed-agents/v1/vaults/{vaultId}","href":"/api-reference/vaults/rename-a-vault-or-replace-its-metadata"},{"title":"Get a credential vault","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/vaults/{vaultId}","href":"/api-reference/vaults/get-a-credential-vault-1"},{"title":"List a vault's credential references","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/vaults/{vaultId}/credentials","href":"/api-reference/vaults/list-a-vaults-credential-references"},{"title":"Register a credential reference in a vault","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/vaults/{vaultId}/credentials","href":"/api-reference/vaults/register-a-credential-reference-in-a-vault"},{"title":"List a vault's credential references","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/vaults/{vaultId}/credentials","href":"/api-reference/vaults/list-a-vaults-credential-references-1"},{"title":"Get one credential reference","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/vaults/{vaultId}/credentials/{credentialId}","href":"/api-reference/vaults/get-one-credential-reference"},{"title":"Soft delete a credential reference","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml delete /managed-agents/v1/vaults/{vaultId}/credentials/{credentialId}","href":"/api-reference/vaults/soft-delete-a-credential-reference"},{"title":"Rename a credential or rotate its reference","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml patch /managed-agents/v1/vaults/{vaultId}/credentials/{credentialId}","href":"/api-reference/vaults/rename-a-credential-or-rotate-its-reference"},{"title":"Get one credential reference","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/vaults/{vaultId}/credentials/{credentialId}","href":"/api-reference/vaults/get-one-credential-reference-1"},{"title":"Test an MCP server connection and list its tools","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/mcp/probe","href":"/api-reference/vaults/test-an-mcp-server-connection-and-list-its-tools"}]},{"group":"Event Sources","pages":[{"title":"Check IMAP OAuth website sign-in availability","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/imap-oauth/availability","href":"/api-reference/event-sources/check-imap-oauth-website-sign-in-availability"},{"title":"Start website sign-in for an IMAP OAuth credential","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/vaults/{vaultId}/credentials/{credentialId}/imap-oauth/start","href":"/api-reference/event-sources/start-website-sign-in-for-an-imap-oauth-credential"},{"title":"Complete website sign-in for an IMAP OAuth credential","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/imap-oauth/complete","href":"/api-reference/event-sources/complete-website-sign-in-for-an-imap-oauth-credential"},{"title":"List event sources","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/event-sources","href":"/api-reference/event-sources/list-event-sources"},{"title":"Create a paused event source","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/event-sources","href":"/api-reference/event-sources/create-a-paused-event-source"},{"title":"Get an event source","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/event-sources/{eventSourceId}","href":"/api-reference/event-sources/get-an-event-source"},{"title":"Replace an event source configuration","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml put /managed-agents/v1/event-sources/{eventSourceId}","href":"/api-reference/event-sources/replace-an-event-source-configuration"},{"title":"Delete an unused event source","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml delete /managed-agents/v1/event-sources/{eventSourceId}","href":"/api-reference/event-sources/delete-an-unused-event-source"},{"title":"Get volatile event-source status","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/event-sources/{eventSourceId}/status","href":"/api-reference/event-sources/get-volatile-event-source-status"},{"title":"Pause event admission from a source","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/event-sources/{eventSourceId}/pause","href":"/api-reference/event-sources/pause-event-admission-from-a-source"},{"title":"Resume event admission from a source","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/event-sources/{eventSourceId}/resume","href":"/api-reference/event-sources/resume-event-admission-from-a-source"}]},{"group":"Integrations","pages":[{"title":"List the native integrations this deployment supports","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/integrations/providers","href":"/api-reference/integrations/list-the-native-integrations-this-deployment-supports"},{"title":"Begin authorizing a third-party account connection","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/integrations/{provider}/install","href":"/api-reference/integrations/begin-authorizing-a-third-party-account-connection"},{"title":"Finish connecting provider accounts after the authorization redirect","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/integrations/install/complete","href":"/api-reference/integrations/finish-connecting-provider-accounts-after-the-authorization-redirect"},{"title":"List connected third-party accounts","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/integrations/connections","href":"/api-reference/integrations/list-connected-third-party-accounts"},{"title":"Get one connected account","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/integrations/connections/{connectionId}","href":"/api-reference/integrations/get-one-connected-account"},{"title":"Disconnect an account and retire the grants that used it","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml delete /managed-agents/v1/integrations/connections/{connectionId}","href":"/api-reference/integrations/disconnect-an-account-and-retire-the-grants-that-used-it"},{"title":"Check a connection against the provider and try minting a token","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/integrations/connections/{connectionId}/probe","href":"/api-reference/integrations/check-a-connection-against-the-provider-and-try-minting-a-token"},{"title":"List the repositories a connection can reach, for the grant picker","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/integrations/connections/{connectionId}/repositories","href":"/api-reference/integrations/list-the-repositories-a-connection-can-reach-for-the-grant-picker"},{"title":"List pull requests for a connected repository","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/integrations/connections/{connectionId}/repositories/{repositoryOwner}/{repositoryName}/pull-requests","href":"/api-reference/integrations/list-pull-requests-for-a-connected-repository"},{"title":"Get the connected Slack bot's bounded channel-selection catalog","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/integrations/connections/{connectionId}/channel-catalog","href":"/api-reference/integrations/get-the-connected-slack-bots-bounded-channel-selection-catalog"},{"title":"Get the connected Slack workspace's bounded member catalog","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/integrations/connections/{connectionId}/member-catalog","href":"/api-reference/integrations/get-the-connected-slack-workspaces-bounded-member-catalog"}]},{"group":"Models","pages":[{"title":"List the models agents can run on","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/models","href":"/api-reference/models/list-the-models-agents-can-run-on"}]},{"group":"Automations","pages":[{"title":"List canonical automations","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/automations","href":"/api-reference/automations/list-canonical-automations"},{"title":"Create a paused canonical automation","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/automations","href":"/api-reference/automations/create-a-paused-canonical-automation"},{"title":"Get a canonical automation","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/automations/{automationId}","href":"/api-reference/automations/get-a-canonical-automation"},{"title":"Replace a canonical automation aggregate","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml put /managed-agents/v1/automations/{automationId}","href":"/api-reference/automations/replace-a-canonical-automation-aggregate"},{"title":"Delete a canonical automation","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml delete /managed-agents/v1/automations/{automationId}","href":"/api-reference/automations/delete-a-canonical-automation"},{"title":"Get automation schedule status","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/automations/{automationId}/status","href":"/api-reference/automations/get-automation-schedule-status"},{"title":"Run a canonical automation manually","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/automations/{automationId}/runs","href":"/api-reference/automations/run-a-canonical-automation-manually"},{"title":"Pause canonical automation admission","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/automations/{automationId}/pause","href":"/api-reference/automations/pause-canonical-automation-admission"},{"title":"Resume canonical automation admission","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/automations/{automationId}/resume","href":"/api-reference/automations/resume-canonical-automation-admission"},{"title":"List canonical automation runs","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/automation-runs","href":"/api-reference/automations/list-canonical-automation-runs"},{"title":"Get one canonical automation run","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/automation-runs/{automationRunId}","href":"/api-reference/automations/get-one-canonical-automation-run"},{"title":"Test an AI filter on a sample message","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/automation-classifier-tests","href":"/api-reference/automations/test-an-ai-filter-on-a-sample-message"},{"title":"Get an automation run's result","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/automation-runs/{automationRunId}/result","href":"/api-reference/automations/get-an-automation-runs-result"}]},{"group":"Files","pages":[{"title":"List files","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/files","href":"/api-reference/files/list-files"},{"title":"Upload a file","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/files","href":"/api-reference/files/upload-a-file"},{"title":"Get one file","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/files/{fileId}","href":"/api-reference/files/get-one-file"},{"title":"Download a file's bytes","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/files/{fileId}/content","href":"/api-reference/files/download-a-files-bytes"}]}]}]}]},{"product":"Horizon","icon":"https://mintlify.s3.us-west-1.amazonaws.com/labelbox-1db23ff4/images/labelbox-mark.svg","description":"RL environments, evals, labeling, and the Python SDK","pages":[{"title":"Horizon","href":"/horizon"}]}]},"basePath":"","title":"Get root timeline events - Labelbox","buildId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","deploymentId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DX1Meug0.js","utils-B_OMIQVC.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-ChxhRPMa.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CuKvD8Iv.js","snippetPresets-C5d7p2hp.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CfHcE8m4.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C1zZV314.js","shallow-CmQhqCJn.js","getApiPlaygroundDisplay-YRo9s1O7.js","CodeSnippet-RN1MTdfk.js","CodeSnippets-DKLPHxJA.js","Page-BAvA99GL.js","getPastedJson-bz0M41mU.js","icon-CsmhpPrv.js","MethodPill-CNGsVE77.js","DuplicateIcon-DilfU_Z2.js","createIcon-BdsYzQck.js","DynamicMarkdown-CbqEDjbV.js","SectionHeading-O6hXpFCN.js","axios-vUo_bRtp.js","Markdown-nKm-uidQ.js","clsx-ClVdStUn.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CIQkMg3R.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-ImrFS4Fy.js"]}