Returns every environment in the calling organization with its full sandbox spec (provider, image, setup, resources, network policy). Soft-deleted environments are omitted, and the response is not paginated.
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.
Minimum string length: 1
Response
Response body of GET /managed-agents/v1/environments. An environment is the sandbox recipe a session runs inside; pick an environment_id from here when starting a session with POST /managed-agents/v1/sessions.
Response body of GET /managed-agents/v1/environments. An environment is the sandbox recipe a session runs inside; pick an environment_id from here when starting a session with POST /managed-agents/v1/sessions.
Every environment in the caller's organization, newest first. Null rather than an empty array when the organization has no environments. Soft-deleted environments are omitted.
Show child attributes
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Labelbox","description":"Documentation for Recursion Managed Agents and the Labelbox platform.","colors":{"primary":"#36707F","light":"#7EB3C1","dark":"#274E58"},"logo":{"light":"https://mintcdn.com/labelbox-1db23ff4/badqlfNjN52ySAbU/logo/light.svg?fit=max\u0026auto=format\u0026n=badqlfNjN52ySAbU\u0026q=85\u0026s=2e7592619836dadfb7384597f9e48bec","dark":"https://mintcdn.com/labelbox-1db23ff4/badqlfNjN52ySAbU/logo/dark.svg?fit=max\u0026auto=format\u0026n=badqlfNjN52ySAbU\u0026q=85\u0026s=080727ffefbdc01f5e275a0f13cdd5c2","href":"/"},"favicon":"https://mintcdn.com/labelbox-1db23ff4/badqlfNjN52ySAbU/favicon.svg?fit=max\u0026auto=format\u0026n=badqlfNjN52ySAbU\u0026q=85\u0026s=35e9a808129eb1b044e5cc202e88eaa7","appearance":{"default":"light"},"background":{"color":{"light":"#FFFDF8","dark":"#202020"}},"navbar":{"primary":{"type":"button","label":"Open console","href":"https://recursion.labelbox.com"}},"footer":{"socials":{"github":"https://github.com/Labelbox","linkedin":"https://www.linkedin.com/company/labelbox"},"links":[{"header":"Products","items":[{"label":"Recursion","href":"/recursion"},{"label":"Horizon","href":"/horizon"}]},{"header":"Resources","items":[{"label":"Release notes","href":"/horizon/release-notes"},{"label":"Status","href":"https://status.labelbox.com"},{"label":"Blog","href":"https://labelbox.com/blog"}]},{"header":"Company","items":[{"label":"labelbox.com","href":"https://labelbox.com"},{"label":"Contact sales","href":"https://labelbox.com/sales"}]}]},"fonts":{"heading":{"family":"The Future","source":"https://labelbox.com/static/fonts/The-future/the-future-regular.woff2","format":"woff2"},"body":{"family":"IBM Plex Sans"}},"styling":{"eyebrows":"section","codeblocks":{"theme":"css-variables"},"latex":true},"integrations":{"amplitude":{"apiKey":"b375bb454cbc0ba0b780648b3f4ddc18"}},"contextual":{"options":["copy","view","chatgpt","claude","cursor","mcp"],"display":"header"},"variables":{"recursion-api-base":"https://api.recursion.labelbox.com","recursion-console-url":"https://recursion.labelbox.com","recursion-docs-mcp-url":"https://docs.labelbox.com/mcp","recursion-mcp-url":"https://api.recursion.labelbox.com/mcp"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"labelbox-1db23ff4","hasAudioNarration":false,"actualSubdomain":"labelbox-1db23ff4","customDomains":["docs.labelbox.com"],"gitSource":{"_id":"6ad7fa91692c7c940ff17a10","type":"github","owner":"labelbox","repo":"lbx-docs-mintlify","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":"","isBase":true},"chroma":{"liveDeploymentHistoryId":"6aecd3e730a4ea6eb88592c0","collectionId":"8affedcc-349a-429b-a0ff-b4ebd6d0eed7","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aecd3e730a4ea6eb88592c0"},"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":"6aed20c6d7dfe626cdf4ba4f","clientVersion":"0.0.4071","searchFilterCounts":[{"language":"default","tag":"Recursion","count":222},{"language":"default","tag":"API reference","count":192},{"language":"default","tag":"Horizon","count":179},{"language":"default","tag":"Endpoints","count":178},{"language":"default","tag":"Guides","count":130},{"language":"default","tag":"Developer guides","count":83},{"language":"default","tag":"Import/Export","count":43},{"language":"default","tag":"Label data","count":35},{"language":"default","tag":"Sessions","count":35},{"language":"default","tag":"Environments","count":24}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","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/environments/list-environments","slug":"/api-reference/environments/list-environments","pageMetadata":{"title":"List environments","description":"Returns every environment in the calling organization with its full sandbox spec (provider, image, setup, resources, network policy). Soft-deleted environments are omitted, and the response is not paginated.","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/environments","href":"/api-reference/environments/list-environments","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 environment in the calling organization with its full sandbox spec (provider, image, setup, resources, network policy). Soft-deleted environments are omitted, and the response is not paginated.\"\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":"List environments","description":"Returns every environment in the calling organization with its full sandbox spec (provider, image, setup, resources, network policy). Soft-deleted environments are omitted, and the response is not paginated.","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/environments","href":"/api-reference/environments/list-environments","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/labelbox-1db23ff4/9ed4bd14b1b0eec8/navbar.js"],"openApiReferenceData":{"operation":{"tags":["Environments"],"summary":"List environments","description":"Returns every environment in the calling organization with its full sandbox spec (provider, image, setup, resources, network policy). Soft-deleted environments are omitted, and the response is not paginated.","operationId":"managedAgentsListEnvironments","parameters":["68ed24e1-d79e-48e0-b088-ce0e0443791e","1de5ca13-6794-41eb-b7f7-363d542be792"],"responses":{"200":"91858657-4e03-4375-8008-5fef463b1555","400":"d99ac4d1-5d05-41ba-bc3c-2280ba3463e6","401":"7bd667e3-c943-4cfd-8a08-944b6a3a0346","403":"37b9f03e-c6a6-4f72-a4fa-1ca34b5c30fd","404":"878d4d35-208c-466d-a223-0491a43ef0af","413":"729b1534-4e67-48db-8bae-7bf368d1a662","429":"1c7b02fb-1581-483b-a24c-30a72e3f0310","500":"7fcd3478-4e66-4f5a-8ce6-842736547978","502":"43dc41b3-9971-4d05-ae00-a3304229f2d0","503":"52f5e61b-78b7-4871-8c73-291e83ca98fb","504":"b7004d47-633d-42cc-9d16-db48fee93032"},"deprecated":true,"method":"get","type":"path","servers":["6c6bb08e-6a29-477e-8c8e-c4454591f1de"],"security":["cb4d6de2-506d-4cc1-8e51-97cb09c2af24"],"path":"/managed-agents/v1/environments","baseUrlOptions":["https://api.recursion.labelbox.com"],"title":"List environments","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"68ed24e1-d79e-48e0-b088-ce0e0443791e":{"name":"x-tenant-id","in":"header","required":false,"description":"Optional tenant consistency check. When present, it must name the tenant bound to the API key, including when x-organization-id is `default`.","schema":{"type":"string","minLength":1,"isRequired":false,"description":"Optional tenant consistency check. When present, it must name the tenant bound to the API key, including when x-organization-id is `default`.","uniqueKey":"","typeLabel":"string"}},"1de5ca13-6794-41eb-b7f7-363d542be792":{"name":"x-organization-id","in":"header","required":false,"description":"Organization in which to act. Required for a tenant-scoped API key. Optional for an organization-scoped key, where it must name that same organization. The value may be an organization id or `default`.","schema":{"type":"string","minLength":1,"isRequired":false,"description":"Organization in which to act. Required for a tenant-scoped API key. Optional for an organization-scoped key, where it must name that same organization. The value may be an organization id or `default`.","uniqueKey":"","typeLabel":"string"}}},"responses":{"91858657-4e03-4375-8008-5fef463b1555":{"content":{"application/json":{"schema":{"description":"Response body of GET /managed-agents/v1/environments. An environment is the sandbox recipe a session runs inside; pick an environment_id from here when starting a session with POST /managed-agents/v1/sessions.","properties":{"environments":{"oneOf":[{"description":"Every environment in the caller's organization, newest first. Null rather than an empty array when the organization has no environments. Soft-deleted environments are omitted.","items":{"description":"A sandbox environment a session executes in: its provider, resources, mounts, setup steps and idle/delete lifecycle. Created and started independently of any session.","properties":{"computer_use":{"description":"Whether this environment boots the shared interactive Chromium display used by the computer and human-handoff tools. The server projects this to http_port 6901.","type":"boolean","isRequired":true,"uniqueKey":"environments.oneOf.0.items.[INDEX].computer_use","typeLabel":"boolean"},"created_at":{"description":"Server-assigned RFC 3339 timestamp of when the environment was created.","format":"date-time","readOnly":true,"type":"string","isRequired":true,"uniqueKey":"environments.oneOf.0.items.[INDEX].created_at","typeLabel":"string\u003cdate-time>"},"environment_id":{"description":"Server-assigned id of the environment; pass it when starting a session that should run in this sandbox.","readOnly":true,"type":"string","isRequired":true,"uniqueKey":"environments.oneOf.0.items.[INDEX].environment_id","typeLabel":"string"},"name":{"description":"Human-readable label shown wherever environments are listed.","type":"string","isRequired":true,"uniqueKey":"environments.oneOf.0.items.[INDEX].name","typeLabel":"string"},"organization_id":{"description":"Organization that owns the environment. Server-assigned from the caller's credentials.","readOnly":true,"type":"string","isRequired":true,"uniqueKey":"environments.oneOf.0.items.[INDEX].organization_id","typeLabel":"string"},"provider":{"description":"Sandbox runtime that executes the session, chosen from the sandbox providers catalog.","type":"string","isRequired":true,"uniqueKey":"environments.oneOf.0.items.[INDEX].provider","typeLabel":"string"},"resources":{"additionalProperties":false,"description":"Caller-sized CPU and memory for CPU environments, or one exclusive accelerator with service-owned limits of 8,000 millicores (8 vCPU) and 32,768 MiB (32 GiB) of memory for GPU environments, plus lifetime and placement constraints.","properties":{"accelerator":{"additionalProperties":false,"description":"Exclusive GPU to attach to the sandbox compute. Omit for CPU-only. When set, the service applies limits of 8,000 millicores (8 vCPU) and 32,768 MiB (32 GiB) of memory, and cpu_milli and memory_mib must be omitted.","properties":{"count":{"description":"How many accelerators to attach. Defaults to 1; every offering currently carries one.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"environments.oneOf.0.items.[INDEX].resources.accelerator.count","typeLabel":"integer\u003cint64>"},"name":{"description":"Accelerator model, lower-case and provider-neutral, e.g. a100. Must name a model in this deployment's configured accelerator_catalog. Live compute offerings enrich that catalog but never remove configured choices.","type":"string","uniqueKey":"environments.oneOf.0.items.[INDEX].resources.accelerator.name","typeLabel":"string"},"type":{"description":"Accelerator class to attach. Only gpu is accepted.","type":"string","uniqueKey":"environments.oneOf.0.items.[INDEX].resources.accelerator.type","typeLabel":"string"}},"type":"object","uniqueKey":"environments.oneOf.0.items.[INDEX].resources.accelerator","typeLabel":"object"},"cpu_milli":{"description":"CPU request in millicores, so 1000 is one vCPU; 0 uses the provider default. CPU-only environments; must be omitted with an accelerator because the GPU sandbox CPU limit is service-owned.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"environments.oneOf.0.items.[INDEX].resources.cpu_milli","typeLabel":"integer\u003cint64>"},"memory_mib":{"description":"Memory request in MiB; 0 uses the provider default. CPU-only environments; must be omitted with an accelerator because the GPU sandbox memory limit is service-owned.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"environments.oneOf.0.items.[INDEX].resources.memory_mib","typeLabel":"integer\u003cint64>"},"placement":{"additionalProperties":false,"description":"Optional compute provider selection; regions, VRAM floors, spot capacity, and price limits are not supported. Without an egress policy, omission permits any configured provider. A nonempty network_policy works only with a provider that can enforce it; when placement is omitted, the runtime selects one without saving a placement constraint.","properties":{"allow_spot":{"description":"Spot capacity is not supported and must be false when sent.","type":"boolean","uniqueKey":"environments.oneOf.0.items.[INDEX].resources.placement.allow_spot","typeLabel":"boolean"},"max_price_per_hour_usd":{"description":"Caller-supplied price limits are not supported and must be zero when sent.","format":"double","type":"number","uniqueKey":"environments.oneOf.0.items.[INDEX].resources.placement.max_price_per_hour_usd","typeLabel":"number\u003cdouble>"},"min_accelerator_vram_gb":{"description":"Caller-supplied VRAM floors are not supported and must be zero when sent.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"environments.oneOf.0.items.[INDEX].resources.placement.min_accelerator_vram_gb","typeLabel":"integer\u003cint64>"},"providers":{"description":"Select exactly one provider, gke or nebius, when placement is present. Omit placement to let the system choose. Limited internet access is available only with gke.","items":{"type":"string","uniqueKey":"environments.oneOf.0.items.[INDEX].resources.placement.providers.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"environments.oneOf.0.items.[INDEX].resources.placement.providers","typeLabel":"string[]"},"regions":{"description":"Region constraints are not supported and this array must be empty when sent.","items":{"type":"string","uniqueKey":"environments.oneOf.0.items.[INDEX].resources.placement.regions.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"environments.oneOf.0.items.[INDEX].resources.placement.regions","typeLabel":"string[]"}},"type":"object","uniqueKey":"environments.oneOf.0.items.[INDEX].resources.placement","typeLabel":"object"},"timeout_seconds":{"description":"Maximum sandbox lifetime in seconds before the provider tears it down; 0 uses the provider default.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"environments.oneOf.0.items.[INDEX].resources.timeout_seconds","typeLabel":"integer\u003cint64>"}},"type":"object","isRequired":true,"uniqueKey":"environments.oneOf.0.items.[INDEX].resources","typeLabel":"object"},"scope":{"description":"Who may use the environment. Defaults to organization, meaning it is shared across the owning organization.","type":"string","isRequired":true,"uniqueKey":"environments.oneOf.0.items.[INDEX].scope","typeLabel":"string"},"setup":{"additionalProperties":false,"description":"Setup script run after the sandbox is provisioned and before the agent starts.","properties":{"script":{"description":"Bash script run after the sandbox is provisioned and before the agent starts. Runs sessions boot from a captured setup image; when the runner changes, the platform runs this script on dedicated setup compute and captures a new image before provisioning the session. Executed as a separate login shell with set -eo pipefail, so the first failing line fails the run and is reported by line number; exports and activation do not persist into agent commands. Managed images automatically select a /workspace/.venv created here: install through its explicit interpreter and preserve the existing PATH. Do not wrap lines in bash -lc; the script already runs under bash. Empty means no setup. At most 64 KiB.","type":"string","uniqueKey":"environments.oneOf.0.items.[INDEX].setup.script","typeLabel":"string"},"timeout_seconds":{"description":"Wall-clock bound in seconds on the whole script; 0 uses the default of 600. Between 10 and 3600 when set. A run that exceeds it fails with exit code 124.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"environments.oneOf.0.items.[INDEX].setup.timeout_seconds","typeLabel":"integer\u003cint64>"}},"type":"object","isRequired":true,"uniqueKey":"environments.oneOf.0.items.[INDEX].setup","typeLabel":"object"},"updated_at":{"description":"Server-assigned RFC 3339 timestamp of the most recent update to the environment.","format":"date-time","readOnly":true,"type":"string","isRequired":true,"uniqueKey":"environments.oneOf.0.items.[INDEX].updated_at","typeLabel":"string\u003cdate-time>"},"config":{"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"environments.oneOf.0.items.[INDEX].config.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":"environments.oneOf.0.items.[INDEX].config.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":"environments.oneOf.0.items.[INDEX].config.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":"environments.oneOf.0.items.[INDEX].config.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":"environments.oneOf.0.items.[INDEX].config.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"environments.oneOf.0.items.[INDEX].config.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":"environments.oneOf.0.items.[INDEX].config.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":"environments.oneOf.0.items.[INDEX].config.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"environments.oneOf.0.items.[INDEX].config.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Free-form values stored with the environment and returned on reads. They don't change what its sandbox can run or reach, but changing them makes a verified setup stale, so run setup again before starting sessions.","type":"object","uniqueKey":"environments.oneOf.0.items.[INDEX].config","typeLabel":"object"},"description":{"description":"Free-text note about what this environment provides.","type":"string","uniqueKey":"environments.oneOf.0.items.[INDEX].description","typeLabel":"string"},"env_vars":{"additionalProperties":{"type":"string","uniqueKey":"environments.oneOf.0.items.[INDEX].env_vars.additionalProperties","typeLabel":"string"},"description":"Plaintext environment variables exported in the sandbox. They become the whole container environment, including the runner entrypoint's, so PATH is refused (env_vars.PATH): managed images select /workspace/.venv themselves. A Runs session using one-time setup after its runner changes also refuses startup-hook names such as BASH_ENV, HOME, PYTHONPATH, and LD_PRELOAD; re-test to capture a compatible image instead. Never put secrets here; store them as vault credentials instead. On update, omit to keep the current variables; send {} to clear them.","type":"object","uniqueKey":"environments.oneOf.0.items.[INDEX].env_vars","typeLabel":"object"},"http_port":{"description":"Port inside the sandbox to expose over HTTP for services the agent starts; 0 exposes nothing.","format":"int64","minimum":0,"type":"integer","maximum":9007199254740991,"uniqueKey":"environments.oneOf.0.items.[INDEX].http_port","typeLabel":"integer\u003cint64>"},"idle_stop_after_seconds":{"description":"Seconds of inactivity after which a running sandbox is stopped, from 120 to 7200 (2 hours); 0 uses the provider default. A computer-enabled environment requires 0 or at least 600 seconds so its five-minute handoff heartbeat arrives before idle-stop.","format":"int64","minimum":0,"type":"integer","maximum":9007199254740991,"uniqueKey":"environments.oneOf.0.items.[INDEX].idle_stop_after_seconds","typeLabel":"integer\u003cint64>"},"image":{"description":"Container image the sandbox boots. Set by the platform: new environments use the default runner image. Customize the sandbox itself with setup.script.","type":"string","readOnly":true,"uniqueKey":"environments.oneOf.0.items.[INDEX].image","typeLabel":"string"},"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":"environments.oneOf.0.items.[INDEX].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":"environments.oneOf.0.items.[INDEX].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":"environments.oneOf.0.items.[INDEX].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":"environments.oneOf.0.items.[INDEX].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":"environments.oneOf.0.items.[INDEX].metadata.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"environments.oneOf.0.items.[INDEX].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":"environments.oneOf.0.items.[INDEX].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":"environments.oneOf.0.items.[INDEX].metadata.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"environments.oneOf.0.items.[INDEX].metadata.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Caller-owned key/value data stored with the environment and returned unchanged.","type":"object","uniqueKey":"environments.oneOf.0.items.[INDEX].metadata","typeLabel":"object"},"mounts":{"description":"Files or objects staged into the sandbox workspace when it is created. On update, omit to keep the current mounts; send [] to clear them.","items":{"additionalProperties":false,"description":"One file or object staged into the sandbox workspace when it is created. Use mounts to give an agent input data it should find already on disk at the first turn.","properties":{"mount_path":{"description":"Absolute path inside the sandbox workspace where the source is placed.","type":"string","uniqueKey":"environments.oneOf.0.items.[INDEX].mounts.items.[INDEX].mount_path","typeLabel":"string"},"source":{"description":"Object or file to stage, as a URI the service can read.","type":"string","uniqueKey":"environments.oneOf.0.items.[INDEX].mounts.items.[INDEX].source","typeLabel":"string"}},"type":"object","uniqueKey":"environments.oneOf.0.items.[INDEX].mounts.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"environments.oneOf.0.items.[INDEX].mounts","typeLabel":"object[]"},"network_policy":{"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"environments.oneOf.0.items.[INDEX].network_policy.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":"environments.oneOf.0.items.[INDEX].network_policy.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":"environments.oneOf.0.items.[INDEX].network_policy.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":"environments.oneOf.0.items.[INDEX].network_policy.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":"environments.oneOf.0.items.[INDEX].network_policy.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"environments.oneOf.0.items.[INDEX].network_policy.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":"environments.oneOf.0.items.[INDEX].network_policy.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":"environments.oneOf.0.items.[INDEX].network_policy.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"environments.oneOf.0.items.[INDEX].network_policy.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Internet access for Runs environments. On update, omission keeps the current setting. Changing from another provider to Runs with an absent or {} saved policy requires an explicit network_policy: {\"version\":\"v1\",\"rules\":[]} for No access or {} for unrestricted access. A nonempty policy limits destinations and cannot be combined with privileged Docker on create or when changing access settings. If the selected placement is incompatible, choose a compatible placement or send {} for unrestricted access. Send {} to clear a policy. Runs responses always include network_policy; {} means unrestricted.","type":"object","uniqueKey":"environments.oneOf.0.items.[INDEX].network_policy","typeLabel":"object"},"privileged":{"description":"Whether a Runs sandbox may use privileged Docker. Privileged Docker requires unrestricted internet access (network_policy: {}) on create or when changing access settings. Omit on update to keep the current value, or send false to disable it. New Runs environments and transitions from another provider default to false. Existing environments with both limited internet access and privileged Docker remain visible and allow edits to other settings. To start a new session, set network_policy: {} or disable privileged Docker.","type":"boolean","uniqueKey":"environments.oneOf.0.items.[INDEX].privileged","typeLabel":"boolean"},"pvc_size_gi":{"description":"Size in GiB of the persistent workspace volume; 0 uses the provider default.","format":"int64","minimum":0,"type":"integer","maximum":9007199254740991,"uniqueKey":"environments.oneOf.0.items.[INDEX].pvc_size_gi","typeLabel":"integer\u003cint64>"},"secrets":{"additionalProperties":{"type":"string","uniqueKey":"environments.oneOf.0.items.[INDEX].secrets.additionalProperties","typeLabel":"string"},"description":"Deprecated and always empty for new environments. Environment secret references are no longer supported; use vault credentials instead. An environment stored with references cannot start sessions or setup runs until an update sends {} to clear them; clearing them marks the setup verdict stale, so re-test afterwards.","type":"object","uniqueKey":"environments.oneOf.0.items.[INDEX].secrets","typeLabel":"object"},"setup_updated_at":{"description":"RFC 3339 timestamp of the last setup script change. Server-assigned.","format":"date-time","readOnly":true,"type":"string","uniqueKey":"environments.oneOf.0.items.[INDEX].setup_updated_at","typeLabel":"string\u003cdate-time>"},"setup_updated_by_user_id":{"description":"User who last changed the setup script. Server-assigned.","readOnly":true,"type":"string","uniqueKey":"environments.oneOf.0.items.[INDEX].setup_updated_by_user_id","typeLabel":"string"},"setup_verification":{"description":"Server-owned verdict on the setup script: whether a manual or automatic setup run has proven this exact configuration on real compute. Read status and stale before starting sessions; read last_run.hint first when status is failed.","properties":{"stale":{"description":"True when the environment's provider, image, compute (resources, workspace disk size, provider config), setup script or timeout, variables, retired secret references, mounts, network policy, or privileged access changed after the recorded run, so the verdict no longer describes this configuration. Name, description, metadata, and the HTTP port do not count. Re-run setup to clear it. Always false for not_applicable and never.","type":"boolean","isRequired":true,"uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.stale","typeLabel":"boolean"},"status":{"description":"not_applicable (no setup script), never (a script exists but no run has recorded a verdict), running (a setup run is in flight and there is no earlier passing verdict to stand on), verified (the latest recorded run passed), or failed (the latest recorded run failed). Sessions on managed providers require verified and not stale when a script is configured; Runs additionally requires a valid captured image. When the captured base differs from the runner resolved at session start, a runner_refresh setup run captures a matching image before session provisioning. The verdict is monotone: re-verifying a verified environment keeps it verified, with the new run in active_setup_run_id, until that run records its own verdict.","type":"string","isRequired":true,"uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.status","typeLabel":"string"},"active_setup_run_id":{"description":"Manual or automatic setup run in flight for this environment, when there is one. Present alongside any status: a verified environment being re-verified stays verified, and sessions keep starting, until this run finishes. Follow it with managedAgentsGetEnvironmentSetupRun or managedAgentsGetEnvironmentSetupRunLog. Cleared when the run records a verdict or is cancelled.","type":"string","uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.active_setup_run_id","typeLabel":"string"},"at":{"description":"RFC 3339 timestamp of when the recorded run finished.","format":"date-time","type":"string","uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.at","typeLabel":"string\u003cdate-time>"},"fingerprint":{"description":"Hash of the environment configuration the run executed. Compared against the current configuration to derive stale; opaque to callers.","type":"string","uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.fingerprint","typeLabel":"string"},"image":{"description":"Immutable compute image produced after setup passed. Session admission validates this capture and resolves the current runner before choosing to boot it or wait for an automatic runner_refresh capture.","properties":{"baseImageDigest":{"description":"Immutable base image reference observed by Agent Service.","type":"string","isRequired":true,"uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.image.baseImageDigest","typeLabel":"string"},"capturedAt":{"description":"When Agent Service reported the image ready.","format":"date-time","type":"string","isRequired":true,"uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.image.capturedAt","typeLabel":"string\u003cdate-time>"},"computeId":{"description":"Agent Service compute whose filesystem was captured.","type":"string","isRequired":true,"uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.image.computeId","typeLabel":"string"},"fingerprint":{"description":"Environment configuration fingerprint this image was produced for.","type":"string","isRequired":true,"uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.image.fingerprint","typeLabel":"string"},"generation":{"description":"Capture and boot contract generation.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"isRequired":true,"uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.image.generation","typeLabel":"integer\u003cint64>"},"image":{"description":"Immutable digest-pinned image reference.","type":"string","isRequired":true,"uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.image.image","typeLabel":"string"},"imageId":{"description":"Agent Service image id.","type":"string","isRequired":true,"uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.image.imageId","typeLabel":"string"},"runnerImage":{"description":"Exact configured runner reference selected for the captured compute.","type":"string","isRequired":true,"uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.image.runnerImage","typeLabel":"string"},"setupRunId":{"description":"Manual or automatic setup run that produced this image.","type":"string","isRequired":true,"uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.image.setupRunId","typeLabel":"string"},"sizeBytes":{"description":"Captured filesystem layer size.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"isRequired":true,"uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.image.sizeBytes","typeLabel":"integer\u003cint64>"},"usable":{"description":"Registry-free read-time projection for the active verified environment and configured runner. A moving tag may have changed since this projection; session admission resolves its exact digest before choosing the captured image or a runner refresh.","type":"boolean","uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.image.usable","typeLabel":"boolean"},"warmup":{"description":"Agent Service warmup state: pulling, verifying, ready, failed, or unavailable.","type":"string","uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.image.warmup","typeLabel":"string"},"warmupMessage":{"description":"Bounded Agent Service explanation of the warmup state.","type":"string","uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.image.warmupMessage","typeLabel":"string"}},"required":["imageId","computeId","setupRunId","image","baseImageDigest","fingerprint","runnerImage","generation","sizeBytes","capturedAt"],"type":"object","additionalProperties":false,"uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.image","typeLabel":"object"},"imageCapture":{"description":"Most recent image capture failure. Independent from the setup verdict: setup can be verified while capture failed.","properties":{"at":{"description":"When the capture failure was recorded.","format":"date-time","type":"string","isRequired":true,"uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.imageCapture.at","typeLabel":"string\u003cdate-time>"},"setupRunId":{"description":"Setup run whose capture failed.","type":"string","isRequired":true,"uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.imageCapture.setupRunId","typeLabel":"string"},"status":{"description":"Always failed; successful capture is represented by image.","enum":["failed"],"type":"string","isRequired":true,"uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.imageCapture.status","typeLabel":"enum\u003cstring>"},"message":{"description":"Sanitized bounded explanation.","type":"string","uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.imageCapture.message","typeLabel":"string"},"reason":{"description":"Stable Agent Service capture failure reason.","type":"string","uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.imageCapture.reason","typeLabel":"string"}},"required":["status","setupRunId","at"],"type":"object","additionalProperties":false,"uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.imageCapture","typeLabel":"object"},"last_run":{"description":"Summary of the recorded run: exit code, failing line and command, stderr tail, and hint. Read hint first when the status is failed; it names the likely fix when the failure is a recognised one.","properties":{"setup_run_id":{"description":"Setup run this summary describes.","type":"string","isRequired":true,"uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.last_run.setup_run_id","typeLabel":"string"},"status":{"description":"succeeded, failed, or cancelled.","type":"string","isRequired":true,"uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.last_run.status","typeLabel":"string"},"duration_ms":{"description":"Wall-clock duration of the run in milliseconds, provisioning included.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.last_run.duration_ms","typeLabel":"integer\u003cint64>"},"exit_code":{"description":"Exit code of the setup script when it ran. 124 means the timeout elapsed; absent when the run failed before the script started.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.last_run.exit_code","typeLabel":"integer"},"failed_command":{"description":"The failing line's command as written in the script, unexpanded. Recognized secret formats are redacted, but other values are not. A secret typed into the script can still appear.","type":"string","uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.last_run.failed_command","typeLabel":"string"},"failed_line":{"description":"1-based line in the setup script whose command exited non-zero. 0 when unknown.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.last_run.failed_line","typeLabel":"integer\u003cint64>"},"hint":{"description":"Human-readable likely fix for a recognised failure cause. Absent rather than guessed when the cause is not recognised.","type":"string","uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.last_run.hint","typeLabel":"string"},"hint_code":{"description":"Stable identifier of the recognised failure cause, e.g. command_not_found, pip_not_installed, bash_lc_wrapper, egress_blocked, timeout. Absent when the cause was not recognised.","type":"string","uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.last_run.hint_code","typeLabel":"string"},"message":{"description":"One-sentence description of the outcome suitable for showing as is.","type":"string","uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.last_run.message","typeLabel":"string"},"phase":{"description":"Phase the run ended in: provision, gpu_check, setup, profile, commit, or cleanup. A failure outside setup is about the platform, not the script.","type":"string","uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.last_run.phase","typeLabel":"string"},"stderr_tail":{"description":"Last lines of stderr from the script, bounded to 2 KiB. Recognized secret formats are redacted, but other values are not.","type":"string","uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.last_run.stderr_tail","typeLabel":"string"}},"required":["setup_run_id","status"],"type":"object","additionalProperties":false,"uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.last_run","typeLabel":"object"},"setup_run_id":{"description":"Setup run the status was written from. Read its log with managedAgentsGetEnvironmentSetupRunLog when the status is failed.","type":"string","uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.setup_run_id","typeLabel":"string"},"verified_by_user_id":{"description":"User who requested the recorded run.","type":"string","uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification.verified_by_user_id","typeLabel":"string"}},"readOnly":true,"required":["status","stale"],"type":"object","additionalProperties":false,"uniqueKey":"environments.oneOf.0.items.[INDEX].setup_verification","typeLabel":"object"},"setup_warnings":{"description":"Advisory findings about the setup script (bash -lc wrapping, curl | sh, unpinned installs, ambiguous system Python, PATH replacement, or non-persistent shell activation), plus legacy_setup_discarded when the stored setup predates setup.script and is not run. Never block a save; computed on read.","items":{"description":"An advisory finding about a setup script line. Warnings never block a save.","properties":{"code":{"description":"Stable identifier: bash_lc_wrapper, curl_pipe_sh, unpinned_install, rm_rf_root (line findings); or legacy_setup_discarded (line 0: the stored setup predates setup.script and does not run; re-enter it as a script).","type":"string","isRequired":true,"uniqueKey":"environments.oneOf.0.items.[INDEX].setup_warnings.items.[INDEX].code","typeLabel":"string"},"line":{"description":"1-based script line the finding is on; 0 when the finding is about the save rather than a line.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"isRequired":true,"uniqueKey":"environments.oneOf.0.items.[INDEX].setup_warnings.items.[INDEX].line","typeLabel":"integer\u003cint64>"},"message":{"description":"What was found and the recommended change.","type":"string","isRequired":true,"uniqueKey":"environments.oneOf.0.items.[INDEX].setup_warnings.items.[INDEX].message","typeLabel":"string"}},"required":["code","line","message"],"type":"object","additionalProperties":false,"uniqueKey":"environments.oneOf.0.items.[INDEX].setup_warnings.items.[INDEX]","typeLabel":"object"},"readOnly":true,"type":"array","uniqueKey":"environments.oneOf.0.items.[INDEX].setup_warnings","typeLabel":"object[]"},"stopped_delete_after_seconds":{"description":"Seconds after a sandbox stops before it may be released, from 3600 (an hour) to 2592000 (30 days); 0 uses the service default. This does not expire the session. Send another message to resume it; /workspace files can be used when its workspace reopens.","format":"int64","minimum":0,"type":"integer","maximum":9007199254740991,"uniqueKey":"environments.oneOf.0.items.[INDEX].stopped_delete_after_seconds","typeLabel":"integer\u003cint64>"},"template":{"description":"Reviewed template revision used to create this environment.","properties":{"id":{"description":"Stable template id.","type":"string","isRequired":true,"uniqueKey":"environments.oneOf.0.items.[INDEX].template.id","typeLabel":"string"},"revision":{"description":"Reviewed catalog revision.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"isRequired":true,"uniqueKey":"environments.oneOf.0.items.[INDEX].template.revision","typeLabel":"integer"}},"required":["id","revision"],"type":"object","additionalProperties":false,"uniqueKey":"environments.oneOf.0.items.[INDEX].template","typeLabel":"object"}},"required":["organization_id","environment_id","name","scope","provider","setup","resources","computer_use","created_at","updated_at"],"type":"object","additionalProperties":false,"uniqueKey":"environments.oneOf.0.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"environments.oneOf.0","typeLabel":"object[]"},{"description":"Every environment in the caller's organization, newest first. Null rather than an empty array when the organization has no environments. Soft-deleted environments are omitted.","items":{"description":"A sandbox environment a session executes in: its provider, resources, mounts, setup steps and idle/delete lifecycle. Created and started independently of any session.","properties":{"computer_use":{"description":"Whether this environment boots the shared interactive Chromium display used by the computer and human-handoff tools. The server projects this to http_port 6901.","type":"boolean"},"config":{"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":"Free-form values stored with the environment and returned on reads. They don't change what its sandbox can run or reach, but changing them makes a verified setup stale, so run setup again before starting sessions.","type":"object"},"created_at":{"description":"Server-assigned RFC 3339 timestamp of when the environment was created.","format":"date-time","readOnly":true,"type":"string"},"description":{"description":"Free-text note about what this environment provides.","type":"string"},"env_vars":{"additionalProperties":{"type":"string"},"description":"Plaintext environment variables exported in the sandbox. They become the whole container environment, including the runner entrypoint's, so PATH is refused (env_vars.PATH): managed images select /workspace/.venv themselves. A Runs session using one-time setup after its runner changes also refuses startup-hook names such as BASH_ENV, HOME, PYTHONPATH, and LD_PRELOAD; re-test to capture a compatible image instead. Never put secrets here; store them as vault credentials instead. On update, omit to keep the current variables; send {} to clear them.","type":"object"},"environment_id":{"description":"Server-assigned id of the environment; pass it when starting a session that should run in this sandbox.","readOnly":true,"type":"string"},"http_port":{"description":"Port inside the sandbox to expose over HTTP for services the agent starts; 0 exposes nothing.","format":"int64","minimum":0,"type":"integer","maximum":9007199254740991},"idle_stop_after_seconds":{"description":"Seconds of inactivity after which a running sandbox is stopped, from 120 to 7200 (2 hours); 0 uses the provider default. A computer-enabled environment requires 0 or at least 600 seconds so its five-minute handoff heartbeat arrives before idle-stop.","format":"int64","minimum":0,"type":"integer","maximum":9007199254740991},"image":{"description":"Container image the sandbox boots. Set by the platform: new environments use the default runner image. Customize the sandbox itself with setup.script.","type":"string","readOnly":true},"metadata":{"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"array","items":{"oneOf":[{}]},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level."}]},"description":"Caller-owned key/value data stored with the environment and returned unchanged.","type":"object"},"mounts":{"description":"Files or objects staged into the sandbox workspace when it is created. On update, omit to keep the current mounts; send [] to clear them.","items":{"additionalProperties":false,"description":"One file or object staged into the sandbox workspace when it is created. Use mounts to give an agent input data it should find already on disk at the first turn.","properties":{"mount_path":{"description":"Absolute path inside the sandbox workspace where the source is placed.","type":"string"},"source":{"description":"Object or file to stage, as a URI the service can read.","type":"string"}},"type":"object"},"type":"array"},"name":{"description":"Human-readable label shown wherever environments are listed.","type":"string"},"network_policy":{"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":"Internet access for Runs environments. On update, omission keeps the current setting. Changing from another provider to Runs with an absent or {} saved policy requires an explicit network_policy: {\"version\":\"v1\",\"rules\":[]} for No access or {} for unrestricted access. A nonempty policy limits destinations and cannot be combined with privileged Docker on create or when changing access settings. If the selected placement is incompatible, choose a compatible placement or send {} for unrestricted access. Send {} to clear a policy. Runs responses always include network_policy; {} means unrestricted.","type":"object"},"organization_id":{"description":"Organization that owns the environment. Server-assigned from the caller's credentials.","readOnly":true,"type":"string"},"privileged":{"description":"Whether a Runs sandbox may use privileged Docker. Privileged Docker requires unrestricted internet access (network_policy: {}) on create or when changing access settings. Omit on update to keep the current value, or send false to disable it. New Runs environments and transitions from another provider default to false. Existing environments with both limited internet access and privileged Docker remain visible and allow edits to other settings. To start a new session, set network_policy: {} or disable privileged Docker.","type":"boolean"},"provider":{"description":"Sandbox runtime that executes the session, chosen from the sandbox providers catalog.","type":"string"},"pvc_size_gi":{"description":"Size in GiB of the persistent workspace volume; 0 uses the provider default.","format":"int64","minimum":0,"type":"integer","maximum":9007199254740991},"resources":{"additionalProperties":false,"description":"Caller-sized CPU and memory for CPU environments, or one exclusive accelerator with service-owned limits of 8,000 millicores (8 vCPU) and 32,768 MiB (32 GiB) of memory for GPU environments, plus lifetime and placement constraints.","properties":{"accelerator":{"additionalProperties":false,"description":"Exclusive GPU to attach to the sandbox compute. Omit for CPU-only. When set, the service applies limits of 8,000 millicores (8 vCPU) and 32,768 MiB (32 GiB) of memory, and cpu_milli and memory_mib must be omitted.","properties":{"count":{"description":"How many accelerators to attach. Defaults to 1; every offering currently carries one.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"name":{"description":"Accelerator model, lower-case and provider-neutral, e.g. a100. Must name a model in this deployment's configured accelerator_catalog. Live compute offerings enrich that catalog but never remove configured choices.","type":"string"},"type":{"description":"Accelerator class to attach. Only gpu is accepted.","type":"string"}},"type":"object"},"cpu_milli":{"description":"CPU request in millicores, so 1000 is one vCPU; 0 uses the provider default. CPU-only environments; must be omitted with an accelerator because the GPU sandbox CPU limit is service-owned.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"memory_mib":{"description":"Memory request in MiB; 0 uses the provider default. CPU-only environments; must be omitted with an accelerator because the GPU sandbox memory limit is service-owned.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"placement":{"additionalProperties":false,"description":"Optional compute provider selection; regions, VRAM floors, spot capacity, and price limits are not supported. Without an egress policy, omission permits any configured provider. A nonempty network_policy works only with a provider that can enforce it; when placement is omitted, the runtime selects one without saving a placement constraint.","properties":{"allow_spot":{"description":"Spot capacity is not supported and must be false when sent.","type":"boolean"},"max_price_per_hour_usd":{"description":"Caller-supplied price limits are not supported and must be zero when sent.","format":"double","type":"number"},"min_accelerator_vram_gb":{"description":"Caller-supplied VRAM floors are not supported and must be zero when sent.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"providers":{"description":"Select exactly one provider, gke or nebius, when placement is present. Omit placement to let the system choose. Limited internet access is available only with gke.","items":{"type":"string"},"type":"array"},"regions":{"description":"Region constraints are not supported and this array must be empty when sent.","items":{"type":"string"},"type":"array"}},"type":"object"},"timeout_seconds":{"description":"Maximum sandbox lifetime in seconds before the provider tears it down; 0 uses the provider default.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"type":"object"},"scope":{"description":"Who may use the environment. Defaults to organization, meaning it is shared across the owning organization.","type":"string"},"secrets":{"additionalProperties":{"type":"string"},"description":"Deprecated and always empty for new environments. Environment secret references are no longer supported; use vault credentials instead. An environment stored with references cannot start sessions or setup runs until an update sends {} to clear them; clearing them marks the setup verdict stale, so re-test afterwards.","type":"object"},"setup":{"additionalProperties":false,"description":"Setup script run after the sandbox is provisioned and before the agent starts.","properties":{"script":{"description":"Bash script run after the sandbox is provisioned and before the agent starts. Runs sessions boot from a captured setup image; when the runner changes, the platform runs this script on dedicated setup compute and captures a new image before provisioning the session. Executed as a separate login shell with set -eo pipefail, so the first failing line fails the run and is reported by line number; exports and activation do not persist into agent commands. Managed images automatically select a /workspace/.venv created here: install through its explicit interpreter and preserve the existing PATH. Do not wrap lines in bash -lc; the script already runs under bash. Empty means no setup. At most 64 KiB.","type":"string"},"timeout_seconds":{"description":"Wall-clock bound in seconds on the whole script; 0 uses the default of 600. Between 10 and 3600 when set. A run that exceeds it fails with exit code 124.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"type":"object"},"setup_updated_at":{"description":"RFC 3339 timestamp of the last setup script change. Server-assigned.","format":"date-time","readOnly":true,"type":"string"},"setup_updated_by_user_id":{"description":"User who last changed the setup script. Server-assigned.","readOnly":true,"type":"string"},"setup_verification":{"description":"Server-owned verdict on the setup script: whether a manual or automatic setup run has proven this exact configuration on real compute. Read status and stale before starting sessions; read last_run.hint first when status is failed.","properties":{"active_setup_run_id":{"description":"Manual or automatic setup run in flight for this environment, when there is one. Present alongside any status: a verified environment being re-verified stays verified, and sessions keep starting, until this run finishes. Follow it with managedAgentsGetEnvironmentSetupRun or managedAgentsGetEnvironmentSetupRunLog. Cleared when the run records a verdict or is cancelled.","type":"string"},"at":{"description":"RFC 3339 timestamp of when the recorded run finished.","format":"date-time","type":"string"},"fingerprint":{"description":"Hash of the environment configuration the run executed. Compared against the current configuration to derive stale; opaque to callers.","type":"string"},"image":{"description":"Immutable compute image produced after setup passed. Session admission validates this capture and resolves the current runner before choosing to boot it or wait for an automatic runner_refresh capture.","properties":{"baseImageDigest":{"description":"Immutable base image reference observed by Agent Service.","type":"string"},"capturedAt":{"description":"When Agent Service reported the image ready.","format":"date-time","type":"string"},"computeId":{"description":"Agent Service compute whose filesystem was captured.","type":"string"},"fingerprint":{"description":"Environment configuration fingerprint this image was produced for.","type":"string"},"generation":{"description":"Capture and boot contract generation.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"image":{"description":"Immutable digest-pinned image reference.","type":"string"},"imageId":{"description":"Agent Service image id.","type":"string"},"runnerImage":{"description":"Exact configured runner reference selected for the captured compute.","type":"string"},"setupRunId":{"description":"Manual or automatic setup run that produced this image.","type":"string"},"sizeBytes":{"description":"Captured filesystem layer size.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"usable":{"description":"Registry-free read-time projection for the active verified environment and configured runner. A moving tag may have changed since this projection; session admission resolves its exact digest before choosing the captured image or a runner refresh.","type":"boolean"},"warmup":{"description":"Agent Service warmup state: pulling, verifying, ready, failed, or unavailable.","type":"string"},"warmupMessage":{"description":"Bounded Agent Service explanation of the warmup state.","type":"string"}},"required":["imageId","computeId","setupRunId","image","baseImageDigest","fingerprint","runnerImage","generation","sizeBytes","capturedAt"],"type":"object","additionalProperties":false},"imageCapture":{"description":"Most recent image capture failure. Independent from the setup verdict: setup can be verified while capture failed.","properties":{"at":{"description":"When the capture failure was recorded.","format":"date-time","type":"string"},"message":{"description":"Sanitized bounded explanation.","type":"string"},"reason":{"description":"Stable Agent Service capture failure reason.","type":"string"},"setupRunId":{"description":"Setup run whose capture failed.","type":"string"},"status":{"description":"Always failed; successful capture is represented by image.","enum":["failed"],"type":"string"}},"required":["status","setupRunId","at"],"type":"object","additionalProperties":false},"last_run":{"description":"Summary of the recorded run: exit code, failing line and command, stderr tail, and hint. Read hint first when the status is failed; it names the likely fix when the failure is a recognised one.","properties":{"duration_ms":{"description":"Wall-clock duration of the run in milliseconds, provisioning included.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"exit_code":{"description":"Exit code of the setup script when it ran. 124 means the timeout elapsed; absent when the run failed before the script started.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"failed_command":{"description":"The failing line's command as written in the script, unexpanded. Recognized secret formats are redacted, but other values are not. A secret typed into the script can still appear.","type":"string"},"failed_line":{"description":"1-based line in the setup script whose command exited non-zero. 0 when unknown.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hint":{"description":"Human-readable likely fix for a recognised failure cause. Absent rather than guessed when the cause is not recognised.","type":"string"},"hint_code":{"description":"Stable identifier of the recognised failure cause, e.g. command_not_found, pip_not_installed, bash_lc_wrapper, egress_blocked, timeout. Absent when the cause was not recognised.","type":"string"},"message":{"description":"One-sentence description of the outcome suitable for showing as is.","type":"string"},"phase":{"description":"Phase the run ended in: provision, gpu_check, setup, profile, commit, or cleanup. A failure outside setup is about the platform, not the script.","type":"string"},"setup_run_id":{"description":"Setup run this summary describes.","type":"string"},"status":{"description":"succeeded, failed, or cancelled.","type":"string"},"stderr_tail":{"description":"Last lines of stderr from the script, bounded to 2 KiB. Recognized secret formats are redacted, but other values are not.","type":"string"}},"required":["setup_run_id","status"],"type":"object","additionalProperties":false},"setup_run_id":{"description":"Setup run the status was written from. Read its log with managedAgentsGetEnvironmentSetupRunLog when the status is failed.","type":"string"},"stale":{"description":"True when the environment's provider, image, compute (resources, workspace disk size, provider config), setup script or timeout, variables, retired secret references, mounts, network policy, or privileged access changed after the recorded run, so the verdict no longer describes this configuration. Name, description, metadata, and the HTTP port do not count. Re-run setup to clear it. Always false for not_applicable and never.","type":"boolean"},"status":{"description":"not_applicable (no setup script), never (a script exists but no run has recorded a verdict), running (a setup run is in flight and there is no earlier passing verdict to stand on), verified (the latest recorded run passed), or failed (the latest recorded run failed). Sessions on managed providers require verified and not stale when a script is configured; Runs additionally requires a valid captured image. When the captured base differs from the runner resolved at session start, a runner_refresh setup run captures a matching image before session provisioning. The verdict is monotone: re-verifying a verified environment keeps it verified, with the new run in active_setup_run_id, until that run records its own verdict.","type":"string"},"verified_by_user_id":{"description":"User who requested the recorded run.","type":"string"}},"readOnly":true,"required":["status","stale"],"type":"object","additionalProperties":false},"setup_warnings":{"description":"Advisory findings about the setup script (bash -lc wrapping, curl | sh, unpinned installs, ambiguous system Python, PATH replacement, or non-persistent shell activation), plus legacy_setup_discarded when the stored setup predates setup.script and is not run. Never block a save; computed on read.","items":{"description":"An advisory finding about a setup script line. Warnings never block a save.","properties":{"code":{"description":"Stable identifier: bash_lc_wrapper, curl_pipe_sh, unpinned_install, rm_rf_root (line findings); or legacy_setup_discarded (line 0: the stored setup predates setup.script and does not run; re-enter it as a script).","type":"string"},"line":{"description":"1-based script line the finding is on; 0 when the finding is about the save rather than a line.","format":"int64","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"message":{"description":"What was found and the recommended change.","type":"string"}},"required":["code","line","message"],"type":"object","additionalProperties":false},"readOnly":true,"type":"array"},"stopped_delete_after_seconds":{"description":"Seconds after a sandbox stops before it may be released, from 3600 (an hour) to 2592000 (30 days); 0 uses the service default. This does not expire the session. Send another message to resume it; /workspace files can be used when its workspace reopens.","format":"int64","minimum":0,"type":"integer","maximum":9007199254740991},"template":{"description":"Reviewed template revision used to create this environment.","properties":{"id":{"description":"Stable template id.","type":"string"},"revision":{"description":"Reviewed catalog revision.","type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","revision"],"type":"object","additionalProperties":false},"updated_at":{"description":"Server-assigned RFC 3339 timestamp of the most recent update to the environment.","format":"date-time","readOnly":true,"type":"string"}},"required":["organization_id","environment_id","name","scope","provider","setup","resources","computer_use","created_at","updated_at"],"type":"object","additionalProperties":false},"type":"null","isRequired":true,"uniqueKey":"environments.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"environments","typeLabel":"object[] | null"}},"required":["environments"],"type":"object","additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"environments":[{"computer_use":true,"created_at":"2023-11-07T05:31:56Z","environment_id":"\u003cstring>","name":"\u003cstring>","organization_id":"\u003cstring>","provider":"\u003cstring>","resources":{"accelerator":{"count":0,"name":"\u003cstring>","type":"\u003cstring>"},"cpu_milli":0,"memory_mib":0,"placement":{"allow_spot":true,"max_price_per_hour_usd":123,"min_accelerator_vram_gb":0,"providers":["\u003cstring>"],"regions":["\u003cstring>"]},"timeout_seconds":0},"scope":"\u003cstring>","setup":{"script":"\u003cstring>","timeout_seconds":0},"updated_at":"2023-11-07T05:31:56Z","config":{},"description":"\u003cstring>","env_vars":{},"http_port":4503599627370495,"idle_stop_after_seconds":4503599627370495,"image":"\u003cstring>","metadata":{},"mounts":[{"mount_path":"\u003cstring>","source":"\u003cstring>"}],"network_policy":{},"privileged":true,"pvc_size_gi":4503599627370495,"secrets":{},"setup_updated_at":"2023-11-07T05:31:56Z","setup_updated_by_user_id":"\u003cstring>","setup_verification":{"stale":true,"status":"\u003cstring>","active_setup_run_id":"\u003cstring>","at":"2023-11-07T05:31:56Z","fingerprint":"\u003cstring>","image":{"baseImageDigest":"\u003cstring>","capturedAt":"2023-11-07T05:31:56Z","computeId":"\u003cstring>","fingerprint":"\u003cstring>","generation":0,"image":"\u003cstring>","imageId":"\u003cstring>","runnerImage":"\u003cstring>","setupRunId":"\u003cstring>","sizeBytes":0,"usable":true,"warmup":"\u003cstring>","warmupMessage":"\u003cstring>"},"imageCapture":{"at":"2023-11-07T05:31:56Z","setupRunId":"\u003cstring>","status":"failed","message":"\u003cstring>","reason":"\u003cstring>"},"last_run":{"setup_run_id":"\u003cstring>","status":"\u003cstring>","duration_ms":0,"exit_code":0,"failed_command":"\u003cstring>","failed_line":0,"hint":"\u003cstring>","hint_code":"\u003cstring>","message":"\u003cstring>","phase":"\u003cstring>","stderr_tail":"\u003cstring>"},"setup_run_id":"\u003cstring>","verified_by_user_id":"\u003cstring>"},"setup_warnings":[{"code":"\u003cstring>","line":0,"message":"\u003cstring>"}],"stopped_delete_after_seconds":4503599627370495,"template":{"id":"\u003cstring>","revision":0}}]}}},"exampleType":"generated"}},"description":"Response body of GET /managed-agents/v1/environments. An environment is the sandbox recipe a session runs inside; pick an environment_id from here when starting a session with POST /managed-agents/v1/sessions.","headers":{"recursion-organization-id":{"description":"Organization id resolved for this request.","schema":{"type":"string","minLength":1}},"recursion-tenant-id":{"description":"Tenant id resolved for this request.","schema":{"type":"string","minLength":1}}},"exampleType":"generated"},"d99ac4d1-5d05-41ba-bc3c-2280ba3463e6":{"description":"Bad Request.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","minLength":1,"description":"Stable machine-readable error code.","enum":["invalid_request"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"description":"Human-readable error message.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","properties":{"field":{"description":"Request field or header responsible for the error, when one can be identified.","type":"string","uniqueKey":"details.field","typeLabel":"string"},"issues":{"description":"Boundary-validation failures as path-prefixed human-readable messages.","type":"array","items":{"type":"string","uniqueKey":"details.issues.items.[INDEX]","typeLabel":"string"},"uniqueKey":"details.issues","typeLabel":"string[]"},"requestId":{"description":"Request correlation identifier for support and log lookup.","type":"string","uniqueKey":"details.requestId","typeLabel":"string"},"retryable":{"description":"Server advice about failure transience. `true` means transient, `false` means non-transient, and absence gives no advice. Automatic replay is allowed only when this field is not `false` and the operation-specific retry and idempotency contract permits replay.","type":"boolean","uniqueKey":"details.retryable","typeLabel":"boolean"}},"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.2","typeLabel":"string"},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"details.additionalProperties.oneOf.3","typeLabel":"integer"},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"details.additionalProperties.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"details.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Optional structured error details. Reserved transport fields are typed; code-specific fields remain forward compatible.","uniqueKey":"details","typeLabel":"object"}},"required":["code","message"],"additionalProperties":false,"description":"Standard flat error response.","x-recursion-error-codes":["invalid_request"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"invalid_request","message":"\u003cstring>","details":{"field":"\u003cstring>","issues":["\u003cstring>"],"requestId":"\u003cstring>","retryable":true}}}},"exampleType":"generated"}},"headers":{"recursion-organization-id":{"description":"Organization id resolved for this request.","schema":{"type":"string","minLength":1}},"recursion-tenant-id":{"description":"Tenant id resolved for this request.","schema":{"type":"string","minLength":1}}},"exampleType":"generated"},"7bd667e3-c943-4cfd-8a08-944b6a3a0346":{"description":"Unauthorized.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","minLength":1,"description":"Stable machine-readable error code.","enum":["unauthorized"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"description":"Human-readable error message.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","properties":{"field":{"description":"Request field or header responsible for the error, when one can be identified.","type":"string","uniqueKey":"details.field","typeLabel":"string"},"issues":{"description":"Boundary-validation failures as path-prefixed human-readable messages.","type":"array","items":{"type":"string","uniqueKey":"details.issues.items.[INDEX]","typeLabel":"string"},"uniqueKey":"details.issues","typeLabel":"string[]"},"requestId":{"description":"Request correlation identifier for support and log lookup.","type":"string","uniqueKey":"details.requestId","typeLabel":"string"},"retryable":{"description":"Server advice about failure transience. `true` means transient, `false` means non-transient, and absence gives no advice. Automatic replay is allowed only when this field is not `false` and the operation-specific retry and idempotency contract permits replay.","type":"boolean","uniqueKey":"details.retryable","typeLabel":"boolean"}},"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.2","typeLabel":"string"},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"details.additionalProperties.oneOf.3","typeLabel":"integer"},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"details.additionalProperties.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"details.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Optional structured error details. Reserved transport fields are typed; code-specific fields remain forward compatible.","uniqueKey":"details","typeLabel":"object"}},"required":["code","message"],"additionalProperties":false,"description":"Standard flat error response.","x-recursion-error-codes":["unauthorized"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"unauthorized","message":"\u003cstring>","details":{"field":"\u003cstring>","issues":["\u003cstring>"],"requestId":"\u003cstring>","retryable":true}}}},"exampleType":"generated"}},"headers":{"recursion-organization-id":{"description":"Organization id resolved for this request.","schema":{"type":"string","minLength":1}},"recursion-tenant-id":{"description":"Tenant id resolved for this request.","schema":{"type":"string","minLength":1}}},"exampleType":"generated"},"37b9f03e-c6a6-4f72-a4fa-1ca34b5c30fd":{"description":"Forbidden.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","minLength":1,"description":"Stable machine-readable error code.","enum":["forbidden"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"description":"Human-readable error message.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","properties":{"field":{"description":"Request field or header responsible for the error, when one can be identified.","type":"string","uniqueKey":"details.field","typeLabel":"string"},"issues":{"description":"Boundary-validation failures as path-prefixed human-readable messages.","type":"array","items":{"type":"string","uniqueKey":"details.issues.items.[INDEX]","typeLabel":"string"},"uniqueKey":"details.issues","typeLabel":"string[]"},"requestId":{"description":"Request correlation identifier for support and log lookup.","type":"string","uniqueKey":"details.requestId","typeLabel":"string"},"retryable":{"description":"Server advice about failure transience. `true` means transient, `false` means non-transient, and absence gives no advice. Automatic replay is allowed only when this field is not `false` and the operation-specific retry and idempotency contract permits replay.","type":"boolean","uniqueKey":"details.retryable","typeLabel":"boolean"}},"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.2","typeLabel":"string"},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"details.additionalProperties.oneOf.3","typeLabel":"integer"},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"details.additionalProperties.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"details.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Optional structured error details. Reserved transport fields are typed; code-specific fields remain forward compatible.","uniqueKey":"details","typeLabel":"object"}},"required":["code","message"],"additionalProperties":false,"description":"Standard flat error response.","x-recursion-error-codes":["forbidden"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"forbidden","message":"\u003cstring>","details":{"field":"\u003cstring>","issues":["\u003cstring>"],"requestId":"\u003cstring>","retryable":true}}}},"exampleType":"generated"}},"headers":{"recursion-organization-id":{"description":"Organization id resolved for this request.","schema":{"type":"string","minLength":1}},"recursion-tenant-id":{"description":"Tenant id resolved for this request.","schema":{"type":"string","minLength":1}}},"exampleType":"generated"},"878d4d35-208c-466d-a223-0491a43ef0af":{"description":"Not Found.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","minLength":1,"description":"Stable machine-readable error code.","enum":["not_found"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"description":"Human-readable error message.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","properties":{"field":{"description":"Request field or header responsible for the error, when one can be identified.","type":"string","uniqueKey":"details.field","typeLabel":"string"},"issues":{"description":"Boundary-validation failures as path-prefixed human-readable messages.","type":"array","items":{"type":"string","uniqueKey":"details.issues.items.[INDEX]","typeLabel":"string"},"uniqueKey":"details.issues","typeLabel":"string[]"},"requestId":{"description":"Request correlation identifier for support and log lookup.","type":"string","uniqueKey":"details.requestId","typeLabel":"string"},"retryable":{"description":"Server advice about failure transience. `true` means transient, `false` means non-transient, and absence gives no advice. Automatic replay is allowed only when this field is not `false` and the operation-specific retry and idempotency contract permits replay.","type":"boolean","uniqueKey":"details.retryable","typeLabel":"boolean"}},"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.2","typeLabel":"string"},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"details.additionalProperties.oneOf.3","typeLabel":"integer"},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"details.additionalProperties.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"details.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Optional structured error details. Reserved transport fields are typed; code-specific fields remain forward compatible.","uniqueKey":"details","typeLabel":"object"}},"required":["code","message"],"additionalProperties":false,"description":"Standard flat error response.","x-recursion-error-codes":["not_found"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"not_found","message":"\u003cstring>","details":{"field":"\u003cstring>","issues":["\u003cstring>"],"requestId":"\u003cstring>","retryable":true}}}},"exampleType":"generated"}},"headers":{"recursion-organization-id":{"description":"Organization id resolved for this request.","schema":{"type":"string","minLength":1}},"recursion-tenant-id":{"description":"Tenant id resolved for this request.","schema":{"type":"string","minLength":1}}},"exampleType":"generated"},"729b1534-4e67-48db-8bae-7bf368d1a662":{"description":"Payload Too Large.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","minLength":1,"description":"Stable machine-readable error code.","enum":["payload_too_large"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"description":"Human-readable error message.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","properties":{"field":{"description":"Request field or header responsible for the error, when one can be identified.","type":"string","uniqueKey":"details.field","typeLabel":"string"},"issues":{"description":"Boundary-validation failures as path-prefixed human-readable messages.","type":"array","items":{"type":"string","uniqueKey":"details.issues.items.[INDEX]","typeLabel":"string"},"uniqueKey":"details.issues","typeLabel":"string[]"},"requestId":{"description":"Request correlation identifier for support and log lookup.","type":"string","uniqueKey":"details.requestId","typeLabel":"string"},"retryable":{"description":"Server advice about failure transience. `true` means transient, `false` means non-transient, and absence gives no advice. Automatic replay is allowed only when this field is not `false` and the operation-specific retry and idempotency contract permits replay.","type":"boolean","uniqueKey":"details.retryable","typeLabel":"boolean"}},"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.2","typeLabel":"string"},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"details.additionalProperties.oneOf.3","typeLabel":"integer"},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"details.additionalProperties.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"details.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Optional structured error details. Reserved transport fields are typed; code-specific fields remain forward compatible.","uniqueKey":"details","typeLabel":"object"}},"required":["code","message"],"additionalProperties":false,"description":"Standard flat error response.","x-recursion-error-codes":["payload_too_large"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"payload_too_large","message":"\u003cstring>","details":{"field":"\u003cstring>","issues":["\u003cstring>"],"requestId":"\u003cstring>","retryable":true}}}},"exampleType":"generated"}},"headers":{"recursion-organization-id":{"description":"Organization id resolved for this request.","schema":{"type":"string","minLength":1}},"recursion-tenant-id":{"description":"Tenant id resolved for this request.","schema":{"type":"string","minLength":1}}},"exampleType":"generated"},"1c7b02fb-1581-483b-a24c-30a72e3f0310":{"headers":{"Retry-After":{"description":"When to retry, as delay seconds or an HTTP date.","schema":{"type":"string"}},"recursion-organization-id":{"description":"Organization id resolved for this request.","schema":{"type":"string","minLength":1}},"recursion-tenant-id":{"description":"Tenant id resolved for this request.","schema":{"type":"string","minLength":1}}},"description":"Too Many Requests.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","minLength":1,"description":"Stable machine-readable error code.","enum":["rate_limit_exceeded"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"description":"Human-readable error message.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","properties":{"field":{"description":"Request field or header responsible for the error, when one can be identified.","type":"string","uniqueKey":"details.field","typeLabel":"string"},"issues":{"description":"Boundary-validation failures as path-prefixed human-readable messages.","type":"array","items":{"type":"string","uniqueKey":"details.issues.items.[INDEX]","typeLabel":"string"},"uniqueKey":"details.issues","typeLabel":"string[]"},"requestId":{"description":"Request correlation identifier for support and log lookup.","type":"string","uniqueKey":"details.requestId","typeLabel":"string"},"retryable":{"description":"Server advice about failure transience. `true` means transient, `false` means non-transient, and absence gives no advice. Automatic replay is allowed only when this field is not `false` and the operation-specific retry and idempotency contract permits replay.","type":"boolean","uniqueKey":"details.retryable","typeLabel":"boolean"}},"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.2","typeLabel":"string"},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"details.additionalProperties.oneOf.3","typeLabel":"integer"},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"details.additionalProperties.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"details.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Optional structured error details. Reserved transport fields are typed; code-specific fields remain forward compatible.","uniqueKey":"details","typeLabel":"object"}},"required":["code","message"],"additionalProperties":false,"description":"Standard flat error response.","x-recursion-error-codes":["rate_limit_exceeded"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"rate_limit_exceeded","message":"\u003cstring>","details":{"field":"\u003cstring>","issues":["\u003cstring>"],"requestId":"\u003cstring>","retryable":true}}}},"exampleType":"generated"}},"exampleType":"generated"},"7fcd3478-4e66-4f5a-8ce6-842736547978":{"description":"Internal Server Error.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","minLength":1,"description":"Stable machine-readable error code.","enum":["internal_error"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"description":"Human-readable error message.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","properties":{"field":{"description":"Request field or header responsible for the error, when one can be identified.","type":"string","uniqueKey":"details.field","typeLabel":"string"},"issues":{"description":"Boundary-validation failures as path-prefixed human-readable messages.","type":"array","items":{"type":"string","uniqueKey":"details.issues.items.[INDEX]","typeLabel":"string"},"uniqueKey":"details.issues","typeLabel":"string[]"},"requestId":{"description":"Request correlation identifier for support and log lookup.","type":"string","uniqueKey":"details.requestId","typeLabel":"string"},"retryable":{"description":"Server advice about failure transience. `true` means transient, `false` means non-transient, and absence gives no advice. Automatic replay is allowed only when this field is not `false` and the operation-specific retry and idempotency contract permits replay.","type":"boolean","uniqueKey":"details.retryable","typeLabel":"boolean"}},"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.2","typeLabel":"string"},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"details.additionalProperties.oneOf.3","typeLabel":"integer"},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"details.additionalProperties.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"details.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Optional structured error details. Reserved transport fields are typed; code-specific fields remain forward compatible.","uniqueKey":"details","typeLabel":"object"}},"required":["code","message"],"additionalProperties":false,"description":"Standard flat error response.","x-recursion-error-codes":["internal_error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"internal_error","message":"\u003cstring>","details":{"field":"\u003cstring>","issues":["\u003cstring>"],"requestId":"\u003cstring>","retryable":true}}}},"exampleType":"generated"}},"headers":{"recursion-organization-id":{"description":"Organization id resolved for this request.","schema":{"type":"string","minLength":1}},"recursion-tenant-id":{"description":"Tenant id resolved for this request.","schema":{"type":"string","minLength":1}}},"exampleType":"generated"},"43dc41b3-9971-4d05-ae00-a3304229f2d0":{"description":"A dependent service returned an invalid response.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","minLength":1,"description":"Stable machine-readable error code.","enum":["bad_gateway"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"description":"Human-readable error message.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","properties":{"field":{"description":"Request field or header responsible for the error, when one can be identified.","type":"string","uniqueKey":"details.field","typeLabel":"string"},"issues":{"description":"Boundary-validation failures as path-prefixed human-readable messages.","type":"array","items":{"type":"string","uniqueKey":"details.issues.items.[INDEX]","typeLabel":"string"},"uniqueKey":"details.issues","typeLabel":"string[]"},"requestId":{"description":"Request correlation identifier for support and log lookup.","type":"string","uniqueKey":"details.requestId","typeLabel":"string"},"retryable":{"description":"Server advice about failure transience. `true` means transient, `false` means non-transient, and absence gives no advice. Automatic replay is allowed only when this field is not `false` and the operation-specific retry and idempotency contract permits replay.","type":"boolean","uniqueKey":"details.retryable","typeLabel":"boolean"}},"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.2","typeLabel":"string"},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"details.additionalProperties.oneOf.3","typeLabel":"integer"},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"details.additionalProperties.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"details.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Optional structured error details. Reserved transport fields are typed; code-specific fields remain forward compatible.","uniqueKey":"details","typeLabel":"object"}},"required":["code","message"],"additionalProperties":false,"description":"Standard flat error response.","x-recursion-error-codes":["bad_gateway"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"bad_gateway","message":"\u003cstring>","details":{"field":"\u003cstring>","issues":["\u003cstring>"],"requestId":"\u003cstring>","retryable":true}}}},"exampleType":"generated"}},"headers":{"recursion-organization-id":{"description":"Organization id resolved for this request.","schema":{"type":"string","minLength":1}},"recursion-tenant-id":{"description":"Tenant id resolved for this request.","schema":{"type":"string","minLength":1}}},"exampleType":"generated"},"52f5e61b-78b7-4871-8c73-291e83ca98fb":{"headers":{"Retry-After":{"description":"When to retry, as delay seconds or an HTTP date.","schema":{"type":"string"}},"recursion-organization-id":{"description":"Organization id resolved for this request.","schema":{"type":"string","minLength":1}},"recursion-tenant-id":{"description":"Tenant id resolved for this request.","schema":{"type":"string","minLength":1}}},"description":"Service Unavailable.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","description":"Standard flat error response.","required":["code","message"],"x-recursion-error-codes":["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.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":["managed_agents_unavailable","service_unavailable"],"properties":{"code":{"type":"string","minLength":1,"description":"Stable machine-readable error code.","enum":["service_unavailable"],"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"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"managed_agents_unavailable","message":"\u003cstring>","details":{"field":"\u003cstring>","issues":["\u003cstring>"],"requestId":"\u003cstring>","retryable":true}}}},"exampleType":"generated"}},"exampleType":"generated"},"b7004d47-633d-42cc-9d16-db48fee93032":{"headers":{"Retry-After":{"description":"When to retry, as delay seconds or an HTTP date.","schema":{"type":"string"}},"recursion-organization-id":{"description":"Organization id resolved for this request.","schema":{"type":"string","minLength":1}},"recursion-tenant-id":{"description":"Tenant id resolved for this request.","schema":{"type":"string","minLength":1}}},"description":"A dependent service timed out.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","minLength":1,"description":"Stable machine-readable error code.","enum":["gateway_timeout"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","minLength":1,"description":"Human-readable error message.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","properties":{"field":{"description":"Request field or header responsible for the error, when one can be identified.","type":"string","uniqueKey":"details.field","typeLabel":"string"},"issues":{"description":"Boundary-validation failures as path-prefixed human-readable messages.","type":"array","items":{"type":"string","uniqueKey":"details.issues.items.[INDEX]","typeLabel":"string"},"uniqueKey":"details.issues","typeLabel":"string[]"},"requestId":{"description":"Request correlation identifier for support and log lookup.","type":"string","uniqueKey":"details.requestId","typeLabel":"string"},"retryable":{"description":"Server advice about failure transience. `true` means transient, `false` means non-transient, and absence gives no advice. Automatic replay is allowed only when this field is not `false` and the operation-specific retry and idempotency contract permits replay.","type":"boolean","uniqueKey":"details.retryable","typeLabel":"boolean"}},"additionalProperties":{"oneOf":[{"type":"null","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.0","typeLabel":"null"},{"type":"boolean","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.1","typeLabel":"boolean"},{"type":"string","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.2","typeLabel":"string"},{"type":"integer","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"details.additionalProperties.oneOf.3","typeLabel":"integer"},{"type":"number","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.4","typeLabel":"number"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"details.additionalProperties.oneOf.5.items.[INDEX]","typeLabel":"any"},"description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.5","typeLabel":"any[]"},{"type":"object","description":"A JSON value whose integer members stay within the exact ECMAScript safe-integer range at every nesting level.","uniqueKey":"details.additionalProperties.oneOf.6","typeLabel":"object"}],"uniqueKey":"details.additionalProperties","typeLabel":"null | boolean | string | integer | number | any[] | object"},"description":"Optional structured error details. Reserved transport fields are typed; code-specific fields remain forward compatible.","uniqueKey":"details","typeLabel":"object"}},"required":["code","message"],"additionalProperties":false,"description":"Standard flat error response.","x-recursion-error-codes":["gateway_timeout"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"gateway_timeout","message":"\u003cstring>","details":{"field":"\u003cstring>","issues":["\u003cstring>"],"requestId":"\u003cstring>","retryable":true}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"cb4d6de2-506d-4cc1-8e51-97cb09c2af24":{"bearerAuth":{"type":"http","scheme":"bearer","description":"A Recursion API key, created in the console under API keys.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"6c6bb08e-6a29-477e-8c8e-c4454591f1de":{"url":"https://api.recursion.labelbox.com"}},"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":"List environments - Labelbox","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-05T23:56:53.644Z","originalFileLocation":"api-reference/environments/list-environments.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 environment in the calling organization with its full sandbox spec (provider, image, setup, resources, network policy). Soft-deleted environments are omitted, and the response is not paginated.\">\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=\"List environments - Labelbox\">\u003cmeta data-mint-head property=\"og:description\" content=\"Returns every environment in the calling organization with its full sandbox spec (provider, image, setup, resources, network policy). Soft-deleted environments are omitted, and the response is not paginated.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Labelbox\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.labelbox.com/api-reference/environments/list-environments\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://labelbox-1db23ff4.mintlify.app/_mintlify/api/og/v2?division=Environments\u0026amp;title=List+environments\u0026amp;description=Returns+every+environment+in+the+calling+organization+with+its+full+sandbox+spec+%28provider%2C+image%2C+setup%2C+resources%2C+network+policy%29.+Soft-deleted+environments+\u0026amp;theme=f571ec5c82cb5a5bd7bfc07f\u0026amp;signature=0f268de39bbe4f324d2bb2b60dd15c3cd6422932f2afa2c31083c5669882c1ae\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"List environments - Labelbox\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Returns every environment in the calling organization with its full sandbox spec (provider, image, setup, resources, network policy). Soft-deleted environments are omitted, and the response is not paginated.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://labelbox-1db23ff4.mintlify.app/_mintlify/api/og/v2?division=Environments\u0026amp;title=List+environments\u0026amp;description=Returns+every+environment+in+the+calling+organization+with+its+full+sandbox+spec+%28provider%2C+image%2C+setup%2C+resources%2C+network+policy%29.+Soft-deleted+environments+\u0026amp;theme=f571ec5c82cb5a5bd7bfc07f\u0026amp;signature=0f268de39bbe4f324d2bb2b60dd15c3cd6422932f2afa2c31083c5669882c1ae\">\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/environments/list-environments\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/environments/list-environments.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/environments/list-environments#webpage\",\"url\":\"https://docs.labelbox.com/api-reference/environments/list-environments\",\"name\":\"List environments\",\"description\":\"Returns every environment in the calling organization with its full sandbox spec (provider, image, setup, resources, network policy). Soft-deleted environments are omitted, and the response is not paginated.\",\"dateModified\":\"2026-11-05T23:56:53.644Z\",\"isPartOf\":{\"@id\":\"https://docs.labelbox.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.labelbox.com/api-reference/environments/list-environments#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.labelbox.com/api-reference/environments/list-environments#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Labelbox\",\"item\":\"https://docs.labelbox.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"List environments\",\"item\":\"https://docs.labelbox.com/api-reference/environments/list-environments\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.labelbox.com/api-reference/environments/list-environments#apireference\",\"headline\":\"List environments\",\"name\":\"List environments\",\"description\":\"Returns every environment in the calling organization with its full sandbox spec (provider, image, setup, resources, network policy). Soft-deleted environments are omitted, and the response is not paginated.\",\"url\":\"https://docs.labelbox.com/api-reference/environments/list-environments\",\"mainEntityOfPage\":{\"@id\":\"https://docs.labelbox.com/api-reference/environments/list-environments#webpage\"},\"dateModified\":\"2026-11-05T23:56:53.644Z\",\"publisher\":{\"@id\":\"https://docs.labelbox.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.labelbox.com#website\"}}]}\u003c/script>","siteName":"Labelbox","nav":{"global":null,"products":[{"product":"Recursion","icon":"https://mintlify.s3.us-west-1.amazonaws.com/labelbox-1db23ff4/images/recursion-mark.svg","description":"Managed agents that work in your apps, learn, and run on schedule","tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/recursion"}]},{"tab":"API reference","groups":[{"group":"API reference","pages":[{"title":"API conventions","href":"/recursion/api"},{"title":"Limits","href":"/recursion/limits"},{"title":"Errors","href":"/recursion/errors"},{"title":"Event types and states","sidebarTitle":"Event types and states","href":"/recursion/reference"},{"title":"Glossary","href":"/recursion/glossary"},{"title":"Security","href":"/recursion/security"},{"title":"Troubleshooting","description":"Match a Managed Agents symptom or error code to its cause and fix, for sign-in, keys, organizations, billing, environments, integrations, files, automations, MCP servers and credentials, and sessions.","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","description":"Defines the sandbox an agent session runs in and returns the stored environment, including its generated environment_id. The provider must be one this deployment reports from managedAgentsListSandboxProviders. Privileged Docker requires unrestricted internet access (network_policy: {}). Nothing is provisioned by this configuration write; compute is allocated when managedAgentsCreateEnvironmentSetupRun or a session references the environment. An environment with a setup script must be verified (managedAgentsCreateEnvironmentSetupRun) before a session on the runs or docker provider will start. Send Idempotency-Key to make a retry after an ambiguous transport failure replay the original response instead of creating another environment.","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/environments","href":"/api-reference/environments/create-environment"},{"title":"Get environment","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/environments/{environmentId}","href":"/api-reference/environments/get-environment"},{"title":"Soft delete environment","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml delete /managed-agents/v1/environments/{environmentId}","href":"/api-reference/environments/soft-delete-environment"},{"title":"Update environment","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml patch /managed-agents/v1/environments/{environmentId}","href":"/api-reference/environments/update-environment"},{"title":"List setup runs","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/environments/{environmentId}/setup-runs","href":"/api-reference/environments/list-setup-runs"},{"title":"Run and verify the environment's setup script","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/environments/{environmentId}/setup-runs","href":"/api-reference/environments/run-and-verify-the-environments-setup-script"},{"title":"Get a setup run, optionally waiting for it to finish","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/environments/{environmentId}/setup-runs/{setupRunId}","href":"/api-reference/environments/get-a-setup-run-optionally-waiting-for-it-to-finish"},{"title":"Read or tail a setup run's log","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/environments/{environmentId}/setup-runs/{setupRunId}/log","href":"/api-reference/environments/read-or-tail-a-setup-runs-log"},{"title":"Cancel a setup run","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/environments/{environmentId}/setup-runs/{setupRunId}/cancel","href":"/api-reference/environments/cancel-a-setup-run"},{"title":"List environments","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/environments","href":"/api-reference/environments/list-environments-1"},{"title":"Create environment","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v2/environments","href":"/api-reference/environments/create-environment-1"},{"title":"Get environment","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/environments/{environmentId}","href":"/api-reference/environments/get-environment-1"},{"title":"Soft delete environment","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml delete /managed-agents/v2/environments/{environmentId}","href":"/api-reference/environments/soft-delete-environment-1"},{"title":"Update environment","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml patch /managed-agents/v2/environments/{environmentId}","href":"/api-reference/environments/update-environment-1"},{"title":"List setup runs","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/environments/{environmentId}/setup-runs","href":"/api-reference/environments/list-setup-runs-1"},{"title":"Run and verify the environment's setup script","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v2/environments/{environmentId}/setup-runs","href":"/api-reference/environments/run-and-verify-the-environments-setup-script-1"},{"title":"Get a setup run, optionally waiting for it to finish","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/environments/{environmentId}/setup-runs/{setupRunId}","href":"/api-reference/environments/get-a-setup-run-optionally-waiting-for-it-to-finish-1"},{"title":"Read or tail a setup run's log","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/environments/{environmentId}/setup-runs/{setupRunId}/log","href":"/api-reference/environments/read-or-tail-a-setup-runs-log-1"},{"title":"Cancel a setup run","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v2/environments/{environmentId}/setup-runs/{setupRunId}/cancel","href":"/api-reference/environments/cancel-a-setup-run-1"},{"title":"List portable environment templates","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/environment-templates","href":"/api-reference/environments/list-portable-environment-templates"},{"title":"List portable environment templates","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/environment-templates","href":"/api-reference/environments/list-portable-environment-templates-1"},{"title":"List supported sandbox providers","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sandbox-providers","href":"/api-reference/environments/list-supported-sandbox-providers"},{"title":"List supported sandbox providers","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/sandbox-providers","href":"/api-reference/environments/list-supported-sandbox-providers-1"}]},{"group":"Agents","pages":[{"title":"List agents","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/agents","href":"/api-reference/agents/list-agents"},{"title":"Create an agent and immutable version","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/agents","href":"/api-reference/agents/create-an-agent-and-immutable-version"},{"title":"Get one agent","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/agents/{agentId}","href":"/api-reference/agents/get-one-agent"},{"title":"Soft delete agent","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml delete /managed-agents/v1/agents/{agentId}","href":"/api-reference/agents/soft-delete-agent"},{"title":"List agents","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/agents","href":"/api-reference/agents/list-agents-1"},{"title":"Create an agent and immutable version","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v2/agents","href":"/api-reference/agents/create-an-agent-and-immutable-version-1"},{"title":"Get one agent","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/agents/{agentId}","href":"/api-reference/agents/get-one-agent-1"},{"title":"Soft delete agent","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml delete /managed-agents/v2/agents/{agentId}","href":"/api-reference/agents/soft-delete-agent-1"},{"title":"Open the analyst for an agent's sessions","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/agents/{agentId}/analyst","href":"/api-reference/agents/open-the-analyst-for-an-agents-sessions"},{"title":"List an agent's immutable version history","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/agents/{agentId}/versions","href":"/api-reference/agents/list-an-agents-immutable-version-history"},{"title":"Create a new immutable agent version","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/agents/{agentId}/versions","href":"/api-reference/agents/create-a-new-immutable-agent-version"},{"title":"Get one immutable agent version","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/agents/{agentId}/versions/{agentVersionId}","href":"/api-reference/agents/get-one-immutable-agent-version"},{"title":"List an agent's immutable version history","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/agents/{agentId}/versions","href":"/api-reference/agents/list-an-agents-immutable-version-history-1"},{"title":"Create a new immutable agent version","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v2/agents/{agentId}/versions","href":"/api-reference/agents/create-a-new-immutable-agent-version-1"},{"title":"Get one immutable agent version","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/agents/{agentId}/versions/{agentVersionId}","href":"/api-reference/agents/get-one-immutable-agent-version-1"},{"title":"List static agent templates","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/agent-templates","href":"/api-reference/agents/list-static-agent-templates"},{"title":"List static agent templates","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/agent-templates","href":"/api-reference/agents/list-static-agent-templates-1"},{"title":"Search an agent's file history","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/agents/{agentId}/files/search","href":"/api-reference/agents/search-an-agents-file-history"},{"title":"Get one file of an agent's file history","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/agents/{agentId}/files/{fileId}","href":"/api-reference/agents/get-one-file-of-an-agents-file-history"},{"title":"Get what an agent's skills cost the prompt","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/agents/{agentId}/skill-disclosure","href":"/api-reference/agents/get-what-an-agents-skills-cost-the-prompt"},{"title":"Preview importing an agent export file","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v2/agents/import-preview","href":"/api-reference/agents/preview-importing-an-agent-export-file"},{"title":"Import an agent export file","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v2/agents/import","href":"/api-reference/agents/import-an-agent-export-file"}]},{"group":"Tags","pages":[{"title":"Replace an agent's complete tag set","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml put /managed-agents/v1/agents/{agentId}/tags","href":"/api-reference/tags/replace-an-agents-complete-tag-set"},{"title":"Apply one tag to an agent","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml put /managed-agents/v1/agents/{agentId}/tags/{tagId}","href":"/api-reference/tags/apply-one-tag-to-an-agent"},{"title":"Remove one tag from an agent","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml delete /managed-agents/v1/agents/{agentId}/tags/{tagId}","href":"/api-reference/tags/remove-one-tag-from-an-agent"},{"title":"List organization tags","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/tags","href":"/api-reference/tags/list-organization-tags"},{"title":"Create an organization tag","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/tags","href":"/api-reference/tags/create-an-organization-tag"},{"title":"Get one organization tag","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/tags/{tagId}","href":"/api-reference/tags/get-one-organization-tag"},{"title":"Soft delete a tag","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml delete /managed-agents/v1/tags/{tagId}","href":"/api-reference/tags/soft-delete-a-tag"},{"title":"Update a tag definition","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml patch /managed-agents/v1/tags/{tagId}","href":"/api-reference/tags/update-a-tag-definition"}]},{"group":"Skills","pages":[{"title":"List skills","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/skills","href":"/api-reference/skills/list-skills"},{"title":"Create a skill from a document","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/skills","href":"/api-reference/skills/create-a-skill-from-a-document"},{"title":"Publish a skill from a bundle upload","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/skills/upload","href":"/api-reference/skills/publish-a-skill-from-a-bundle-upload"},{"title":"Preview what a skill set costs the prompt","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/skills/disclosure-preview","href":"/api-reference/skills/preview-what-a-skill-set-costs-the-prompt"},{"title":"Get one skill","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/skills/{skillId}","href":"/api-reference/skills/get-one-skill"},{"title":"Soft delete skill","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml delete /managed-agents/v1/skills/{skillId}","href":"/api-reference/skills/soft-delete-skill"},{"title":"Refile a skill into a catalog group","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml patch /managed-agents/v1/skills/{skillId}","href":"/api-reference/skills/refile-a-skill-into-a-catalog-group"},{"title":"List a skill's immutable version history","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/skills/{skillId}/versions","href":"/api-reference/skills/list-a-skills-immutable-version-history"},{"title":"Publish a skill version from a document","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/skills/{skillId}/versions","href":"/api-reference/skills/publish-a-skill-version-from-a-document"},{"title":"Publish a skill version from a bundle upload","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/skills/{skillId}/versions/upload","href":"/api-reference/skills/publish-a-skill-version-from-a-bundle-upload"},{"title":"Get one immutable skill version","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/skills/{skillId}/versions/{skillVersionId}","href":"/api-reference/skills/get-one-immutable-skill-version"},{"title":"Download a skill version's bundle","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/skills/{skillId}/versions/{skillVersionId}/content","href":"/api-reference/skills/download-a-skill-versions-bundle"},{"title":"List skill groups","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/skill-groups","href":"/api-reference/skills/list-skill-groups"},{"title":"Create a skill group","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/skill-groups","href":"/api-reference/skills/create-a-skill-group"},{"title":"Get one skill group","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/skill-groups/{skillGroupId}","href":"/api-reference/skills/get-one-skill-group"},{"title":"Delete a skill group","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml delete /managed-agents/v1/skill-groups/{skillGroupId}","href":"/api-reference/skills/delete-a-skill-group"},{"title":"Update a skill group","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml patch /managed-agents/v1/skill-groups/{skillGroupId}","href":"/api-reference/skills/update-a-skill-group"},{"title":"List the skills in a group","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/skill-groups/{skillGroupId}/skills","href":"/api-reference/skills/list-the-skills-in-a-group"}]},{"group":"Sessions","pages":[{"title":"List sessions","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions","href":"/api-reference/sessions/list-sessions"},{"title":"Start a managed session","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/sessions","href":"/api-reference/sessions/start-a-managed-session"},{"title":"Snapshot every root session created in a window","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/gestalt","href":"/api-reference/sessions/snapshot-every-root-session-created-in-a-window"},{"title":"Stream changes to the sessions gestalt as Server-Sent Events","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/gestalt/stream","href":"/api-reference/sessions/stream-changes-to-the-sessions-gestalt-as-server-sent-events"},{"title":"Roll up token and cost totals for a batch of sessions","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/usage","href":"/api-reference/sessions/roll-up-token-and-cost-totals-for-a-batch-of-sessions"},{"title":"List the caller-defined metadata keys sessions carry","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/metadata-keys","href":"/api-reference/sessions/list-the-caller-defined-metadata-keys-sessions-carry"},{"title":"List the values one caller-defined metadata key takes","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/metadata-values","href":"/api-reference/sessions/list-the-values-one-caller-defined-metadata-key-takes"},{"title":"Get session","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/{sessionId}","href":"/api-reference/sessions/get-session"},{"title":"Soft delete a session subtree (events retained)","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml delete /managed-agents/v1/sessions/{sessionId}","href":"/api-reference/sessions/soft-delete-a-session-subtree-events-retained"},{"title":"Open the session analyst for a session","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/sessions/{sessionId}/analyst","href":"/api-reference/sessions/open-the-session-analyst-for-a-session"},{"title":"Open the organization assistant","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/assistant","href":"/api-reference/sessions/open-the-organization-assistant"},{"title":"Decide on an assistant interaction","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/sessions/{sessionId}/interactions/{interactionId}/decide","href":"/api-reference/sessions/decide-on-an-assistant-interaction"},{"title":"Get the team board","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/{sessionId}/board","href":"/api-reference/sessions/get-the-team-board"},{"title":"Read sandbox CPU, memory, and GPU usage for a session tree","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/{sessionId}/resource-samples","href":"/api-reference/sessions/read-sandbox-cpu-memory-and-gpu-usage-for-a-session-tree"},{"title":"Get root timeline events","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/{sessionId}/events","href":"/api-reference/sessions/get-root-timeline-events"},{"title":"Append user/system events to a session","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/sessions/{sessionId}/events","href":"/api-reference/sessions/append-usersystem-events-to-a-session"},{"title":"Get root session tree and timeline","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/{sessionId}/tree","href":"/api-reference/sessions/get-root-session-tree-and-timeline"},{"title":"List session threads","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/{sessionId}/threads","href":"/api-reference/sessions/list-session-threads"},{"title":"Get session thread","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/{sessionId}/threads/{threadId}","href":"/api-reference/sessions/get-session-thread"},{"title":"Stream session events as Server-Sent Events","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/{sessionId}/events/stream","href":"/api-reference/sessions/stream-session-events-as-server-sent-events"},{"title":"Stream one authenticated complete event content document","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/{sessionId}/events/{eventId}/content","href":"/api-reference/sessions/stream-one-authenticated-complete-event-content-document"},{"title":"Get one private session image","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/{sessionId}/images","href":"/api-reference/sessions/get-one-private-session-image"},{"title":"Hard stop a session immediately","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/sessions/{sessionId}/cancel","href":"/api-reference/sessions/hard-stop-a-session-immediately"},{"title":"Interrupt a running session","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/sessions/{sessionId}/interrupt","href":"/api-reference/sessions/interrupt-a-running-session"},{"title":"Interrupt a session and send a replacement instruction","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/sessions/{sessionId}/interrupt-and-send","href":"/api-reference/sessions/interrupt-a-session-and-send-a-replacement-instruction"},{"title":"List input a session has accepted but not read","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/{sessionId}/pending-inputs","href":"/api-reference/sessions/list-input-a-session-has-accepted-but-not-read"},{"title":"List a session's outcomes and grading history","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/{sessionId}/outcomes","href":"/api-reference/sessions/list-a-sessions-outcomes-and-grading-history"},{"title":"Define what done looks like for a session","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/sessions/{sessionId}/outcomes","href":"/api-reference/sessions/define-what-done-looks-like-for-a-session"},{"title":"Get the agent version a session runs","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/sessions/{sessionId}/agent-version","href":"/api-reference/sessions/get-the-agent-version-a-session-runs"},{"title":"Move a session to another version of its agent","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml put /managed-agents/v1/sessions/{sessionId}/agent-version","href":"/api-reference/sessions/move-a-session-to-another-version-of-its-agent"},{"title":"Move an agent's live sessions to its latest version","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/agents/{agentId}/upgrade-sessions","href":"/api-reference/sessions/move-an-agents-live-sessions-to-its-latest-version"},{"title":"Get an agent's session upgrade","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/agents/{agentId}/session-upgrade","href":"/api-reference/sessions/get-an-agents-session-upgrade"},{"title":"Stop an agent's running session upgrade","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml post /managed-agents/v1/agents/{agentId}/session-upgrade/cancel","href":"/api-reference/sessions/stop-an-agents-running-session-upgrade"},{"title":"Set a session's budget","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml put /managed-agents/v1/sessions/{sessionId}/budget","href":"/api-reference/sessions/set-a-sessions-budget"},{"title":"Remove a session's budget","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml delete /managed-agents/v1/sessions/{sessionId}/budget","href":"/api-reference/sessions/remove-a-sessions-budget"}]},{"group":"Memory","pages":[{"title":"List memory status for every agent","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/agent-memories","href":"/api-reference/memory/list-memory-status-for-every-agent"},{"title":"Get an agent's memory summary","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/agent-memories/{agentId}","href":"/api-reference/memory/get-an-agents-memory-summary"},{"title":"Search an agent's current memories","deprecated":true,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/agents/{agentId}/memories","href":"/api-reference/memory/search-an-agents-current-memories"},{"title":"Search an agent's current memories","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v2/agents/{agentId}/memories","href":"/api-reference/memory/search-an-agents-current-memories-1"},{"title":"Get an agent's memory settings","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/agents/{agentId}/memory/settings","href":"/api-reference/memory/get-an-agents-memory-settings"},{"title":"Update an agent's memory settings","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml patch /managed-agents/v1/agents/{agentId}/memory/settings","href":"/api-reference/memory/update-an-agents-memory-settings"},{"title":"List an agent's memory runs","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/agents/{agentId}/memory/runs","href":"/api-reference/memory/list-an-agents-memory-runs"},{"title":"Get one memory job run","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/agents/{agentId}/memory/runs/{runId}","href":"/api-reference/memory/get-one-memory-job-run"},{"title":"Read one memory","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/memory-stores/{memoryStoreId}/memories/{memoryId}","href":"/api-reference/memory/read-one-memory"},{"title":"Delete a memory","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml delete /managed-agents/v1/memory-stores/{memoryStoreId}/memories/{memoryId}","href":"/api-reference/memory/delete-a-memory"},{"title":"List memory versions","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/memory-stores/{memoryStoreId}/memory-versions","href":"/api-reference/memory/list-memory-versions"},{"title":"Get one memory version","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/memory-stores/{memoryStoreId}/memory-versions/{memoryVersionId}","href":"/api-reference/memory/get-one-memory-version"},{"title":"List memory store revisions","deprecated":null,"version":null,"openapi":"/recursion/openapi.yaml get /managed-agents/v1/memory-stores/{memoryStoreId}/revisions","href":"/api-reference/memory/list-memory-store-revisions"}]},{"group":"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"}]},{"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":"List environments - Labelbox","buildId":"dpl_GZsjphRpnhWkstV12jxWNcMHFyox","deploymentId":"dpl_GZsjphRpnhWkstV12jxWNcMHFyox","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-B5zPa4Vr.js","utils-CVjrr8Yd.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DTgURWzl.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DxTHtkdZ.js","snippetPresets-Cx47o5Vx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-4Fr6y9N_.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-Dq2ElbEk.js","shallow-BfYl9r69.js","getApiPlaygroundDisplay-Ch3xc7i1.js","CodeSnippet-BsBxuJ1v.js","CodeSnippets-CetzeDL8.js","Page-CYZot51e.js","getPastedJson-BxPKFSJx.js","icon-o0J1Ochb.js","MethodPill-Du3usO5m.js","DuplicateIcon-DJypyMzl.js","createIcon-YMA6N8KJ.js","DynamicMarkdown-CWvhfcZc.js","SectionHeading-BdLVaXCd.js","axios-vUo_bRtp.js","Markdown-C4Ez6OeV.js","clsx-DptzKFCt.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-Dt1IougW.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CZ6Wt2Vb.js"]}