Returns every session in the root session’s tree, its threads, and the first bounded page of the merged chronological event log. When nextEventId is set, more events remain and should be fetched with managedAgentsListSessionEvents rather than by re-reading the tree. Any session id in the tree is accepted; the read resolves to its root.
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.
One page of the tree's events merged into a single chronological log across all sessions. Bounded by response size, so the page length is not a fixed count.
Thread registry rows for the tree's context-isolated execution streams. Imported RL children appear when their import supplied thread names; older imports without names use session-derived fallback rows.
Cursor to pass as the starting point of the next event page. Present only when more events remain; absent on the last page.
{"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},"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":"6af3970a56004079c2c7dde2","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"default","tag":"Recursion","count":255},{"language":"default","tag":"API reference","count":223},{"language":"default","tag":"Endpoints","count":209},{"language":"default","tag":"Horizon","count":179},{"language":"default","tag":"Guides","count":132},{"language":"default","tag":"Developer guides","count":83},{"language":"default","tag":"Sessions","count":47},{"language":"default","tag":"Import/Export","count":43},{"language":"default","tag":"Skills","count":36},{"language":"default","tag":"Label data","count":35}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":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-session-tree-and-timeline-1","slug":"/api-reference/sessions/get-root-session-tree-and-timeline-1","pageMetadata":{"title":"Get root session tree and timeline","description":"Returns every session in the root session's tree, its threads, and the first bounded page of the merged chronological event log. When nextEventId is set, more events remain and should be fetched with managedAgentsListSessionEvents rather than by re-reading the tree. Any session id in the tree is accepted; the read resolves to its root.","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/sessions/{sessionId}/tree","href":"/api-reference/sessions/get-root-session-tree-and-timeline-1","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 every session in the root session’s tree, its threads, and the first bounded page of the merged chronological event log. When nextEventId is set, more events remain and should be fetched with managedAgentsListSessionEvents rather than by re-reading the tree. Any session id in the tree is accepted; the read resolves to its root.\"\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 session tree and timeline","description":"Returns every session in the root session's tree, its threads, and the first bounded page of the merged chronological event log. When nextEventId is set, more events remain and should be fetched with managedAgentsListSessionEvents rather than by re-reading the tree. Any session id in the tree is accepted; the read resolves to its root.","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/sessions/{sessionId}/tree","href":"/api-reference/sessions/get-root-session-tree-and-timeline-1","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/labelbox-1db23ff4/9ed4bd14b1b0eec8/navbar.js"],"openApiReferenceData":{"operation":{"tags":["Sessions"],"summary":"Get root session tree and timeline","description":"Returns every session in the root session's tree, its threads, and the first bounded page of the merged chronological event log. When nextEventId is set, more events remain and should be fetched with managedAgentsListSessionEvents rather than by re-reading the tree. Any session id in the tree is accepted; the read resolves to its root.","operationId":"managedAgentsGetSessionTreeV2","parameters":["66451ce6-69a3-4d1f-abee-25bb874b2e59","33e1ce95-849b-4c07-99e6-654a5bcc6218","e0aa4653-b83f-4c78-9d55-d34dafc8c339","f7e91e72-15b8-429c-a263-bbdb92879bfa","a77131b7-5bba-4c9d-94f9-02079450db3b","e29c9de1-c9bb-4552-ba8d-44654d8b4e7e"],"responses":{"200":"b78a8b1b-41e5-4e18-8fed-c55920d1c37d","400":"27d9fead-d09b-4bb7-b7bf-3f8858a0657e","401":"d7e52113-bea2-41a4-9d58-a8995516ae2b","403":"77fe5bf9-b5ec-4cb4-9b4d-f33c3f7328c9","404":"71c4fe6c-4324-4fce-bac5-73cc80c14983","413":"96329d49-2b73-4f3c-b19b-9f3c4b3d9556","429":"823441ee-1c5d-4a65-801b-3042534c59b0","500":"64b9ab4b-2be8-4fe2-96a9-732a699b68fb","502":"96e914ed-b7d7-4af6-b45e-801f14ef7697","503":"11e529ea-a787-4f52-9c84-0a13c3a9e95d","504":"d829879b-422b-4ede-8d47-69ea450c7155"},"method":"get","type":"path","servers":["e4ce98e2-9509-44a7-b4db-5452701b54d6"],"security":["9e9591db-faef-4169-ab9a-da9008222f65"],"path":"/managed-agents/v2/sessions/{sessionId}/tree","baseUrlOptions":["https://api.recursion.labelbox.com"],"title":"Get root session tree and timeline","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"66451ce6-69a3-4d1f-abee-25bb874b2e59":{"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","x-recursion-omission":{"strategy":"absent"},"uniqueKey":"","typeLabel":"enum\u003cstring>"}},"33e1ce95-849b-4c07-99e6-654a5bcc6218":{"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":"imageUrls","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","x-recursion-omission":{"strategy":"absent"},"uniqueKey":"","typeLabel":"enum\u003cstring>"}},"e0aa4653-b83f-4c78-9d55-d34dafc8c339":{"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","x-recursion-omission":{"strategy":"absent"},"uniqueKey":"","typeLabel":"enum\u003cstring>"}},"f7e91e72-15b8-429c-a263-bbdb92879bfa":{"description":"Any session id (UUID) in the tree; the read resolves to its root session.","in":"path","name":"sessionId","required":true,"schema":{"description":"Any session id (UUID) in the tree; the read resolves to its root session.","format":"uuid","type":"string","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"}},"a77131b7-5bba-4c9d-94f9-02079450db3b":{"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":{"minLength":1,"type":"string","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"}},"e29c9de1-c9bb-4552-ba8d-44654d8b4e7e":{"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":{"minLength":1,"type":"string","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":{"b78a8b1b-41e5-4e18-8fed-c55920d1c37d":{"content":{"application/json":{"schema":{"properties":{"events":{"description":"One page of the tree's events merged into a single chronological log across all sessions. Bounded by response size, so the page length is not a fixed count.","items":{"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.items.[INDEX].actor","typeLabel":"string"},"content":{"properties":{"blocks":{"description":"Ordered content blocks of this message, in the provider's content-block form. Empty for events that carry no message body.","items":{"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.items.[INDEX].content.blocks.items.[INDEX].type","typeLabel":"string"},"byteSize":{"description":"Decoded image byte size.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].byteSize","typeLabel":"integer\u003cint64>"},"content":{"description":"Nested blocks carrying a tool_result payload, so a tool can return both text and images.","items":{"$circularRef":"c52a5675-77d6-4844-940d-9268fcc70585"},"type":"array","uniqueKey":"events.items.[INDEX].content.blocks.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.items.[INDEX].content.blocks.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.items.[INDEX].content.blocks.items.[INDEX].data","typeLabel":"string"},"encryptedContent":{"description":"Sealed reasoning payload for providers that return reasoning encrypted. Opaque to clients; replay it verbatim.","type":"string","uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].encryptedContent","typeLabel":"string"},"height":{"description":"Validated image height in pixels.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"events.items.[INDEX].content.blocks.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.items.[INDEX].content.blocks.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.items.[INDEX].content.blocks.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.items.[INDEX].content.blocks.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.items.[INDEX].content.blocks.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.items.[INDEX].content.blocks.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.items.[INDEX].content.blocks.items.[INDEX].input.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"events.items.[INDEX].content.blocks.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.items.[INDEX].content.blocks.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.items.[INDEX].content.blocks.items.[INDEX].input.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"events.items.[INDEX].content.blocks.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.items.[INDEX].content.blocks.items.[INDEX].input","typeLabel":"object"},"isError":{"description":"True when a tool_result reports that the tool call failed; the nested content then carries the error detail.","type":"boolean","uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].isError","typeLabel":"boolean"},"mediaType":{"description":"Declared media type; inline computer-use images allow image/jpeg, image/png, and image/webp.","type":"string","uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].mediaType","typeLabel":"string"},"name":{"description":"Name of the tool the model is invoking, on a tool_use block.","type":"string","uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].name","typeLabel":"string"},"omittedBytes":{"description":"Original byte count reported by a redacted image placeholder.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].omittedBytes","typeLabel":"integer\u003cint64>"},"payload":{"oneOf":[{"type":"null","description":"Provider-native block body, stored verbatim for block types this schema does not model. Passed through unchanged.","uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].payload.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"Provider-native block body, stored verbatim for block types this schema does not model. Passed through unchanged.","uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].payload.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"Provider-native block body, stored verbatim for block types this schema does not model. Passed through unchanged.","uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].payload.oneOf.2","typeLabel":"string"},{"type":"integer","description":"Provider-native block body, stored verbatim for block types this schema does not model. Passed through unchanged.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].payload.oneOf.3","typeLabel":"integer"},{"type":"number","description":"Provider-native block body, stored verbatim for block types this schema does not model. Passed through unchanged.","uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].payload.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].payload.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"Provider-native block body, stored verbatim for block types this schema does not model. Passed through unchanged.","uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].payload.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"Provider-native block body, stored verbatim for block types this schema does not model. Passed through unchanged.","uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].payload.oneOf.6","typeLabel":"object"}],"uniqueKey":"events.items.[INDEX].content.blocks.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.items.[INDEX].content.blocks.items.[INDEX].provider","typeLabel":"string"},"providerPayload":{"oneOf":[{"type":"null","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay.","uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].providerPayload.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay.","uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].providerPayload.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay.","uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].providerPayload.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.items.[INDEX].content.blocks.items.[INDEX].providerPayload.oneOf.3","typeLabel":"integer"},{"type":"number","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay.","uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].providerPayload.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].providerPayload.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay.","uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].providerPayload.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"Original provider block exactly as received, kept alongside the normalized fields for lossless replay.","uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].providerPayload.oneOf.6","typeLabel":"object"}],"uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].providerPayload","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.items.[INDEX].content.blocks.items.[INDEX].redacted","typeLabel":"boolean"},"semanticHint":{"description":"Coarse hint about what an unmodeled provider block represents, so a reader can render it without provider-specific logic.","type":"string","uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].semanticHint","typeLabel":"string"},"sha256":{"description":"Lowercase SHA-256 digest of decoded image bytes.","type":"string","uniqueKey":"events.items.[INDEX].content.blocks.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.items.[INDEX].content.blocks.items.[INDEX].signature","typeLabel":"string"},"source":{"properties":{"fileId":{"description":"The file whose bytes the block carries, from the caller's organization, unexpired.","type":"string","isRequired":true,"uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].source.fileId","typeLabel":"string"},"type":{"description":"Always file.","enum":["file"],"type":"string","isRequired":true,"uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].source.type","typeLabel":"enum\u003cstring>"}},"required":["type","fileId"],"type":"object","additionalProperties":false,"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.","uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].source","typeLabel":"object"},"summary":{"description":"Readable summary blocks a provider returns alongside sealed or long-form reasoning.","items":{"$circularRef":"c52a5675-77d6-4844-940d-9268fcc70585"},"type":"array","uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].summary","typeLabel":"array"},"text":{"description":"Text of a text block, or the reasoning text of a thinking block.","type":"string","uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].text","typeLabel":"string"},"title":{"description":"A document block's title, disclosed to the model beside the document.","type":"string","uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].title","typeLabel":"string"},"toolUseId":{"description":"Id of the tool_use block that this tool_result answers.","type":"string","uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].toolUseId","typeLabel":"string"},"uri":{"description":"Private typed content reference. Fetch it through managedAgentsGetSessionImage; clients cannot read this URI directly.","type":"string","uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].uri","typeLabel":"string"},"url":{"description":"Short-lived HTTPS URL for the image bytes. Present only when the read asked for imageUrls=signed and the deployment has signing configured. Never stored; fetch a fresh read after urlExpiresAt.","type":"string","uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].url","typeLabel":"string"},"urlExpiresAt":{"description":"When url stops working. Absent whenever url is.","format":"date-time","type":"string","uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].urlExpiresAt","typeLabel":"string\u003cdate-time>"},"width":{"description":"Validated image width in pixels.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX].width","typeLabel":"integer"}},"required":["type"],"type":"object","additionalProperties":false,"uniqueKey":"events.items.[INDEX].content.blocks.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"events.items.[INDEX].content.blocks","typeLabel":"object[]"},"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.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.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.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.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.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.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.items.[INDEX].content.assistantInteraction.status","typeLabel":"enum\u003cstring>"},"title":{"description":"Short heading for the interaction.","type":"string","isRequired":true,"uniqueKey":"events.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.items.[INDEX].content.assistantInteraction.blueprint.agents.items.[INDEX].role","typeLabel":"string"},"model":{"description":"The model it runs on, when chosen.","type":"string","uniqueKey":"events.items.[INDEX].content.assistantInteraction.blueprint.agents.items.[INDEX].model","typeLabel":"string"},"responsibilities":{"description":"What it does.","type":"string","uniqueKey":"events.items.[INDEX].content.assistantInteraction.blueprint.agents.items.[INDEX].responsibilities","typeLabel":"string"}},"required":["role"],"type":"object","additionalProperties":false,"uniqueKey":"events.items.[INDEX].content.assistantInteraction.blueprint.agents.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"events.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.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.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.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.items.[INDEX].content.assistantInteraction.blueprint.capabilities.items.[INDEX].status","typeLabel":"string"},"purpose":{"description":"Why the design uses it.","type":"string","uniqueKey":"events.items.[INDEX].content.assistantInteraction.blueprint.capabilities.items.[INDEX].purpose","typeLabel":"string"}},"required":["capabilityId","name","kind","status"],"type":"object","additionalProperties":false,"uniqueKey":"events.items.[INDEX].content.assistantInteraction.blueprint.capabilities.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"events.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.items.[INDEX].content.assistantInteraction.blueprint.trigger.kind","typeLabel":"enum\u003cstring>"},"detail":{"description":"The schedule or the event, in words.","type":"string","uniqueKey":"events.items.[INDEX].content.assistantInteraction.blueprint.trigger.detail","typeLabel":"string"}},"required":["kind"],"type":"object","additionalProperties":false,"isRequired":true,"uniqueKey":"events.items.[INDEX].content.assistantInteraction.blueprint.trigger","typeLabel":"object"},"checkpoints":{"description":"Where a person reviews or decides.","items":{"type":"string","uniqueKey":"events.items.[INDEX].content.assistantInteraction.blueprint.checkpoints.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"events.items.[INDEX].content.assistantInteraction.blueprint.checkpoints","typeLabel":"string[]"},"costClass":{"description":"Rough running cost.","enum":["low","medium","high"],"type":"string","uniqueKey":"events.items.[INDEX].content.assistantInteraction.blueprint.costClass","typeLabel":"enum\u003cstring>"},"environment":{"description":"The environment the agents run in, in words.","type":"string","uniqueKey":"events.items.[INDEX].content.assistantInteraction.blueprint.environment","typeLabel":"string"},"evaluation":{"description":"How success is judged.","type":"string","uniqueKey":"events.items.[INDEX].content.assistantInteraction.blueprint.evaluation","typeLabel":"string"},"gaps":{"description":"What the platform cannot do directly, said plainly.","items":{"type":"string","uniqueKey":"events.items.[INDEX].content.assistantInteraction.blueprint.gaps.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"events.items.[INDEX].content.assistantInteraction.blueprint.gaps","typeLabel":"string[]"},"outputs":{"description":"What the work produces.","items":{"type":"string","uniqueKey":"events.items.[INDEX].content.assistantInteraction.blueprint.outputs.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"events.items.[INDEX].content.assistantInteraction.blueprint.outputs","typeLabel":"string[]"}},"required":["trigger","agents","capabilities"],"type":"object","additionalProperties":false,"uniqueKey":"events.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.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.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.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.items.[INDEX].content.assistantInteraction.decision.answers.items.[INDEX].optionIds.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"events.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.items.[INDEX].content.assistantInteraction.decision.answers.items.[INDEX].text","typeLabel":"string"}},"required":["questionId"],"type":"object","additionalProperties":false,"uniqueKey":"events.items.[INDEX].content.assistantInteraction.decision.answers.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"events.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.items.[INDEX].content.assistantInteraction.decision.comments.items.[INDEX].text","typeLabel":"string"},"field":{"description":"The field commented on.","type":"string","uniqueKey":"events.items.[INDEX].content.assistantInteraction.decision.comments.items.[INDEX].field","typeLabel":"string"},"stepId":{"description":"The step commented on.","type":"string","uniqueKey":"events.items.[INDEX].content.assistantInteraction.decision.comments.items.[INDEX].stepId","typeLabel":"string"}},"required":["text"],"type":"object","additionalProperties":false,"uniqueKey":"events.items.[INDEX].content.assistantInteraction.decision.comments.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"events.items.[INDEX].content.assistantInteraction.decision.comments","typeLabel":"object[]"},"decidedBy":{"description":"The user who decided.","type":"string","uniqueKey":"events.items.[INDEX].content.assistantInteraction.decision.decidedBy","typeLabel":"string"},"note":{"description":"The reader's note.","type":"string","uniqueKey":"events.items.[INDEX].content.assistantInteraction.decision.note","typeLabel":"string"}},"required":["decision","decidedAt"],"type":"object","additionalProperties":false,"uniqueKey":"events.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.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.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.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.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.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.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.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.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].input.oneOf.0.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"events.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.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.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].input.oneOf.0.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"events.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.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.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.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.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.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.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].input.oneOf.1.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"events.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.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.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].input.oneOf.1.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"events.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.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].input.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"events.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.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.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.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].dependsOn.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"events.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.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.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.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.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.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.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.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.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].fields.items.[INDEX].options.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"events.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.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].fields.items.[INDEX].required","typeLabel":"boolean"}},"required":["name","label","widget"],"type":"object","additionalProperties":false,"uniqueKey":"events.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].fields.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"events.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.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.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].warnings.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"events.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX].warnings","typeLabel":"string[]"}},"required":["stepId","action","title","enabled","input","costClass"],"type":"object","additionalProperties":false,"uniqueKey":"events.items.[INDEX].content.assistantInteraction.plan.steps.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"events.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.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.items.[INDEX].content.assistantInteraction.plan.prerequisites.items.[INDEX].label","typeLabel":"string"},"prerequisiteId":{"description":"Id within the plan.","type":"string","isRequired":true,"uniqueKey":"events.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.items.[INDEX].content.assistantInteraction.plan.prerequisites.items.[INDEX].satisfied","typeLabel":"boolean"},"capabilityId":{"description":"The capability it unlocks.","type":"string","uniqueKey":"events.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.items.[INDEX].content.assistantInteraction.plan.prerequisites.items.[INDEX].detail","typeLabel":"string"},"link":{"description":"Console path that starts the setup.","type":"string","uniqueKey":"events.items.[INDEX].content.assistantInteraction.plan.prerequisites.items.[INDEX].link","typeLabel":"string"}},"required":["prerequisiteId","kind","label","satisfied"],"type":"object","additionalProperties":false,"uniqueKey":"events.items.[INDEX].content.assistantInteraction.plan.prerequisites.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"events.items.[INDEX].content.assistantInteraction.plan.prerequisites","typeLabel":"object[]"}},"required":["steps"],"type":"object","additionalProperties":false,"uniqueKey":"events.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.items.[INDEX].content.assistantInteraction.questions.items.[INDEX].input","typeLabel":"enum\u003cstring>"},"prompt":{"description":"The question.","type":"string","isRequired":true,"uniqueKey":"events.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.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.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.items.[INDEX].content.assistantInteraction.questions.items.[INDEX].multiple","typeLabel":"boolean"},"optional":{"description":"Whether the question may be left unanswered.","type":"boolean","uniqueKey":"events.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.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.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.items.[INDEX].content.assistantInteraction.questions.items.[INDEX].options.items.[INDEX].description","typeLabel":"string"}},"required":["optionId","label"],"type":"object","additionalProperties":false,"uniqueKey":"events.items.[INDEX].content.assistantInteraction.questions.items.[INDEX].options.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"events.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.items.[INDEX].content.assistantInteraction.questions.items.[INDEX].picker","typeLabel":"enum\u003cstring>"}},"required":["questionId","prompt","input"],"type":"object","additionalProperties":false,"uniqueKey":"events.items.[INDEX].content.assistantInteraction.questions.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"events.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.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.items.[INDEX].content.assistantInteraction.stepResults.items.[INDEX].stepId","typeLabel":"string"},"link":{"description":"Console path to it.","type":"string","uniqueKey":"events.items.[INDEX].content.assistantInteraction.stepResults.items.[INDEX].link","typeLabel":"string"},"message":{"description":"Detail, or the error.","type":"string","uniqueKey":"events.items.[INDEX].content.assistantInteraction.stepResults.items.[INDEX].message","typeLabel":"string"},"resourceId":{"description":"The id of what it created or changed.","type":"string","uniqueKey":"events.items.[INDEX].content.assistantInteraction.stepResults.items.[INDEX].resourceId","typeLabel":"string"},"resourceKind":{"description":"What it created or changed.","type":"string","uniqueKey":"events.items.[INDEX].content.assistantInteraction.stepResults.items.[INDEX].resourceKind","typeLabel":"string"}},"required":["stepId","status"],"type":"object","additionalProperties":false,"uniqueKey":"events.items.[INDEX].content.assistantInteraction.stepResults.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"events.items.[INDEX].content.assistantInteraction.stepResults","typeLabel":"object[]"},"summary":{"description":"One or two sentences on why this is being asked.","type":"string","uniqueKey":"events.items.[INDEX].content.assistantInteraction.summary","typeLabel":"string"}},"required":["interactionId","kind","revision","digest","status","origin","title","requestedAt"],"type":"object","additionalProperties":false,"uniqueKey":"events.items.[INDEX].content.assistantInteraction","typeLabel":"object"},"evaluationBudgetReached":{"properties":{"affectedTargetSessionIds":{"description":"Target sessions stopped or not admitted because the cap was reached.","items":{"type":"string","uniqueKey":"events.items.[INDEX].content.evaluationBudgetReached.affectedTargetSessionIds.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"events.items.[INDEX].content.evaluationBudgetReached.affectedTargetSessionIds","typeLabel":"string[]"},"maxTreeCostUsd":{"description":"Exact decimal USD tree cap that stopped further admission.","type":"string","isRequired":true,"uniqueKey":"events.items.[INDEX].content.evaluationBudgetReached.maxTreeCostUsd","typeLabel":"string"}},"required":["maxTreeCostUsd","affectedTargetSessionIds"],"type":"object","additionalProperties":false,"description":"Cost cap and targets stopped or left unadmitted when the run reached it.","uniqueKey":"events.items.[INDEX].content.evaluationBudgetReached","typeLabel":"object"},"evaluationPlanFrozen":{"properties":{"criteria":{"description":"Ordered rubric criteria frozen from the evaluator version.","items":{"properties":{"criterionKey":{"description":"Stable rubric key used to join verdicts across the run.","type":"string","isRequired":true,"uniqueKey":"events.items.[INDEX].content.evaluationPlanFrozen.criteria.items.[INDEX].criterionKey","typeLabel":"string"},"criterionText":{"description":"Frozen rubric instruction evaluated for every target.","type":"string","isRequired":true,"uniqueKey":"events.items.[INDEX].content.evaluationPlanFrozen.criteria.items.[INDEX].criterionText","typeLabel":"string"}},"required":["criterionKey","criterionText"],"type":"object","additionalProperties":false,"uniqueKey":"events.items.[INDEX].content.evaluationPlanFrozen.criteria.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"events.items.[INDEX].content.evaluationPlanFrozen.criteria","typeLabel":"object[]"},"maxConcurrentThreads":{"description":"Maximum evaluation children admitted concurrently for this run.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"isRequired":true,"uniqueKey":"events.items.[INDEX].content.evaluationPlanFrozen.maxConcurrentThreads","typeLabel":"integer"},"targets":{"description":"Ordered target sessions and their immutable transcript snapshots.","items":{"properties":{"snapshotEventId":{"description":"Canonical event id at or before which the target transcript is frozen.","format":"uuid","type":"string","isRequired":true,"uniqueKey":"events.items.[INDEX].content.evaluationPlanFrozen.targets.items.[INDEX].snapshotEventId","typeLabel":"string\u003cuuid>"},"targetSessionId":{"description":"Root session selected as an immutable evaluation target.","format":"uuid","type":"string","isRequired":true,"uniqueKey":"events.items.[INDEX].content.evaluationPlanFrozen.targets.items.[INDEX].targetSessionId","typeLabel":"string\u003cuuid>"}},"required":["targetSessionId","snapshotEventId"],"type":"object","additionalProperties":false,"uniqueKey":"events.items.[INDEX].content.evaluationPlanFrozen.targets.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"events.items.[INDEX].content.evaluationPlanFrozen.targets","typeLabel":"object[]"},"maxTreeCostUsd":{"description":"Optional exact decimal USD cap on billed cost shared by the evaluation tree.","type":"string","uniqueKey":"events.items.[INDEX].content.evaluationPlanFrozen.maxTreeCostUsd","typeLabel":"string"}},"required":["targets","criteria","maxConcurrentThreads"],"type":"object","additionalProperties":false,"description":"Frozen target, rubric, concurrency, and cost plan for an evaluation run.","uniqueKey":"events.items.[INDEX].content.evaluationPlanFrozen","typeLabel":"object"},"evaluationRunFinished":{"properties":{"targetsBudgetReached":{"description":"Number of targets stopped or not admitted after the cost cap was reached.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"isRequired":true,"uniqueKey":"events.items.[INDEX].content.evaluationRunFinished.targetsBudgetReached","typeLabel":"integer"},"targetsSkipped":{"description":"Number of targets whose processing ended without a completed verdict audit.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"isRequired":true,"uniqueKey":"events.items.[INDEX].content.evaluationRunFinished.targetsSkipped","typeLabel":"integer"},"targetsTotal":{"description":"Number of target snapshots frozen in the plan.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"isRequired":true,"uniqueKey":"events.items.[INDEX].content.evaluationRunFinished.targetsTotal","typeLabel":"integer"},"terminalStatus":{"description":"Final lifecycle state of the evaluation run.","type":"string","isRequired":true,"uniqueKey":"events.items.[INDEX].content.evaluationRunFinished.terminalStatus","typeLabel":"string"},"verdictsRecorded":{"description":"Number of completed verdict audit events recorded for this run.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"isRequired":true,"uniqueKey":"events.items.[INDEX].content.evaluationRunFinished.verdictsRecorded","typeLabel":"integer"},"failureCode":{"description":"Stable systemic failure classification for a failed run.","type":"string","uniqueKey":"events.items.[INDEX].content.evaluationRunFinished.failureCode","typeLabel":"string"},"failureMessage":{"description":"Sanitized explanation of the systemic run failure.","type":"string","uniqueKey":"events.items.[INDEX].content.evaluationRunFinished.failureMessage","typeLabel":"string"}},"required":["terminalStatus","targetsTotal","verdictsRecorded","targetsSkipped","targetsBudgetReached"],"type":"object","additionalProperties":false,"description":"Terminal counts and systemic failure state for the evaluation run.","uniqueKey":"events.items.[INDEX].content.evaluationRunFinished","typeLabel":"object"},"evaluationTargetSkipped":{"properties":{"reason":{"description":"Sanitized operator-readable explanation of the skip.","type":"string","isRequired":true,"uniqueKey":"events.items.[INDEX].content.evaluationTargetSkipped.reason","typeLabel":"string"},"reasonCode":{"description":"Stable machine-readable classification of the skipped target.","type":"string","isRequired":true,"uniqueKey":"events.items.[INDEX].content.evaluationTargetSkipped.reasonCode","typeLabel":"string"},"snapshotEventId":{"description":"Canonical transcript event boundary frozen for the skipped target.","format":"uuid","type":"string","isRequired":true,"uniqueKey":"events.items.[INDEX].content.evaluationTargetSkipped.snapshotEventId","typeLabel":"string\u003cuuid>"},"targetSessionId":{"description":"Root target whose processing ended without a completed verdict audit.","format":"uuid","type":"string","isRequired":true,"uniqueKey":"events.items.[INDEX].content.evaluationTargetSkipped.targetSessionId","typeLabel":"string\u003cuuid>"},"childSessionId":{"description":"Evaluation child identity when creation reached that stage.","format":"uuid","type":"string","uniqueKey":"events.items.[INDEX].content.evaluationTargetSkipped.childSessionId","typeLabel":"string\u003cuuid>"}},"required":["targetSessionId","snapshotEventId","reasonCode","reason"],"type":"object","additionalProperties":false,"description":"Sanitized outcome for a target whose processing ended without a completed verdict audit.","uniqueKey":"events.items.[INDEX].content.evaluationTargetSkipped","typeLabel":"object"},"evaluationTargetStarted":{"properties":{"childSessionId":{"description":"Evaluation child session created for this target.","format":"uuid","type":"string","isRequired":true,"uniqueKey":"events.items.[INDEX].content.evaluationTargetStarted.childSessionId","typeLabel":"string\u003cuuid>"},"cloneState":{"description":"Whether the child received a ready clone or needed no sandbox.","type":"string","isRequired":true,"uniqueKey":"events.items.[INDEX].content.evaluationTargetStarted.cloneState","typeLabel":"string"},"evaluationId":{"description":"Immutable verdict identity reserved for this target.","format":"uuid","type":"string","isRequired":true,"uniqueKey":"events.items.[INDEX].content.evaluationTargetStarted.evaluationId","typeLabel":"string\u003cuuid>"},"snapshotEventId":{"description":"Canonical event id bounding the immutable target transcript snapshot.","format":"uuid","type":"string","isRequired":true,"uniqueKey":"events.items.[INDEX].content.evaluationTargetStarted.snapshotEventId","typeLabel":"string\u003cuuid>"},"targetSessionId":{"description":"Root session whose frozen snapshot is being evaluated.","format":"uuid","type":"string","isRequired":true,"uniqueKey":"events.items.[INDEX].content.evaluationTargetStarted.targetSessionId","typeLabel":"string\u003cuuid>"},"sandboxProvider":{"description":"Provider of the isolated clone when the target has a sandbox.","type":"string","uniqueKey":"events.items.[INDEX].content.evaluationTargetStarted.sandboxProvider","typeLabel":"string"}},"required":["targetSessionId","snapshotEventId","childSessionId","evaluationId","cloneState"],"type":"object","additionalProperties":false,"description":"Identity and clone state for one admitted evaluation target.","uniqueKey":"events.items.[INDEX].content.evaluationTargetStarted","typeLabel":"object"},"evaluationVerdictRecorded":{"properties":{"childSessionId":{"description":"Evaluation child session that produced the verdict.","format":"uuid","type":"string","isRequired":true,"uniqueKey":"events.items.[INDEX].content.evaluationVerdictRecorded.childSessionId","typeLabel":"string\u003cuuid>"},"costCompleteness":{"description":"Whether every cost component is final and priced.","type":"string","isRequired":true,"uniqueKey":"events.items.[INDEX].content.evaluationVerdictRecorded.costCompleteness","typeLabel":"string"},"costUsd":{"description":"Exact canonical decimal USD attributed to this evaluation.","type":"string","isRequired":true,"uniqueKey":"events.items.[INDEX].content.evaluationVerdictRecorded.costUsd","typeLabel":"string"},"evaluationId":{"description":"Immutable evaluation row that remains authoritative.","format":"uuid","type":"string","isRequired":true,"uniqueKey":"events.items.[INDEX].content.evaluationVerdictRecorded.evaluationId","typeLabel":"string\u003cuuid>"},"failedCriterionKeys":{"description":"Sorted unique rubric keys whose verdict is fail.","items":{"type":"string","uniqueKey":"events.items.[INDEX].content.evaluationVerdictRecorded.failedCriterionKeys.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"events.items.[INDEX].content.evaluationVerdictRecorded.failedCriterionKeys","typeLabel":"string[]"},"result":{"description":"Overall verdict derived from the frozen criterion results.","type":"string","isRequired":true,"uniqueKey":"events.items.[INDEX].content.evaluationVerdictRecorded.result","typeLabel":"string"},"snapshotEventId":{"description":"Canonical event id bounding the transcript evidence considered.","format":"uuid","type":"string","isRequired":true,"uniqueKey":"events.items.[INDEX].content.evaluationVerdictRecorded.snapshotEventId","typeLabel":"string\u003cuuid>"},"targetSessionId":{"description":"Root session evaluated by this immutable verdict.","format":"uuid","type":"string","isRequired":true,"uniqueKey":"events.items.[INDEX].content.evaluationVerdictRecorded.targetSessionId","typeLabel":"string\u003cuuid>"}},"required":["targetSessionId","snapshotEventId","childSessionId","evaluationId","result","failedCriterionKeys","costUsd","costCompleteness"],"type":"object","additionalProperties":false,"description":"Audit reference to one authoritative immutable evaluation verdict.","uniqueKey":"events.items.[INDEX].content.evaluationVerdictRecorded","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.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.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.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.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.items.[INDEX].content.metadata.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"events.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.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.items.[INDEX].content.metadata.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"events.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.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.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.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.items.[INDEX].content.plan.items.[INDEX].status","typeLabel":"string"}},"required":["id","content","status"],"type":"object","additionalProperties":false,"uniqueKey":"events.items.[INDEX].content.plan.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"events.items.[INDEX].content.plan","typeLabel":"object[]"},"stopReason":{"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.items.[INDEX].content.stopReason","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":{"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.items.[INDEX].content.tools.items.[INDEX].description","typeLabel":"string"},"inputSchema":{"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.items.[INDEX].content.tools.items.[INDEX].inputSchema.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.items.[INDEX].content.tools.items.[INDEX].inputSchema.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.items.[INDEX].content.tools.items.[INDEX].inputSchema.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.items.[INDEX].content.tools.items.[INDEX].inputSchema.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.items.[INDEX].content.tools.items.[INDEX].inputSchema.oneOf.0.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"events.items.[INDEX].content.tools.items.[INDEX].inputSchema.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.items.[INDEX].content.tools.items.[INDEX].inputSchema.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.items.[INDEX].content.tools.items.[INDEX].inputSchema.oneOf.0.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"events.items.[INDEX].content.tools.items.[INDEX].inputSchema.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.items.[INDEX].content.tools.items.[INDEX].inputSchema.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.items.[INDEX].content.tools.items.[INDEX].inputSchema.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.items.[INDEX].content.tools.items.[INDEX].inputSchema.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.items.[INDEX].content.tools.items.[INDEX].inputSchema.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.items.[INDEX].content.tools.items.[INDEX].inputSchema.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.items.[INDEX].content.tools.items.[INDEX].inputSchema.oneOf.1.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"events.items.[INDEX].content.tools.items.[INDEX].inputSchema.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.items.[INDEX].content.tools.items.[INDEX].inputSchema.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.items.[INDEX].content.tools.items.[INDEX].inputSchema.oneOf.1.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"events.items.[INDEX].content.tools.items.[INDEX].inputSchema.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.items.[INDEX].content.tools.items.[INDEX].inputSchema.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"events.items.[INDEX].content.tools.items.[INDEX].inputSchema","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.items.[INDEX].content.tools.items.[INDEX].name","typeLabel":"string"}},"required":["name","description","inputSchema"],"type":"object","additionalProperties":false,"uniqueKey":"events.items.[INDEX].content.tools.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"events.items.[INDEX].content.tools","typeLabel":"object[]"},"usage":{"properties":{"cacheReadTokens":{"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.items.[INDEX].content.usage.cacheReadTokens","typeLabel":"integer\u003cint64>"},"cacheWriteTokens":{"description":"Prompt tokens written into the provider's prompt cache.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"events.items.[INDEX].content.usage.cacheWriteTokens","typeLabel":"integer\u003cint64>"},"costUsd":{"description":"Accrued cost in USD, derived from cost_micros for display.","format":"double","type":"number","uniqueKey":"events.items.[INDEX].content.usage.costUsd","typeLabel":"number\u003cdouble>"},"inputTokens":{"description":"Prompt tokens billed for this unit of work.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"events.items.[INDEX].content.usage.inputTokens","typeLabel":"integer\u003cint64>"},"outputTokens":{"description":"Completion tokens billed for this unit of work.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"events.items.[INDEX].content.usage.outputTokens","typeLabel":"integer\u003cint64>"}},"type":"object","additionalProperties":false,"description":"Token counts the provider reported for the call that produced this message. Absent when the event is not a model response.","uniqueKey":"events.items.[INDEX].content.usage","typeLabel":"object"}},"required":["blocks"],"type":"object","additionalProperties":false,"description":"The event payload as provider-shaped content blocks. Passed through to and from the model provider without reinterpretation.","isRequired":true,"uniqueKey":"events.items.[INDEX].content","typeLabel":"object"},"createdAt":{"description":"RFC 3339 timestamp of when this record was created. Server-assigned.","format":"date-time","type":"string","isRequired":true,"uniqueKey":"events.items.[INDEX].createdAt","typeLabel":"string\u003cdate-time>"},"eventId":{"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.items.[INDEX].eventId","typeLabel":"string"},"eventType":{"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.items.[INDEX].eventType","typeLabel":"string"},"inferenceConfig":{"properties":{"maxTokens":{"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.items.[INDEX].inferenceConfig.maxTokens","typeLabel":"integer\u003cint64>"},"providerParams":{"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.items.[INDEX].inferenceConfig.providerParams.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.items.[INDEX].inferenceConfig.providerParams.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.items.[INDEX].inferenceConfig.providerParams.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.items.[INDEX].inferenceConfig.providerParams.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.items.[INDEX].inferenceConfig.providerParams.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"events.items.[INDEX].inferenceConfig.providerParams.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.items.[INDEX].inferenceConfig.providerParams.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.items.[INDEX].inferenceConfig.providerParams.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"events.items.[INDEX].inferenceConfig.providerParams.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.items.[INDEX].inferenceConfig.providerParams","typeLabel":"object"},"reasoningEffort":{"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.items.[INDEX].inferenceConfig.reasoningEffort","typeLabel":"string"},"temperature":{"description":"Sampling temperature passed through to the provider, typically 0.0-2.0. Lower values are more deterministic. Omit to use the provider default.","type":"number","uniqueKey":"events.items.[INDEX].inferenceConfig.temperature","typeLabel":"number"},"topP":{"description":"Nucleus-sampling probability mass (0.0-1.0) passed through to the provider. Prefer setting either this or temperature, not both. Omit to use the provider default.","type":"number","uniqueKey":"events.items.[INDEX].inferenceConfig.topP","typeLabel":"number"}},"type":"object","additionalProperties":false,"description":"Sampling and tool settings this inference ran with, as resolved at call time.","isRequired":true,"uniqueKey":"events.items.[INDEX].inferenceConfig","typeLabel":"object"},"schemaVersion":{"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.items.[INDEX].schemaVersion","typeLabel":"integer"},"sessionId":{"description":"Session this event belongs to (UUID).","type":"string","isRequired":true,"uniqueKey":"events.items.[INDEX].sessionId","typeLabel":"string"},"agentId":{"description":"Agent that produced this event (UUID).","type":"string","uniqueKey":"events.items.[INDEX].agentId","typeLabel":"string"},"cacheReadTokens":{"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.items.[INDEX].cacheReadTokens","typeLabel":"integer\u003cint64>"},"cacheWriteTokens":{"description":"Prompt tokens written into the provider's prompt cache.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"events.items.[INDEX].cacheWriteTokens","typeLabel":"integer\u003cint64>"},"causalEventId":{"description":"Event that caused this one (UUID). Unlike parent_event_id this expresses causality rather than nesting.","type":"string","uniqueKey":"events.items.[INDEX].causalEventId","typeLabel":"string"},"contentHydrationStatus":{"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.items.[INDEX].contentHydrationStatus","typeLabel":"enum\u003cstring>"},"contentPayloadBytes":{"description":"Byte size of the canonical external EventContent JSON.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"events.items.[INDEX].contentPayloadBytes","typeLabel":"integer\u003cint64>"},"contentPayloadRef":{"description":"Private whole-event content reference. Read the content through managedAgentsGetSessionEventContent; this reference cannot be fetched directly.","type":"string","uniqueKey":"events.items.[INDEX].contentPayloadRef","typeLabel":"string"},"contentPayloadSha256":{"description":"Lowercase SHA-256 digest of the canonical external EventContent JSON.","type":"string","uniqueKey":"events.items.[INDEX].contentPayloadSha256","typeLabel":"string"},"contentRef":{"description":"Image cleanup prefix or typed multi-image envelope. This is independent of whole-event payload storage.","type":"string","uniqueKey":"events.items.[INDEX].contentRef","typeLabel":"string"},"costMicros":{"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.items.[INDEX].costMicros","typeLabel":"integer\u003cint64>"},"environmentId":{"description":"Sandbox environment the producing session was executing in (UUID).","type":"string","uniqueKey":"events.items.[INDEX].environmentId","typeLabel":"string"},"eventStatus":{"description":"Outcome marker for events that can fail: pending, completed, warning, or error. Empty when not applicable.","type":"string","uniqueKey":"events.items.[INDEX].eventStatus","typeLabel":"string"},"finishReason":{"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.items.[INDEX].finishReason","typeLabel":"string"},"inputTokens":{"description":"Prompt tokens billed for this unit of work.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"events.items.[INDEX].inputTokens","typeLabel":"integer\u003cint64>"},"latencyMs":{"description":"Wall-clock duration of the provider call in milliseconds.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"events.items.[INDEX].latencyMs","typeLabel":"integer\u003cint64>"},"model":{"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.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.items.[INDEX].model.provider","typeLabel":"string"},"baseUrl":{"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.items.[INDEX].model.baseUrl","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.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.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.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.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.items.[INDEX].model.capabilities.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"events.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.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.items.[INDEX].model.capabilities.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"events.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.items.[INDEX].model.capabilities","typeLabel":"object"},"contextWindow":{"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.items.[INDEX].model.contextWindow","typeLabel":"integer\u003cint64>"},"maxOutputTokens":{"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.items.[INDEX].model.maxOutputTokens","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.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.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.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.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.items.[INDEX].model.metadata.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"events.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.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.items.[INDEX].model.metadata.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"events.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.items.[INDEX].model.metadata","typeLabel":"object"},"modelRefId":{"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.items.[INDEX].model.modelRefId","typeLabel":"string"},"modelVersion":{"description":"Provider-specific version or snapshot pin recorded alongside the model id, when the catalog entry declares one.","type":"string","uniqueKey":"events.items.[INDEX].model.modelVersion","typeLabel":"string"},"providerId":{"description":"Model provider record whose credentials and base URL were used (UUID).","type":"string","uniqueKey":"events.items.[INDEX].model.providerId","typeLabel":"string"},"providerType":{"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.items.[INDEX].model.providerType","typeLabel":"string"},"servingBackend":{"description":"Serving stack behind a self-hosted model, e.g. vllm. Empty for models called through a hosted provider API.","type":"string","uniqueKey":"events.items.[INDEX].model.servingBackend","typeLabel":"string"}},"required":["provider","model"],"type":"object","additionalProperties":false,"description":"Snapshot of the model reference as it was at call time, so a later model change does not rewrite history.","uniqueKey":"events.items.[INDEX].model","typeLabel":"object"},"modelRefId":{"description":"Canonical model reference used for this inference (UUID). Empty on events not produced by a model call.","type":"string","uniqueKey":"events.items.[INDEX].modelRefId","typeLabel":"string"},"organizationId":{"description":"Organization that owns this record. Resolved from the API key; never accepted from the caller.","type":"string","uniqueKey":"events.items.[INDEX].organizationId","typeLabel":"string"},"outputTokens":{"description":"Completion tokens billed for this unit of work.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"events.items.[INDEX].outputTokens","typeLabel":"integer\u003cint64>"},"parentEventId":{"description":"Event this one is nested under in the transcript tree (UUID), for example a tool result under its invocation.","type":"string","uniqueKey":"events.items.[INDEX].parentEventId","typeLabel":"string"},"promptTokens":{"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.items.[INDEX].promptTokens","typeLabel":"integer\u003cint64>"},"providerModelId":{"description":"Provider's own model identifier as sent on the wire, which may differ from the canonical model reference.","type":"string","uniqueKey":"events.items.[INDEX].providerModelId","typeLabel":"string"},"providerRequestId":{"description":"Provider's request identifier for this inference, for correlating with provider-side logs.","type":"string","uniqueKey":"events.items.[INDEX].providerRequestId","typeLabel":"string"},"providerType":{"description":"Model provider family that served this inference, for example anthropic, openai, or vertex.","type":"string","uniqueKey":"events.items.[INDEX].providerType","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.items.[INDEX].role","typeLabel":"string"},"sandboxInstanceId":{"description":"Concrete sandbox instance the event was produced on. Provider-assigned, not a UUID.","type":"string","uniqueKey":"events.items.[INDEX].sandboxInstanceId","typeLabel":"string"},"threadId":{"description":"Thread within a multi-agent session that produced this event (UUID). Empty on a single-agent session.","type":"string","uniqueKey":"events.items.[INDEX].threadId","typeLabel":"string"},"toolName":{"description":"Name of the tool being invoked or reporting a result. Set on tool events only.","type":"string","uniqueKey":"events.items.[INDEX].toolName","typeLabel":"string"},"toolUseId":{"description":"Provider's tool-call identifier, correlating a tool_invocation with its tool_result.","type":"string","uniqueKey":"events.items.[INDEX].toolUseId","typeLabel":"string"},"turnId":{"description":"Groups every event produced within one model turn.","type":"string","uniqueKey":"events.items.[INDEX].turnId","typeLabel":"string"}},"required":["schemaVersion","eventType","actor","content","inferenceConfig","sessionId","eventId","createdAt"],"type":"object","additionalProperties":false,"uniqueKey":"events.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"events","typeLabel":"object[]"},"rootSessionId":{"description":"Root session of the multi-agent tree this result covers (UUID). Equal to sessionId for a root session.","type":"string","isRequired":true,"uniqueKey":"rootSessionId","typeLabel":"string"},"sessions":{"description":"Every session in the tree, root and subagents alike. Always complete; only the event log is paged.","items":{"properties":{"computerUse":{"description":"Whether this session has a computer-enabled environment and a display that passed its readiness probe.","type":"boolean","isRequired":true,"uniqueKey":"sessions.items.[INDEX].computerUse","typeLabel":"boolean"},"config":{"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":"sessions.items.[INDEX].config.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":"sessions.items.[INDEX].config.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":"sessions.items.[INDEX].config.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":"sessions.items.[INDEX].config.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":"sessions.items.[INDEX].config.oneOf.0.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"sessions.items.[INDEX].config.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":"sessions.items.[INDEX].config.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":"sessions.items.[INDEX].config.oneOf.0.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"sessions.items.[INDEX].config.oneOf.0.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Resolved per-session runtime settings written at start, including the snapshotted MCP servers and tool bindings, multi-agent roster, and delegation depth limits. The settings an agent version owns change only when the session moves to another version of its agent. Read-only to callers.","type":"object","isRequired":true,"uniqueKey":"sessions.items.[INDEX].config.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":"sessions.items.[INDEX].config.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":"sessions.items.[INDEX].config.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":"sessions.items.[INDEX].config.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":"sessions.items.[INDEX].config.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":"sessions.items.[INDEX].config.oneOf.1.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"sessions.items.[INDEX].config.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":"sessions.items.[INDEX].config.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":"sessions.items.[INDEX].config.oneOf.1.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"sessions.items.[INDEX].config.oneOf.1.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Resolved per-session runtime settings written at start, including the snapshotted MCP servers and tool bindings, multi-agent roster, and delegation depth limits. The settings an agent version owns change only when the session moves to another version of its agent. Read-only to callers.","type":"null","isRequired":true,"uniqueKey":"sessions.items.[INDEX].config.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"sessions.items.[INDEX].config","typeLabel":"object | null"},"createdAt":{"description":"RFC 3339 timestamp of when this record was created. Server-assigned.","format":"date-time","type":"string","isRequired":true,"uniqueKey":"sessions.items.[INDEX].createdAt","typeLabel":"string\u003cdate-time>"},"credentialRefs":{"description":"Explicit allowlist of individual credentials the session may use; empty when none are listed. Read credentialRefsConfigured to tell an intentionally empty allowlist from a legacy session granted whole vaults.","items":{"properties":{"credentialId":{"description":"Credential to select inside vault_id.","type":"string","isRequired":true,"uniqueKey":"sessions.items.[INDEX].credentialRefs.items.[INDEX].credentialId","typeLabel":"string"},"vaultId":{"description":"Vault holding the credential. Required, because credential ids are unique only within a vault.","type":"string","isRequired":true,"uniqueKey":"sessions.items.[INDEX].credentialRefs.items.[INDEX].vaultId","typeLabel":"string"}},"required":["vaultId","credentialId"],"type":"object","additionalProperties":false,"uniqueKey":"sessions.items.[INDEX].credentialRefs.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"sessions.items.[INDEX].credentialRefs","typeLabel":"object[]"},"credentialRefsConfigured":{"description":"True when credentialRefs is an explicit allowlist. False on legacy sessions granted every credential in their vaults, which would otherwise be indistinguishable from an empty allowlist.","type":"boolean","isRequired":true,"uniqueKey":"sessions.items.[INDEX].credentialRefsConfigured","typeLabel":"boolean"},"kind":{"description":"What produced the session: api_call, chat, rollout (an imported RL rollout), subagent (delegated by another session), benchmark, evaluation (a platform-started evaluation run over other session snapshots), reflection (a platform-started memory consolidation), or session_analyst (a platform-started read-only assistant that answers questions about another session tree).","enum":["api_call","chat","rollout","subagent","benchmark","evaluation","reflection","session_analyst"],"type":"string","isRequired":true,"uniqueKey":"sessions.items.[INDEX].kind","typeLabel":"enum\u003cstring>"},"organizationId":{"description":"Organization that owns this record. Resolved from the API key; never accepted from the caller.","type":"string","isRequired":true,"uniqueKey":"sessions.items.[INDEX].organizationId","typeLabel":"string"},"rootSessionId":{"description":"Root session of the multi-agent tree this session belongs to (UUID). Equal to sessionId for a root session.","type":"string","isRequired":true,"uniqueKey":"sessions.items.[INDEX].rootSessionId","typeLabel":"string"},"sessionId":{"description":"Identifier for this session (UUID). Server-assigned.","type":"string","isRequired":true,"uniqueKey":"sessions.items.[INDEX].sessionId","typeLabel":"string"},"sessionPath":{"description":"Position of this session within its tree, as a slash-delimited path of session ids. \"/\" for a root session.","type":"string","isRequired":true,"uniqueKey":"sessions.items.[INDEX].sessionPath","typeLabel":"string"},"status":{"description":"Coarse session state shared with RL rollout imports: active, awaiting_human (for a rollout, carries no score), completed, failed, or cancelled. For where a running agent loop is, read execution_state instead.","enum":["active","awaiting_human","completed","failed","cancelled"],"type":"string","isRequired":true,"uniqueKey":"sessions.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"updatedAt":{"description":"RFC 3339 timestamp of the last change to this record. Server-assigned.","format":"date-time","type":"string","isRequired":true,"uniqueKey":"sessions.items.[INDEX].updatedAt","typeLabel":"string\u003cdate-time>"},"accessPolicy":{"type":"string","enum":["platform_internal"],"description":"Present only when reading a platform-managed session directly; these sessions are omitted from session lists.","uniqueKey":"sessions.items.[INDEX].accessPolicy","typeLabel":"enum\u003cstring>"},"activeHandoff":{"properties":{"deadlineAt":{"description":"When the handoff automatically expires and the agent resumes.","format":"date-time","type":"string","isRequired":true,"uniqueKey":"sessions.items.[INDEX].activeHandoff.deadlineAt","typeLabel":"string\u003cdate-time>"},"handoffId":{"description":"Stable identifier for this browser handoff.","type":"string","isRequired":true,"uniqueKey":"sessions.items.[INDEX].activeHandoff.handoffId","typeLabel":"string"},"reason":{"description":"Why the agent asked a person to take over the shared browser.","type":"string","isRequired":true,"uniqueKey":"sessions.items.[INDEX].activeHandoff.reason","typeLabel":"string"},"requestedAt":{"description":"When the agent requested the handoff.","format":"date-time","type":"string","isRequired":true,"uniqueKey":"sessions.items.[INDEX].activeHandoff.requestedAt","typeLabel":"string\u003cdate-time>"},"state":{"description":"Whether nobody has opened access yet, one person currently owns the display, or hand-back/deadline resolution is being delivered.","enum":["awaiting_user","user_driving","resolved"],"type":"string","isRequired":true,"uniqueKey":"sessions.items.[INDEX].activeHandoff.state","typeLabel":"enum\u003cstring>"},"accessExpiresAt":{"description":"Latest time the current display access remains usable; never later than deadline_at.","format":"date-time","type":"string","uniqueKey":"sessions.items.[INDEX].activeHandoff.accessExpiresAt","typeLabel":"string\u003cdate-time>"},"wakeCause":{"description":"Resolution cause once resolved: user_handed_back, deadline_elapsed, cancelled, or interrupted.","type":"string","uniqueKey":"sessions.items.[INDEX].activeHandoff.wakeCause","typeLabel":"string"}},"required":["handoffId","reason","requestedAt","deadlineAt","state"],"type":"object","additionalProperties":false,"description":"Current browser handoff, including its exclusive driver claim and deadline. Absent when no browser handoff is active. Never contains the short-lived access URL.","uniqueKey":"sessions.items.[INDEX].activeHandoff","typeLabel":"object"},"agentId":{"description":"Agent this session runs (UUID). Empty for imported sessions that were not started from an agent.","type":"string","uniqueKey":"sessions.items.[INDEX].agentId","typeLabel":"string"},"agentSnapshot":{"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"sessions.items.[INDEX].agentSnapshot.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":"sessions.items.[INDEX].agentSnapshot.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":"sessions.items.[INDEX].agentSnapshot.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":"sessions.items.[INDEX].agentSnapshot.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":"sessions.items.[INDEX].agentSnapshot.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"sessions.items.[INDEX].agentSnapshot.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":"sessions.items.[INDEX].agentSnapshot.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":"sessions.items.[INDEX].agentSnapshot.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"sessions.items.[INDEX].agentSnapshot.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"The definition of the agent version this session runs, frozen so later edits to the agent cannot change this session's behavior. Written at start; it changes only when the session moves to another version of its agent, which agentVersionId shows.","type":"object","uniqueKey":"sessions.items.[INDEX].agentSnapshot","typeLabel":"object"},"agentVersionId":{"description":"Agent version this session runs (UUID), pinned at start so a later edit to the agent cannot change a running session. It changes only when the session moves to another version of its agent.","type":"string","uniqueKey":"sessions.items.[INDEX].agentVersionId","typeLabel":"string"},"budget":{"description":"The session tree's budget and what the tree has spent toward it, on a root session read in full. Omitted when the session has none, and on summary and list reads.","properties":{"continuesOnRaise":{"description":"Whether raising or removing the budget of a session paused at it continues the session right away. False for a session bound to a Slack thread, which continues on its next reply there.","readOnly":true,"type":"boolean","isRequired":true,"uniqueKey":"sessions.items.[INDEX].budget.continuesOnRaise","typeLabel":"boolean"},"maxCostUsd":{"description":"The budget in US dollars, with two decimals.","examples":["10.00"],"pattern":"^(0|[1-9][0-9]{0,5})(\\.[0-9]{1,2})?$","type":"string","isRequired":true,"uniqueKey":"sessions.items.[INDEX].budget.maxCostUsd","typeLabel":"string"},"agentCapUsd":{"description":"The agent's multiagent.limits.max_tree_cost_usd, in US dollars with two decimals: the most this budget can be set to. A session whose budget reached it stays paused; start a new session, or raise the agent's cap for sessions started after.","examples":["25.00"],"readOnly":true,"type":"string","uniqueKey":"sessions.items.[INDEX].budget.agentCapUsd","typeLabel":"string"},"spentUsd":{"description":"What the session tree has spent, plus any linked outcome grading sessions charged to the same budget on Recursion, in US dollars with two decimals, at the billed price the budget is enforced at (models, tools and sandbox compute). Present on a full read of the root; absent when the spend could not be read. A session that paused at its budget can read a little past it: the request that crossed it completes.","examples":["4.20"],"readOnly":true,"type":"string","uniqueKey":"sessions.items.[INDEX].budget.spentUsd","typeLabel":"string"}},"required":["maxCostUsd","continuesOnRaise"],"type":"object","additionalProperties":false,"uniqueKey":"sessions.items.[INDEX].budget","typeLabel":"object"},"concurrencySlotHeld":{"description":"Whether this root session currently occupies the agent's max_concurrent_sessions slot. True while admitted and non-terminal. False exclusively while an active queued root waits to start. Omitted for unlimited agents, child sessions, legacy rows, and terminal or deleted sessions.","type":"boolean","uniqueKey":"sessions.items.[INDEX].concurrencySlotHeld","typeLabel":"boolean"},"costState":{"description":"final once the session has ended, its sandbox has stopped, and every charge has settled: costUsd will not change unless the session is resumed. so_far while it can still grow. Present exactly when costUsd is.","enum":["final","so_far"],"type":"string","uniqueKey":"sessions.items.[INDEX].costState","typeLabel":"enum\u003cstring>"},"costUsd":{"description":"Billed cost of this session's whole tree as an exact canonical decimal USD string. On Recursion, a writer's cost also includes linked cloned outcome evaluation roots, counting each ledger charge once; manual evaluations remain independent. On other surfaces, cost remains tree-only. Compute still running is included as an estimate; the figure is final once every included tree has ended and settled. Returned by managedAgentsGetSession and managedAgentsListSessions only, and absent when it cannot be read.","examples":["1.234567"],"type":"string","uniqueKey":"sessions.items.[INDEX].costUsd","typeLabel":"string"},"effectiveModel":{"description":"Provider-qualified model string this session runs, including any per-session model override. Written at start; it changes only when the session moves to another version of its agent. Prefer this over resolving model_ref_id or the current agent version when displaying the model a session runs.","type":"string","uniqueKey":"sessions.items.[INDEX].effectiveModel","typeLabel":"string"},"environmentId":{"description":"Environment whose sandbox definition this session runs in (UUID).","type":"string","uniqueKey":"sessions.items.[INDEX].environmentId","typeLabel":"string"},"executionState":{"description":"Where the agent loop is. Empty for sessions without a loop, such as imported rollouts. provisioning includes any automatic setup-image refresh before sandbox creation. The deployment's compute-ready timeout (five minutes by default) bounds sandbox readiness after refresh, not the setup run itself. A failed setup or sandbox timeout fails the session with the reason in failure. This field, read from the session itself, is the authoritative status -- a session's event stream is written on a separate path and can lag it, so an empty event list does not mean the session is still starting.","enum":["provisioning","queued","running","idle","completed"],"type":"string","uniqueKey":"sessions.items.[INDEX].executionState","typeLabel":"enum\u003cstring>"},"externalSourceId":{"description":"Identifier of the session's counterpart in the external_source_type system, so a caller can find the session again from that side. Set together with external_source_type.","type":"string","uniqueKey":"sessions.items.[INDEX].externalSourceId","typeLabel":"string"},"externalSourceType":{"description":"Kind of external system this session is correlated to, e.g. slack_thread. Set together with external_source_id and filterable when listing sessions.","type":"string","uniqueKey":"sessions.items.[INDEX].externalSourceType","typeLabel":"string"},"failure":{"description":"Structured terminal failure. Omitted for healthy sessions and legacy rows.","properties":{"at":{"description":"Time the terminal failure was persisted.","format":"date-time","type":"string","isRequired":true,"uniqueKey":"sessions.items.[INDEX].failure.at","typeLabel":"string\u003cdate-time>"},"category":{"description":"Who can act on this failure: transient (wait or retry), caller_error (change the request or configuration, retrying as-is will not help), or internal (report it). retryable=false with category=caller_error is a fixable mistake, not an outage. A retryable failure is never caller_error: if the platform will retry, changing the request is not the fix.","enum":["transient","caller_error","internal"],"type":"string","isRequired":true,"uniqueKey":"sessions.items.[INDEX].failure.category","typeLabel":"enum\u003cstring>"},"code":{"description":"Stable machine-readable failure code.","type":"string","isRequired":true,"uniqueKey":"sessions.items.[INDEX].failure.code","typeLabel":"string"},"message":{"description":"Sanitized bounded operator-facing message; never contains raw provider response bodies or credentials.","type":"string","isRequired":true,"uniqueKey":"sessions.items.[INDEX].failure.message","typeLabel":"string"},"phase":{"description":"Lifecycle phase that failed, such as provisioning, setup, workflow, or model.","type":"string","isRequired":true,"uniqueKey":"sessions.items.[INDEX].failure.phase","typeLabel":"string"},"retryable":{"description":"Whether the platform will retry, or a retry of the same request may succeed on its own. False does not mean permanently broken -- read category to tell a transient condition from a request the caller must change.","type":"boolean","isRequired":true,"uniqueKey":"sessions.items.[INDEX].failure.retryable","typeLabel":"boolean"}},"required":["phase","code","message","retryable","category","at"],"type":"object","additionalProperties":false,"uniqueKey":"sessions.items.[INDEX].failure","typeLabel":"object"},"forkedAtEventId":{"description":"Event in the parent session (UUID) this session was forked from, so the fork's starting context is identifiable. Set only on forks.","type":"string","uniqueKey":"sessions.items.[INDEX].forkedAtEventId","typeLabel":"string"},"lastActivityAt":{"description":"RFC 3339 timestamp of when the agent loop last made progress. Distinct from updated_at, which any metadata write touches. Absent for sessions that run no loop.","format":"date-time","type":"string","uniqueKey":"sessions.items.[INDEX].lastActivityAt","typeLabel":"string\u003cdate-time>"},"metadata":{"additionalProperties":{"type":"string","uniqueKey":"sessions.items.[INDEX].metadata.additionalProperties","typeLabel":"string"},"description":"Caller-defined string key/value pairs supplied when the session was started, e.g. ids from your own system. Immutable, present on root sessions only, and filterable with metadataAll=key:value or metadataKeyAll=key on GET /v2/sessions. At most 32 entries; keys use letters, digits, '_', '.', and '-' up to 64 characters; values are 1-512 characters.","type":"object","uniqueKey":"sessions.items.[INDEX].metadata","typeLabel":"object"},"modelRefId":{"description":"Model reference the session's turns run on (UUID), resolved from the agent version or the start request. Written at start; it changes only when the session moves to another version of its agent.","type":"string","uniqueKey":"sessions.items.[INDEX].modelRefId","typeLabel":"string"},"modelSnapshot":{"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"sessions.items.[INDEX].modelSnapshot.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":"sessions.items.[INDEX].modelSnapshot.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":"sessions.items.[INDEX].modelSnapshot.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":"sessions.items.[INDEX].modelSnapshot.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":"sessions.items.[INDEX].modelSnapshot.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"sessions.items.[INDEX].modelSnapshot.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":"sessions.items.[INDEX].modelSnapshot.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":"sessions.items.[INDEX].modelSnapshot.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"sessions.items.[INDEX].modelSnapshot.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"The resolved model reference and inference settings this session runs, frozen for the same reason as agentSnapshot. Written at start; it changes only when the session moves to another version of its agent.","type":"object","uniqueKey":"sessions.items.[INDEX].modelSnapshot","typeLabel":"object"},"parentSessionId":{"description":"Session that created this one (UUID) — the delegating session for a subagent, or the source session for a fork. Empty on a root session.","type":"string","uniqueKey":"sessions.items.[INDEX].parentSessionId","typeLabel":"string"},"projectId":{"description":"Identifier of the external project the session's work belongs to, interpreted according to project_source.","type":"string","uniqueKey":"sessions.items.[INDEX].projectId","typeLabel":"string"},"sandboxInstanceId":{"description":"Provider-assigned id of the sandbox instance serving this session. Empty before provisioning finishes; historical self_hosted sessions may also have no instance id.","type":"string","uniqueKey":"sessions.items.[INDEX].sandboxInstanceId","typeLabel":"string"},"sandboxProvider":{"description":"Sandbox runtime that provisioned this session's compute, from the supported sandbox providers list.","type":"string","uniqueKey":"sessions.items.[INDEX].sandboxProvider","typeLabel":"string"},"sourceRefs":{"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"sessions.items.[INDEX].sourceRefs.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":"sessions.items.[INDEX].sourceRefs.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":"sessions.items.[INDEX].sourceRefs.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":"sessions.items.[INDEX].sourceRefs.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":"sessions.items.[INDEX].sourceRefs.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"sessions.items.[INDEX].sourceRefs.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":"sessions.items.[INDEX].sourceRefs.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":"sessions.items.[INDEX].sourceRefs.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"sessions.items.[INDEX].sourceRefs.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Secondary provenance ids from the originating system beyond the primary external source, e.g. an imported rollout's problem, problem-version, and run ids.","type":"object","uniqueKey":"sessions.items.[INDEX].sourceRefs","typeLabel":"object"},"stopReason":{"description":"Why the loop is not running. Set whenever execution_state is idle or completed. sleeping means the agent chose to wait and the session resumes on the next message or at wake_at; awaiting_subagents means a coordinator is waiting on delegated work; out_of_credit and tenant_suspended pause before new work and continue on the next message after the tenant is admitted again; an out_of_credit pause from the last 72 hours also continues on its own within about a minute once the tenant is admitted again; budget_reached means the session tree reached its budget and paused before its next model request, and raising or removing the session's budget continues it.","type":"string","uniqueKey":"sessions.items.[INDEX].stopReason","typeLabel":"string"},"userId":{"description":"User the session was started on behalf of, resolved from the request scope.","type":"string","uniqueKey":"sessions.items.[INDEX].userId","typeLabel":"string"},"vaultIds":{"description":"Vaults (UUIDs) the session may draw credentials from. Combine with credentialRefs to narrow the grant to specific credentials.","items":{"type":"string","uniqueKey":"sessions.items.[INDEX].vaultIds.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"sessions.items.[INDEX].vaultIds","typeLabel":"string[]"},"wakeAt":{"description":"RFC 3339 timestamp at which a sleeping session wakes itself if nobody messages it first. Absent unless the agent scheduled a timed wait.","format":"date-time","type":"string","uniqueKey":"sessions.items.[INDEX].wakeAt","typeLabel":"string\u003cdate-time>"}},"required":["rootSessionId","sessionPath","sessionId","organizationId","kind","status","computerUse","credentialRefs","credentialRefsConfigured","config","createdAt","updatedAt"],"type":"object","additionalProperties":false,"uniqueKey":"sessions.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"sessions","typeLabel":"object[]"},"threads":{"description":"Thread registry rows for the tree's context-isolated execution streams. Imported RL children appear when their import supplied thread names; older imports without names use session-derived fallback rows.","items":{"properties":{"agentId":{"description":"Agent this thread runs (UUID).","type":"string","isRequired":true,"uniqueKey":"threads.items.[INDEX].agentId","typeLabel":"string"},"createdAt":{"description":"RFC 3339 timestamp of when this record was created. Server-assigned.","format":"date-time","type":"string","isRequired":true,"uniqueKey":"threads.items.[INDEX].createdAt","typeLabel":"string\u003cdate-time>"},"role":{"description":"What the thread exists to do within the tree, for example subagent, grader, or advisor. Not a chat message role.","type":"string","isRequired":true,"uniqueKey":"threads.items.[INDEX].role","typeLabel":"string"},"rootSessionId":{"description":"Root session of the multi-agent tree this thread belongs to (UUID). Equal to sessionId for a root session.","type":"string","isRequired":true,"uniqueKey":"threads.items.[INDEX].rootSessionId","typeLabel":"string"},"sessionId":{"description":"Session this thread belongs to (UUID).","type":"string","isRequired":true,"uniqueKey":"threads.items.[INDEX].sessionId","typeLabel":"string"},"sessionPath":{"description":"Slash-joined ancestry of session ids from the tree root down to the session whose events this thread's events are stored under, for example \"/root-id/child-id\".","type":"string","isRequired":true,"uniqueKey":"threads.items.[INDEX].sessionPath","typeLabel":"string"},"status":{"description":"Thread lifecycle: running (executing now), idle (awaiting more input), or terminated (finished; see stop_reason).","type":"string","isRequired":true,"uniqueKey":"threads.items.[INDEX].status","typeLabel":"string"},"threadId":{"description":"Identifier for this thread within its session tree (UUID). Server-assigned. For a subagent thread it is the child session id, so the thread and the session carrying its events resolve each other directly.","type":"string","isRequired":true,"uniqueKey":"threads.items.[INDEX].threadId","typeLabel":"string"},"threadPath":{"description":"Slash-joined ancestry of this thread within the tree, used to order threads for display. Defaults to session_path when the thread has no deeper nesting of its own.","type":"string","isRequired":true,"uniqueKey":"threads.items.[INDEX].threadPath","typeLabel":"string"},"updatedAt":{"description":"RFC 3339 timestamp of the last change to this record. Server-assigned.","format":"date-time","type":"string","isRequired":true,"uniqueKey":"threads.items.[INDEX].updatedAt","typeLabel":"string\u003cdate-time>"},"agentVersionId":{"description":"Agent version this thread runs (UUID). Absent when the thread was not pinned to a specific version.","type":"string","uniqueKey":"threads.items.[INDEX].agentVersionId","typeLabel":"string"},"archivedAt":{"description":"RFC 3339 timestamp of when this thread was archived and stopped appearing as an active stream. Absent while the thread is not archived.","format":"date-time","type":"string","uniqueKey":"threads.items.[INDEX].archivedAt","typeLabel":"string\u003cdate-time>"},"name":{"description":"Human-readable label for this thread, supplied when it was spawned. Optional and never interpreted by the service.","type":"string","uniqueKey":"threads.items.[INDEX].name","typeLabel":"string"},"parentSessionId":{"description":"Session the spawning thread belongs to (UUID). Absent on the tree's top-level thread.","type":"string","uniqueKey":"threads.items.[INDEX].parentSessionId","typeLabel":"string"},"parentThreadId":{"description":"Thread that spawned this one (UUID). Absent on the tree's top-level thread.","type":"string","uniqueKey":"threads.items.[INDEX].parentThreadId","typeLabel":"string"},"stopReason":{"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"threads.items.[INDEX].stopReason.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":"threads.items.[INDEX].stopReason.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":"threads.items.[INDEX].stopReason.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":"threads.items.[INDEX].stopReason.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":"threads.items.[INDEX].stopReason.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"threads.items.[INDEX].stopReason.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":"threads.items.[INDEX].stopReason.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":"threads.items.[INDEX].stopReason.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"threads.items.[INDEX].stopReason.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Structured reason the thread last stopped, forwarded from the agent loop, for example {\"type\": \"end_turn\"} or {\"type\": \"error\", \"message\": ...}. Absent while the thread has not stopped.","type":"object","uniqueKey":"threads.items.[INDEX].stopReason","typeLabel":"object"}},"required":["rootSessionId","sessionPath","threadId","sessionId","agentId","threadPath","role","status","createdAt","updatedAt"],"type":"object","additionalProperties":false,"uniqueKey":"threads.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"threads","typeLabel":"object[]"},"nextEventId":{"description":"Cursor to pass as the starting point of the next event page. Present only when more events remain; absent on the last page.","type":"string","uniqueKey":"nextEventId","typeLabel":"string"}},"required":["rootSessionId","sessions","threads","events"],"type":"object","additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"events":[{"actor":"\u003cstring>","content":{"blocks":[{"type":"\u003cstring>","byteSize":0,"content":"\u003carray>","context":"\u003cstring>","data":"\u003cstring>","encryptedContent":"\u003cstring>","height":0,"id":"\u003cstring>","input":{},"isError":true,"mediaType":"\u003cstring>","name":"\u003cstring>","omittedBytes":0,"payload":true,"provider":"\u003cstring>","providerPayload":true,"redacted":true,"semanticHint":"\u003cstring>","sha256":"\u003cstring>","signature":"\u003cstring>","source":{"fileId":"\u003cstring>","type":"file"},"summary":"\u003carray>","text":"\u003cstring>","title":"\u003cstring>","toolUseId":"\u003cstring>","uri":"\u003cstring>","url":"\u003cstring>","urlExpiresAt":"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>"},"evaluationBudgetReached":{"affectedTargetSessionIds":["\u003cstring>"],"maxTreeCostUsd":"\u003cstring>"},"evaluationPlanFrozen":{"criteria":[{"criterionKey":"\u003cstring>","criterionText":"\u003cstring>"}],"maxConcurrentThreads":0,"targets":[{"snapshotEventId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","targetSessionId":"3c90c3cc-0d44-4b50-8888-8dd25736052a"}],"maxTreeCostUsd":"\u003cstring>"},"evaluationRunFinished":{"targetsBudgetReached":0,"targetsSkipped":0,"targetsTotal":0,"terminalStatus":"\u003cstring>","verdictsRecorded":0,"failureCode":"\u003cstring>","failureMessage":"\u003cstring>"},"evaluationTargetSkipped":{"reason":"\u003cstring>","reasonCode":"\u003cstring>","snapshotEventId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","targetSessionId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","childSessionId":"3c90c3cc-0d44-4b50-8888-8dd25736052a"},"evaluationTargetStarted":{"childSessionId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","cloneState":"\u003cstring>","evaluationId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","snapshotEventId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","targetSessionId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","sandboxProvider":"\u003cstring>"},"evaluationVerdictRecorded":{"childSessionId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","costCompleteness":"\u003cstring>","costUsd":"\u003cstring>","evaluationId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","failedCriterionKeys":["\u003cstring>"],"result":"\u003cstring>","snapshotEventId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","targetSessionId":"3c90c3cc-0d44-4b50-8888-8dd25736052a"},"metadata":{},"plan":[{"content":"\u003cstring>","id":"\u003cstring>","status":"\u003cstring>"}],"stopReason":"\u003cstring>","tools":[{"description":"\u003cstring>","inputSchema":{},"name":"\u003cstring>"}],"usage":{"cacheReadTokens":0,"cacheWriteTokens":0,"costUsd":123,"inputTokens":0,"outputTokens":0}},"createdAt":"2023-11-07T05:31:56Z","eventId":"\u003cstring>","eventType":"\u003cstring>","inferenceConfig":{"maxTokens":0,"providerParams":{},"reasoningEffort":"\u003cstring>","temperature":123,"topP":123},"schemaVersion":0,"sessionId":"\u003cstring>","agentId":"\u003cstring>","cacheReadTokens":0,"cacheWriteTokens":0,"causalEventId":"\u003cstring>","contentHydrationStatus":"hydrated","contentPayloadBytes":0,"contentPayloadRef":"\u003cstring>","contentPayloadSha256":"\u003cstring>","contentRef":"\u003cstring>","costMicros":0,"environmentId":"\u003cstring>","eventStatus":"\u003cstring>","finishReason":"\u003cstring>","inputTokens":0,"latencyMs":0,"model":{"model":"\u003cstring>","provider":"\u003cstring>","baseUrl":"\u003cstring>","capabilities":{},"contextWindow":0,"maxOutputTokens":0,"metadata":{},"modelRefId":"\u003cstring>","modelVersion":"\u003cstring>","providerId":"\u003cstring>","providerType":"\u003cstring>","servingBackend":"\u003cstring>"},"modelRefId":"\u003cstring>","organizationId":"\u003cstring>","outputTokens":0,"parentEventId":"\u003cstring>","promptTokens":0,"providerModelId":"\u003cstring>","providerRequestId":"\u003cstring>","providerType":"\u003cstring>","role":"\u003cstring>","sandboxInstanceId":"\u003cstring>","threadId":"\u003cstring>","toolName":"\u003cstring>","toolUseId":"\u003cstring>","turnId":"\u003cstring>"}],"rootSessionId":"\u003cstring>","sessions":[{"computerUse":true,"config":{},"createdAt":"2023-11-07T05:31:56Z","credentialRefs":[{"credentialId":"\u003cstring>","vaultId":"\u003cstring>"}],"credentialRefsConfigured":true,"kind":"api_call","organizationId":"\u003cstring>","rootSessionId":"\u003cstring>","sessionId":"\u003cstring>","sessionPath":"\u003cstring>","status":"active","updatedAt":"2023-11-07T05:31:56Z","accessPolicy":"platform_internal","activeHandoff":{"deadlineAt":"2023-11-07T05:31:56Z","handoffId":"\u003cstring>","reason":"\u003cstring>","requestedAt":"2023-11-07T05:31:56Z","state":"awaiting_user","accessExpiresAt":"2023-11-07T05:31:56Z","wakeCause":"\u003cstring>"},"agentId":"\u003cstring>","agentSnapshot":{},"agentVersionId":"\u003cstring>","budget":{"continuesOnRaise":true,"maxCostUsd":"10.00","agentCapUsd":"25.00","spentUsd":"4.20"},"concurrencySlotHeld":true,"costState":"final","costUsd":"1.234567","effectiveModel":"\u003cstring>","environmentId":"\u003cstring>","executionState":"provisioning","externalSourceId":"\u003cstring>","externalSourceType":"\u003cstring>","failure":{"at":"2023-11-07T05:31:56Z","category":"transient","code":"\u003cstring>","message":"\u003cstring>","phase":"\u003cstring>","retryable":true},"forkedAtEventId":"\u003cstring>","lastActivityAt":"2023-11-07T05:31:56Z","metadata":{},"modelRefId":"\u003cstring>","modelSnapshot":{},"parentSessionId":"\u003cstring>","projectId":"\u003cstring>","sandboxInstanceId":"\u003cstring>","sandboxProvider":"\u003cstring>","sourceRefs":{},"stopReason":"\u003cstring>","userId":"\u003cstring>","vaultIds":["\u003cstring>"],"wakeAt":"2023-11-07T05:31:56Z"}],"threads":[{"agentId":"\u003cstring>","createdAt":"2023-11-07T05:31:56Z","role":"\u003cstring>","rootSessionId":"\u003cstring>","sessionId":"\u003cstring>","sessionPath":"\u003cstring>","status":"\u003cstring>","threadId":"\u003cstring>","threadPath":"\u003cstring>","updatedAt":"2023-11-07T05:31:56Z","agentVersionId":"\u003cstring>","archivedAt":"2023-11-07T05:31:56Z","name":"\u003cstring>","parentSessionId":"\u003cstring>","parentThreadId":"\u003cstring>","stopReason":{}}],"nextEventId":"\u003cstring>"}}},"exampleType":"generated"}},"description":"OK","headers":{"recursion-organization-id":{"description":"Organization id resolved for this request.","schema":{"minLength":1,"type":"string"}},"recursion-tenant-id":{"description":"Tenant id resolved for this request.","schema":{"minLength":1,"type":"string"}}},"exampleType":"generated"},"27d9fead-d09b-4bb7-b7bf-3f8858a0657e":{"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":{"minLength":1,"type":"string"}},"recursion-tenant-id":{"description":"Tenant id resolved for this request.","schema":{"minLength":1,"type":"string"}}},"exampleType":"generated"},"d7e52113-bea2-41a4-9d58-a8995516ae2b":{"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":{"minLength":1,"type":"string"}},"recursion-tenant-id":{"description":"Tenant id resolved for this request.","schema":{"minLength":1,"type":"string"}}},"exampleType":"generated"},"77fe5bf9-b5ec-4cb4-9b4d-f33c3f7328c9":{"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":{"minLength":1,"type":"string"}},"recursion-tenant-id":{"description":"Tenant id resolved for this request.","schema":{"minLength":1,"type":"string"}}},"exampleType":"generated"},"71c4fe6c-4324-4fce-bac5-73cc80c14983":{"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":{"minLength":1,"type":"string"}},"recursion-tenant-id":{"description":"Tenant id resolved for this request.","schema":{"minLength":1,"type":"string"}}},"exampleType":"generated"},"96329d49-2b73-4f3c-b19b-9f3c4b3d9556":{"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":{"minLength":1,"type":"string"}},"recursion-tenant-id":{"description":"Tenant id resolved for this request.","schema":{"minLength":1,"type":"string"}}},"exampleType":"generated"},"823441ee-1c5d-4a65-801b-3042534c59b0":{"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":{"minLength":1,"type":"string"}},"recursion-tenant-id":{"description":"Tenant id resolved for this request.","schema":{"minLength":1,"type":"string"}}},"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"},"64b9ab4b-2be8-4fe2-96a9-732a699b68fb":{"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":{"minLength":1,"type":"string"}},"recursion-tenant-id":{"description":"Tenant id resolved for this request.","schema":{"minLength":1,"type":"string"}}},"exampleType":"generated"},"96e914ed-b7d7-4af6-b45e-801f14ef7697":{"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":{"minLength":1,"type":"string"}},"recursion-tenant-id":{"description":"Tenant id resolved for this request.","schema":{"minLength":1,"type":"string"}}},"exampleType":"generated"},"11e529ea-a787-4f52-9c84-0a13c3a9e95d":{"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":{"minLength":1,"type":"string"}},"recursion-tenant-id":{"description":"Tenant id resolved for this request.","schema":{"minLength":1,"type":"string"}}},"exampleType":"generated"},"d829879b-422b-4ede-8d47-69ea450c7155":{"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":{"minLength":1,"type":"string"}},"recursion-tenant-id":{"description":"Tenant id resolved for this request.","schema":{"minLength":1,"type":"string"}}},"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":{"9e9591db-faef-4169-ab9a-da9008222f65":{"bearerAuth":{"type":"http","scheme":"bearer","description":"A Recursion API key, created in the console under API keys.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"e4ce98e2-9509-44a7-b4db-5452701b54d6":{"url":"https://api.recursion.labelbox.com"}},"schemas":{"c52a5675-77d6-4844-940d-9268fcc70585":{"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},"byteSize":{"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":"c52a5675-77d6-4844-940d-9268fcc70585"},"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"},"encryptedContent":{"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"},"isError":{"description":"True when a tool_result reports that the tool call failed; the nested content then carries the error detail.","type":"boolean"},"mediaType":{"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"},"omittedBytes":{"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. Passed through unchanged."},{"type":"boolean","description":"Provider-native block body, stored verbatim for block types this schema does not model. Passed through unchanged."},{"type":"string","description":"Provider-native block body, stored verbatim for block types this schema does not model. Passed through unchanged."},{"type":"integer","description":"Provider-native block body, stored verbatim for block types this schema does not model. Passed through unchanged.","maximum":9007199254740991,"minimum":-9007199254740991},{"type":"number","description":"Provider-native block body, stored verbatim for block types this schema does not model. Passed through unchanged."},{"type":"array","items":{"oneOf":[{}]},"description":"Provider-native block body, stored verbatim for block types this schema does not model. Passed through unchanged."},{"type":"object","description":"Provider-native block body, stored verbatim for block types this schema does not model. Passed through unchanged."}]},"provider":{"description":"Provider that emitted a passthrough block, e.g. anthropic or openai, telling readers how to interpret payload.","type":"string"},"providerPayload":{"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"},"semanticHint":{"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":{"properties":{"fileId":{"description":"The file whose bytes the block carries, from the caller's organization, unexpired.","type":"string","isRequired":true},"type":{"description":"Always file.","enum":["file"],"type":"string","isRequired":true}},"required":["type","fileId"],"type":"object","additionalProperties":false,"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."},"summary":{"description":"Readable summary blocks a provider returns alongside sealed or long-form reasoning.","items":{"$circularRef":"c52a5675-77d6-4844-940d-9268fcc70585"},"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"},"toolUseId":{"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 imageUrls=signed and the deployment has signing configured. Never stored; fetch a fresh read after urlExpiresAt.","type":"string"},"urlExpiresAt":{"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 session tree and timeline - Labelbox","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-10T22:13:42.302Z","originalFileLocation":"api-reference/sessions/get-root-session-tree-and-timeline-1.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 every session in the root session\u0026#x27;s tree, its threads, and the first bounded page of the merged chronological event log. When nextEventId is set, more events remain and should be fetched with managedAgentsListSessionEvents rather than by re-reading the tree. Any session id in the tree is accepted; the read resolves to its root.\">\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 session tree and timeline - Labelbox\">\u003cmeta data-mint-head property=\"og:description\" content=\"Returns every session in the root session\u0026#x27;s tree, its threads, and the first bounded page of the merged chronological event log. When nextEventId is set, more events remain and should be fetched with managedAgentsListSessionEvents rather than by re-reading the tree. Any session id in the tree is accepted; the read resolves to its root.\">\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-session-tree-and-timeline-1\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://labelbox-1db23ff4.mintlify.site/_mintlify/api/og/v2?division=Sessions\u0026amp;title=Get+root+session+tree+and+timeline\u0026amp;description=Returns+every+session+in+the+root+session%27s+tree%2C+its+threads%2C+and+the+first+bounded+page+of+the+merged+chronological+event+log.+When+nextEventId+is+set%2C+more+e\u0026amp;theme=b1d44b9999769e15b161dbaa\u0026amp;signature=06dc86117092b0a0edce2c92141776880a4d444d39980d989be6fd7dd13508e9\">\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 session tree and timeline - Labelbox\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Returns every session in the root session\u0026#x27;s tree, its threads, and the first bounded page of the merged chronological event log. When nextEventId is set, more events remain and should be fetched with managedAgentsListSessionEvents rather than by re-reading the tree. Any session id in the tree is accepted; the read resolves to its root.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://labelbox-1db23ff4.mintlify.site/_mintlify/api/og/v2?division=Sessions\u0026amp;title=Get+root+session+tree+and+timeline\u0026amp;description=Returns+every+session+in+the+root+session%27s+tree%2C+its+threads%2C+and+the+first+bounded+page+of+the+merged+chronological+event+log.+When+nextEventId+is+set%2C+more+e\u0026amp;theme=b1d44b9999769e15b161dbaa\u0026amp;signature=06dc86117092b0a0edce2c92141776880a4d444d39980d989be6fd7dd13508e9\">\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-session-tree-and-timeline-1\">\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-session-tree-and-timeline-1.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-session-tree-and-timeline-1#webpage\",\"url\":\"https://docs.labelbox.com/api-reference/sessions/get-root-session-tree-and-timeline-1\",\"name\":\"Get root session tree and timeline\",\"description\":\"Returns every session in the root session's tree, its threads, and the first bounded page of the merged chronological event log. When nextEventId is set, more events remain and should be fetched with managedAgentsListSessionEvents rather than by re-reading the tree. Any session id in the tree is accepted; the read resolves to its root.\",\"dateModified\":\"2026-11-10T22:13:42.302Z\",\"isPartOf\":{\"@id\":\"https://docs.labelbox.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.labelbox.com/api-reference/sessions/get-root-session-tree-and-timeline-1#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.labelbox.com/api-reference/sessions/get-root-session-tree-and-timeline-1#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 session tree and timeline\",\"item\":\"https://docs.labelbox.com/api-reference/sessions/get-root-session-tree-and-timeline-1\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.labelbox.com/api-reference/sessions/get-root-session-tree-and-timeline-1#apireference\",\"headline\":\"Get root session tree and timeline\",\"name\":\"Get root session tree and timeline\",\"description\":\"Returns every session in the root session's tree, its threads, and the first bounded page of the merged chronological event log. When nextEventId is set, more events remain and should be fetched with managedAgentsListSessionEvents rather than by re-reading the tree. Any session id in the tree is accepted; the read resolves to its root.\",\"url\":\"https://docs.labelbox.com/api-reference/sessions/get-root-session-tree-and-timeline-1\",\"mainEntityOfPage\":{\"@id\":\"https://docs.labelbox.com/api-reference/sessions/get-root-session-tree-and-timeline-1#webpage\"},\"dateModified\":\"2026-11-10T22:13:42.302Z\",\"publisher\":{\"@id\":\"https://docs.labelbox.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.labelbox.com#website\"}}]}\u003c/script>","agentPointerHref":"/api-reference/sessions/get-root-session-tree-and-timeline-1.md","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":true,"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":true,"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":true,"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":true,"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":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/skills/{skillId}","href":"/api-reference/skills/get-one-skill"},{"title":"Soft delete skill","deprecated":true,"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":true,"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":true,"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":true,"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":true,"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":true,"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":true,"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":true,"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":true,"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":true,"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":true,"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":true,"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":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/skill-groups/{skillGroupId}/skills","href":"/api-reference/skills/list-the-skills-in-a-group"},{"title":"List skills","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/skills","href":"/api-reference/skills/list-skills-1"},{"title":"Create a skill from a document","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v2/skills","href":"/api-reference/skills/create-a-skill-from-a-document-1"},{"title":"Publish a skill from a bundle upload","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v2/skills/upload","href":"/api-reference/skills/publish-a-skill-from-a-bundle-upload-1"},{"title":"Preview what a skill set costs the prompt","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v2/skills/disclosure-preview","href":"/api-reference/skills/preview-what-a-skill-set-costs-the-prompt-1"},{"title":"Get one skill","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/skills/{skillId}","href":"/api-reference/skills/get-one-skill-1"},{"title":"Soft delete skill","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml delete /managed-agents/v2/skills/{skillId}","href":"/api-reference/skills/soft-delete-skill-1"},{"title":"Refile a skill into a catalog group","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml patch /managed-agents/v2/skills/{skillId}","href":"/api-reference/skills/refile-a-skill-into-a-catalog-group-1"},{"title":"List a skill's immutable version history","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/skills/{skillId}/versions","href":"/api-reference/skills/list-a-skills-immutable-version-history-1"},{"title":"Publish a skill version from a document","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v2/skills/{skillId}/versions","href":"/api-reference/skills/publish-a-skill-version-from-a-document-1"},{"title":"Publish a skill version from a bundle upload","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v2/skills/{skillId}/versions/upload","href":"/api-reference/skills/publish-a-skill-version-from-a-bundle-upload-1"},{"title":"Get one immutable skill version","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/skills/{skillId}/versions/{skillVersionId}","href":"/api-reference/skills/get-one-immutable-skill-version-1"},{"title":"Download a skill version's bundle","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/skills/{skillId}/versions/{skillVersionId}/content","href":"/api-reference/skills/download-a-skill-versions-bundle-1"},{"title":"List skill groups","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/skill-groups","href":"/api-reference/skills/list-skill-groups-1"},{"title":"Create a skill group","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v2/skill-groups","href":"/api-reference/skills/create-a-skill-group-1"},{"title":"Get one skill group","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/skill-groups/{skillGroupId}","href":"/api-reference/skills/get-one-skill-group-1"},{"title":"Delete a skill group","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml delete /managed-agents/v2/skill-groups/{skillGroupId}","href":"/api-reference/skills/delete-a-skill-group-1"},{"title":"Update a skill group","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml patch /managed-agents/v2/skill-groups/{skillGroupId}","href":"/api-reference/skills/update-a-skill-group-1"},{"title":"List the skills in a group","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/skill-groups/{skillGroupId}/skills","href":"/api-reference/skills/list-the-skills-in-a-group-1"}]},{"group":"Sessions","pages":[{"title":"List sessions","deprecated":true,"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":"List sessions","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/sessions","href":"/api-reference/sessions/list-sessions-1"},{"title":"Snapshot every root session created in a window","deprecated":true,"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":"Snapshot every root session created in a window","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/sessions/gestalt","href":"/api-reference/sessions/snapshot-every-root-session-created-in-a-window-1"},{"title":"Stream changes to the sessions gestalt as Server-Sent Events","deprecated":true,"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":"Stream changes to the sessions gestalt as Server-Sent Events","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/sessions/gestalt/stream","href":"/api-reference/sessions/stream-changes-to-the-sessions-gestalt-as-server-sent-events-1"},{"title":"Roll up token and cost totals for a batch of sessions","deprecated":true,"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":"Roll up token and cost totals for a batch of sessions","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/sessions/usage","href":"/api-reference/sessions/roll-up-token-and-cost-totals-for-a-batch-of-sessions-1"},{"title":"List the caller-defined metadata keys sessions carry","deprecated":true,"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 caller-defined metadata keys sessions carry","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/sessions/metadata-keys","href":"/api-reference/sessions/list-the-caller-defined-metadata-keys-sessions-carry-1"},{"title":"List the values one caller-defined metadata key takes","deprecated":true,"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":"List the values one caller-defined metadata key takes","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/sessions/metadata-values","href":"/api-reference/sessions/list-the-values-one-caller-defined-metadata-key-takes-1"},{"title":"Get session","deprecated":true,"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":"Get session","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/sessions/{sessionId}","href":"/api-reference/sessions/get-session-1"},{"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":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/{sessionId}/board","href":"/api-reference/sessions/get-the-team-board"},{"title":"Get the team board","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/sessions/{sessionId}/board","href":"/api-reference/sessions/get-the-team-board-1"},{"title":"Read sandbox CPU, memory, and GPU usage for a session tree","deprecated":true,"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":"Read sandbox CPU, memory, and GPU usage for a session tree","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/sessions/{sessionId}/resource-samples","href":"/api-reference/sessions/read-sandbox-cpu-memory-and-gpu-usage-for-a-session-tree-1"},{"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","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","description":"Returns every session in the root session's tree, its threads, and the first bounded page of the merged chronological event log. When next_event_id is set, more events remain and should be fetched with managedAgentsListSessionEvents rather than by re-reading the tree. Any session id in the tree is accepted; the read resolves to its root.","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/{sessionId}/tree","href":"/api-reference/sessions/get-root-session-tree-and-timeline"},{"title":"Get root session tree and timeline","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/sessions/{sessionId}/tree","href":"/api-reference/sessions/get-root-session-tree-and-timeline-1"},{"title":"List session threads","description":"Returns every thread in the session's tree, including one synthesized thread per session that has no explicit thread rows, sorted by thread path. Any session id in the tree is accepted; the read resolves to its root.","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/{sessionId}/threads","href":"/api-reference/sessions/list-session-threads"},{"title":"List session threads","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/sessions/{sessionId}/threads","href":"/api-reference/sessions/list-session-threads-1"},{"title":"Get session thread","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/{sessionId}/threads/{threadId}","href":"/api-reference/sessions/get-session-thread"},{"title":"Get session thread","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/sessions/{sessionId}/threads/{threadId}","href":"/api-reference/sessions/get-session-thread-1"},{"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":"Resume a paused session","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/sessions/{sessionId}/resume","href":"/api-reference/sessions/resume-a-paused-session"},{"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":"Evaluations","pages":[{"title":"List immutable evaluation verdicts","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/evaluations","href":"/api-reference/evaluations/list-immutable-evaluation-verdicts"},{"title":"Start one evaluation session per target","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/evaluations","href":"/api-reference/evaluations/start-one-evaluation-session-per-target"},{"title":"List evaluation runs","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/evaluation-runs","href":"/api-reference/evaluations/list-evaluation-runs"}]},{"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"},{"title":"Get enabled Slack user groups for a trigger sender filter","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/integrations/connections/{connectionId}/user-group-catalog","href":"/api-reference/integrations/get-enabled-slack-user-groups-for-a-trigger-sender-filter"}]},{"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 session tree and timeline - Labelbox","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C9Wu0MeN.js","utils-jWgu-6Qf.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DBD8f9qn.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BGuX1ui5.js","snippetPresets-Evy63nQB.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BQHO1lnV.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-B6C8m-t_.js","shallow-BG4cT0fH.js","getApiPlaygroundDisplay-CgEPrE-D.js","CodeSnippet-CU8JyZ9N.js","CodeSnippets-BnxHU32T.js","Page-D6S0Yh6q.js","getPastedJson-CwiYOonh.js","icon-DYDpWmDf.js","MethodPill-C-J-l7_c.js","DuplicateIcon-B6ARwg9w.js","createIcon-Dsv4MtDq.js","DynamicMarkdown-CtasenyM.js","SectionHeading-YNcgYwjB.js","axios-vUo_bRtp.js","Markdown-CwLx6PAg.js","clsx-C3kuh_dz.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CmKHfscc.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-U3mI6Ljh.js"]}