Replaces a openai_api_key connection’s credential, keeping its id. Your agent restarts when it runs on the connection and the credential changed. Refused with 409 connection_option_mismatch for a connection of another option, and 404 connection_not_found for a connection you do not hold.
Which credential the connection holds, qualified by its vendor: claude_plan, a Claude plan's setup token; anthropic_api_key, an Anthropic API key; chatgpt_plan, a ChatGPT plan's tokens; chatgpt_host_plan, the ChatGPT login your agent did on its own host; openai_api_key, an OpenAI API key; openrouter_api_key, an OpenRouter API key; opencode_auth_file, an OpenCode auth file.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Aether","colors":{"primary":"#9184ff","light":"#b3a9ff","dark":"#9184ff"},"logo":{"light":"https://mintcdn.com/aether-c4587800/hrC9bOYLpJ53VNbo/logo/light.svg?fit=max\u0026auto=format\u0026n=hrC9bOYLpJ53VNbo\u0026q=85\u0026s=cdf40b8647da8a5d82a91e289a1958f7","dark":"https://mintcdn.com/aether-c4587800/hrC9bOYLpJ53VNbo/logo/dark.svg?fit=max\u0026auto=format\u0026n=hrC9bOYLpJ53VNbo\u0026q=85\u0026s=ff1a5d20e563918957a5f0eba367dee4","href":"https://www.runaether.dev"},"favicon":"https://mintcdn.com/aether-c4587800/hrC9bOYLpJ53VNbo/favicon.svg?fit=max\u0026auto=format\u0026n=hrC9bOYLpJ53VNbo\u0026q=85\u0026s=26bfe1ec698456a716b64fb50a5848be","api":{"openapi":"api-reference/openapi.json"},"appearance":{"default":"dark","strict":true},"background":{"color":{"light":"#f4f3ef","dark":"#08080b"}},"navbar":{"links":[{"href":"https://www.runaether.dev/changelog","label":"Changelog"}],"primary":{"type":"button","label":"Open Aether","href":"https://app.runaether.dev"}},"footer":{"socials":{"x":"https://x.com/pranavctl","github":"https://github.com/Aether-Runtime"}},"fonts":{"family":"Geist"},"styling":{"codeblocks":"dark","latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"aether-c4587800","hasAudioNarration":false,"actualSubdomain":"aether-c4587800","customDomains":["docs.runaether.dev"],"gitSource":{"type":"github","owner":"aether-runtime","repo":"aether","deployBranch":"main","contentDirectory":"apps/docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6addfa6e8dc007203f176071","collectionId":"2a009af6-1ff4-46b6-83a4-3989da04ee75","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6addfa6e8dc007203f176071"},"entitlements":{},"buildId":"6addfacfd2e4fef472e034f4","clientVersion":"0.0.3965","searchFilterCounts":[{"language":"default","tag":"API Reference","count":270},{"language":"default","tag":"CLI Reference","count":35},{"language":"default","tag":"Guides","count":28},{"language":"default","tag":"Pull Requests","count":26},{"language":"default","tag":"Tasks","count":24},{"language":"default","tag":"Using Aether","count":24},{"language":"default","tag":"MCP Servers","count":23},{"language":"default","tag":"Concepts","count":22},{"language":"default","tag":"Agent","count":17},{"language":"default","tag":"Connections","count":16}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"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":"editor-v7-file-tree","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":"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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"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":"byok-sep-25","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":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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}],"isAtlas":false,"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":":root{color-scheme:dark}::selection{background:rgba(145,132,255,.25)}"}],"page":{"pagePath":"api-reference/endpoints/connections/put-connections-by-connectionid-openai-api-key","slug":"/api-reference/endpoints/connections/put-connections-by-connectionid-openai-api-key","pageMetadata":{"title":"Reconnect a connection: OpenAI API key","openapi":"api-reference/openapi.json PUT /connections/{connectionID}/openai-api-key","description":"Replaces a openai_api_key connection's credential, keeping its id. Your agent restarts when it runs on the connection and the credential changed. Refused with 409 connection_option_mismatch for a connection of another option, and 404 connection_not_found for a connection you do not hold.","href":"/api-reference/endpoints/connections/put-connections-by-connectionid-openai-api-key"},"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: \"Replaces a openai_api_key connection’s credential, keeping its id. Your agent restarts when it runs on the connection and the credential changed. Refused with 409 connection_option_mismatch for a connection of another option, and 404 connection_not_found for a connection you do not hold.\"\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":"dark","config":{},"pageMetadata":{"title":"Reconnect a connection: OpenAI API key","openapi":"api-reference/openapi.json PUT /connections/{connectionID}/openai-api-key","description":"Replaces a openai_api_key connection's credential, keeping its id. Your agent restarts when it runs on the connection and the credential changed. Refused with 409 connection_option_mismatch for a connection of another option, and 404 connection_not_found for a connection you do not hold.","href":"/api-reference/endpoints/connections/put-connections-by-connectionid-openai-api-key"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"description":"Replaces a openai_api_key connection's credential, keeping its id. Your agent restarts when it runs on the connection and the credential changed. Refused with 409 connection_option_mismatch for a connection of another option, and 404 connection_not_found for a connection you do not hold.","operationId":"reconnectOpenaiApiKeyConnection","parameters":["74111dda-6065-4cb6-8c13-92ff012bc743"],"requestBody":"8b67bb7e-dd66-44e8-9f29-455ccad9e755","responses":{"200":"722ce10c-fc1f-4f15-9af3-fd42f95d5d61","400":"3bc6f5b9-8bbc-4d07-abbe-5440e4c61e0b","401":"3a509f1f-1f66-4aea-b2e9-ff14b1737f0f","403":"70f52c22-ebde-46e2-99ec-17e4827ff9a7","404":"6591d146-7d47-4368-84f2-7e0d43455b59","409":"4c70daa7-d6e0-4992-9a96-e90fbc8c4ddf","422":"c520f059-29fd-455e-ae9e-082e1ca9f9d7","500":"9e914199-2ce0-4f8e-8bb1-bb0aa7cc6148"},"summary":"Reconnect a connection: OpenAI API key","tags":["connections"],"x-aether-label":"connections.openaiApiKey.reconnect","x-aether-path-ids":{"connectionID":"-"},"method":"put","type":"path","servers":["1e6fa16f-04c3-4c35-b660-15616e3446f5"],"security":["39293ae3-d6e2-4dda-a889-3d56e4ae7c55"],"path":"/connections/{connectionID}/openai-api-key","baseUrlOptions":["https://api.runaether.dev"],"title":"Reconnect a connection: OpenAI API key","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"74111dda-6065-4cb6-8c13-92ff012bc743":{"description":"The connection's id.","in":"path","name":"connectionID","required":true,"schema":{"description":"The connection's id.","format":"uuid","type":"string","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"}}},"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"api_key":{"minLength":4,"pattern":"^\\s*sk-\\S+\\s*$","type":"string","isRequired":true,"uniqueKey":"api_key","typeLabel":"string"}},"required":["api_key"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"api_key":"\u003cstring>"}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"722ce10c-fc1f-4f15-9af3-fd42f95d5d61":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"id":{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"id","typeLabel":"string\u003cuuid>"},"name":{"description":"The name you gave the connection, unique among your connections of its option.","minLength":1,"type":"string","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"needs_reauth":{"type":"boolean","isRequired":true,"uniqueKey":"needs_reauth","typeLabel":"boolean"},"option":{"description":"Which credential the connection holds, qualified by its vendor: claude_plan, a Claude plan's setup token; anthropic_api_key, an Anthropic API key; chatgpt_plan, a ChatGPT plan's tokens; chatgpt_host_plan, the ChatGPT login your agent did on its own host; openai_api_key, an OpenAI API key; openrouter_api_key, an OpenRouter API key; opencode_auth_file, an OpenCode auth file.","enum":["claude_plan","anthropic_api_key","chatgpt_plan","chatgpt_host_plan","openai_api_key","openrouter_api_key","opencode_auth_file"],"type":"string","isRequired":true,"uniqueKey":"option","typeLabel":"enum\u003cstring>"},"works_with":{"description":"The harnesses that run on the connection, which its option decides.","items":{"enum":["claude-code","codex","opencode"],"type":"string","uniqueKey":"works_with.items.[INDEX]","typeLabel":"enum\u003cstring>"},"minItems":1,"type":"array","isRequired":true,"uniqueKey":"works_with","typeLabel":"enum\u003cstring>[]"},"email":{"description":"A ChatGPT plan's account email, when its token names one.","minLength":1,"type":"string","uniqueKey":"email","typeLabel":"string"},"key_suffix":{"description":"An API key's last four characters, for a key of at least eight.","minLength":1,"type":"string","uniqueKey":"key_suffix","typeLabel":"string"},"profiles":{"oneOf":[{"description":"The agent profiles that run on the connection.","items":{"additionalProperties":false,"properties":{"id":{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"profiles.oneOf.0.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"name":{"minLength":1,"type":"string","isRequired":true,"uniqueKey":"profiles.oneOf.0.items.[INDEX].name","typeLabel":"string"},"org":{"description":"The name of the organization the profile belongs to.","minLength":1,"type":"string","isRequired":true,"uniqueKey":"profiles.oneOf.0.items.[INDEX].org","typeLabel":"string"}},"required":["id","name","org"],"type":"object","uniqueKey":"profiles.oneOf.0.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"profiles.oneOf.0","typeLabel":"object[]"},{"description":"The agent profiles that run on the connection.","items":{"additionalProperties":false,"properties":{"id":{"format":"uuid","type":"string"},"name":{"minLength":1,"type":"string"},"org":{"description":"The name of the organization the profile belongs to.","minLength":1,"type":"string"}},"required":["id","name","org"],"type":"object"},"type":"null","uniqueKey":"profiles.oneOf.1","typeLabel":"null"}],"uniqueKey":"profiles","typeLabel":"object[] | null"},"providers":{"oneOf":[{"description":"The model providers an OpenCode auth file signs in to.","items":{"type":"string","uniqueKey":"providers.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"providers.oneOf.0","typeLabel":"string[]"},{"description":"The model providers an OpenCode auth file signs in to.","items":{"type":"string"},"type":"null","uniqueKey":"providers.oneOf.1","typeLabel":"null"}],"uniqueKey":"providers","typeLabel":"string[] | null"},"reauth_reason":{"type":"string","uniqueKey":"reauth_reason","typeLabel":"string"}},"required":["id","option","works_with","name","needs_reauth"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","name":"\u003cstring>","needs_reauth":true,"option":"claude_plan","works_with":["claude-code"],"email":"\u003cstring>","key_suffix":"\u003cstring>","profiles":[{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","name":"\u003cstring>","org":"\u003cstring>"}],"providers":["\u003cstring>"],"reauth_reason":"\u003cstring>"}}},"exampleType":"generated"}},"description":"OK","exampleType":"generated"},"3bc6f5b9-8bbc-4d07-abbe-5440e4c61e0b":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["aether_inference_unavailable","aether_inference_unserved","agent_credential_unreadable","agent_host_account_deleting","agent_host_command_not_found","agent_host_creation_disabled","agent_host_exists","agent_host_illegal_transition","agent_host_not_allowlisted","agent_host_not_found","agent_host_other_provider_app","agent_host_project_not_eligible","agent_host_provisioning_failed","agent_host_state_changed","agent_host_wake_failed","agent_line_unavailable","bad_gateway","bad_request","conflict","connection_account_held","connection_agent_only","connection_harness_mismatch","connection_is_default","connection_name_taken","connection_not_found","connection_option_mismatch","connection_runs_agent","connection_runs_profiles","forbidden","gateway_timeout","gone","internal_error","line_exists","line_not_found","line_not_imessage","method_not_allowed","no_default_connection","not_acceptable","not_found","not_implemented","payment_required","precondition_failed","rate_limited","request_canceled","request_timeout","request_too_large","service_unavailable","unauthenticated","unsupported_media_type","validation_failed","whatsapp_not_enabled"],"minLength":1,"type":"string","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"error":{"minLength":1,"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"errors":{"items":{"additionalProperties":false,"properties":{"location":{"description":"Where the error occurred, e.g. 'body.items[3].tags' or 'path.thing-id'","type":"string","uniqueKey":"errors.items.[INDEX].location","typeLabel":"string"},"message":{"description":"Error message text","type":"string","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"value":{"description":"The value at the given location","uniqueKey":"errors.items.[INDEX].value","typeLabel":"any"}},"type":"object","uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"errors","typeLabel":"object[]"}},"required":["error","code"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"aether_inference_unavailable","error":"\u003cstring>","errors":[{"location":"\u003cstring>","message":"\u003cstring>","value":"\u003cunknown>"}]}}},"exampleType":"generated"}},"description":"Bad Request","exampleType":"generated"},"3a509f1f-1f66-4aea-b2e9-ff14b1737f0f":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["aether_inference_unavailable","aether_inference_unserved","agent_credential_unreadable","agent_host_account_deleting","agent_host_command_not_found","agent_host_creation_disabled","agent_host_exists","agent_host_illegal_transition","agent_host_not_allowlisted","agent_host_not_found","agent_host_other_provider_app","agent_host_project_not_eligible","agent_host_provisioning_failed","agent_host_state_changed","agent_host_wake_failed","agent_line_unavailable","bad_gateway","bad_request","conflict","connection_account_held","connection_agent_only","connection_harness_mismatch","connection_is_default","connection_name_taken","connection_not_found","connection_option_mismatch","connection_runs_agent","connection_runs_profiles","forbidden","gateway_timeout","gone","internal_error","line_exists","line_not_found","line_not_imessage","method_not_allowed","no_default_connection","not_acceptable","not_found","not_implemented","payment_required","precondition_failed","rate_limited","request_canceled","request_timeout","request_too_large","service_unavailable","unauthenticated","unsupported_media_type","validation_failed","whatsapp_not_enabled"],"minLength":1,"type":"string","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"error":{"minLength":1,"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"errors":{"items":{"additionalProperties":false,"properties":{"location":{"description":"Where the error occurred, e.g. 'body.items[3].tags' or 'path.thing-id'","type":"string","uniqueKey":"errors.items.[INDEX].location","typeLabel":"string"},"message":{"description":"Error message text","type":"string","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"value":{"description":"The value at the given location","uniqueKey":"errors.items.[INDEX].value","typeLabel":"any"}},"type":"object","uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"errors","typeLabel":"object[]"}},"required":["error","code"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"aether_inference_unavailable","error":"\u003cstring>","errors":[{"location":"\u003cstring>","message":"\u003cstring>","value":"\u003cunknown>"}]}}},"exampleType":"generated"}},"description":"Unauthorized","exampleType":"generated"},"70f52c22-ebde-46e2-99ec-17e4827ff9a7":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["org_membership_required","org_role_insufficient","org_suspended","account_deleting","agent_host_route_not_allowed","credential_kind_not_admitted"],"type":"string","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"error":{"minLength":1,"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"required":["error","code"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"org_membership_required","error":"\u003cstring>"}}},"exampleType":"generated"}},"description":"Forbidden","exampleType":"generated"},"6591d146-7d47-4368-84f2-7e0d43455b59":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["aether_inference_unavailable","aether_inference_unserved","agent_credential_unreadable","agent_host_account_deleting","agent_host_command_not_found","agent_host_creation_disabled","agent_host_exists","agent_host_illegal_transition","agent_host_not_allowlisted","agent_host_not_found","agent_host_other_provider_app","agent_host_project_not_eligible","agent_host_provisioning_failed","agent_host_state_changed","agent_host_wake_failed","agent_line_unavailable","bad_gateway","bad_request","conflict","connection_account_held","connection_agent_only","connection_harness_mismatch","connection_is_default","connection_name_taken","connection_not_found","connection_option_mismatch","connection_runs_agent","connection_runs_profiles","forbidden","gateway_timeout","gone","internal_error","line_exists","line_not_found","line_not_imessage","method_not_allowed","no_default_connection","not_acceptable","not_found","not_implemented","payment_required","precondition_failed","rate_limited","request_canceled","request_timeout","request_too_large","service_unavailable","unauthenticated","unsupported_media_type","validation_failed","whatsapp_not_enabled"],"minLength":1,"type":"string","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"error":{"minLength":1,"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"errors":{"items":{"additionalProperties":false,"properties":{"location":{"description":"Where the error occurred, e.g. 'body.items[3].tags' or 'path.thing-id'","type":"string","uniqueKey":"errors.items.[INDEX].location","typeLabel":"string"},"message":{"description":"Error message text","type":"string","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"value":{"description":"The value at the given location","uniqueKey":"errors.items.[INDEX].value","typeLabel":"any"}},"type":"object","uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"errors","typeLabel":"object[]"}},"required":["error","code"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"aether_inference_unavailable","error":"\u003cstring>","errors":[{"location":"\u003cstring>","message":"\u003cstring>","value":"\u003cunknown>"}]}}},"exampleType":"generated"}},"description":"Not Found","exampleType":"generated"},"4c70daa7-d6e0-4992-9a96-e90fbc8c4ddf":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["aether_inference_unavailable","aether_inference_unserved","agent_credential_unreadable","agent_host_account_deleting","agent_host_command_not_found","agent_host_creation_disabled","agent_host_exists","agent_host_illegal_transition","agent_host_not_allowlisted","agent_host_not_found","agent_host_other_provider_app","agent_host_project_not_eligible","agent_host_provisioning_failed","agent_host_state_changed","agent_host_wake_failed","agent_line_unavailable","bad_gateway","bad_request","conflict","connection_account_held","connection_agent_only","connection_harness_mismatch","connection_is_default","connection_name_taken","connection_not_found","connection_option_mismatch","connection_runs_agent","connection_runs_profiles","forbidden","gateway_timeout","gone","internal_error","line_exists","line_not_found","line_not_imessage","method_not_allowed","no_default_connection","not_acceptable","not_found","not_implemented","payment_required","precondition_failed","rate_limited","request_canceled","request_timeout","request_too_large","service_unavailable","unauthenticated","unsupported_media_type","validation_failed","whatsapp_not_enabled"],"minLength":1,"type":"string","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"error":{"minLength":1,"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"errors":{"items":{"additionalProperties":false,"properties":{"location":{"description":"Where the error occurred, e.g. 'body.items[3].tags' or 'path.thing-id'","type":"string","uniqueKey":"errors.items.[INDEX].location","typeLabel":"string"},"message":{"description":"Error message text","type":"string","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"value":{"description":"The value at the given location","uniqueKey":"errors.items.[INDEX].value","typeLabel":"any"}},"type":"object","uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"errors","typeLabel":"object[]"}},"required":["error","code"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"aether_inference_unavailable","error":"\u003cstring>","errors":[{"location":"\u003cstring>","message":"\u003cstring>","value":"\u003cunknown>"}]}}},"exampleType":"generated"}},"description":"Conflict","exampleType":"generated"},"c520f059-29fd-455e-ae9e-082e1ca9f9d7":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["aether_inference_unavailable","aether_inference_unserved","agent_credential_unreadable","agent_host_account_deleting","agent_host_command_not_found","agent_host_creation_disabled","agent_host_exists","agent_host_illegal_transition","agent_host_not_allowlisted","agent_host_not_found","agent_host_other_provider_app","agent_host_project_not_eligible","agent_host_provisioning_failed","agent_host_state_changed","agent_host_wake_failed","agent_line_unavailable","bad_gateway","bad_request","conflict","connection_account_held","connection_agent_only","connection_harness_mismatch","connection_is_default","connection_name_taken","connection_not_found","connection_option_mismatch","connection_runs_agent","connection_runs_profiles","forbidden","gateway_timeout","gone","internal_error","line_exists","line_not_found","line_not_imessage","method_not_allowed","no_default_connection","not_acceptable","not_found","not_implemented","payment_required","precondition_failed","rate_limited","request_canceled","request_timeout","request_too_large","service_unavailable","unauthenticated","unsupported_media_type","validation_failed","whatsapp_not_enabled"],"minLength":1,"type":"string","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"error":{"minLength":1,"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"errors":{"items":{"additionalProperties":false,"properties":{"location":{"description":"Where the error occurred, e.g. 'body.items[3].tags' or 'path.thing-id'","type":"string","uniqueKey":"errors.items.[INDEX].location","typeLabel":"string"},"message":{"description":"Error message text","type":"string","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"value":{"description":"The value at the given location","uniqueKey":"errors.items.[INDEX].value","typeLabel":"any"}},"type":"object","uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"errors","typeLabel":"object[]"}},"required":["error","code"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"aether_inference_unavailable","error":"\u003cstring>","errors":[{"location":"\u003cstring>","message":"\u003cstring>","value":"\u003cunknown>"}]}}},"exampleType":"generated"}},"description":"Unprocessable Entity","exampleType":"generated"},"9e914199-2ce0-4f8e-8bb1-bb0aa7cc6148":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"code":{"enum":["aether_inference_unavailable","aether_inference_unserved","agent_credential_unreadable","agent_host_account_deleting","agent_host_command_not_found","agent_host_creation_disabled","agent_host_exists","agent_host_illegal_transition","agent_host_not_allowlisted","agent_host_not_found","agent_host_other_provider_app","agent_host_project_not_eligible","agent_host_provisioning_failed","agent_host_state_changed","agent_host_wake_failed","agent_line_unavailable","bad_gateway","bad_request","conflict","connection_account_held","connection_agent_only","connection_harness_mismatch","connection_is_default","connection_name_taken","connection_not_found","connection_option_mismatch","connection_runs_agent","connection_runs_profiles","forbidden","gateway_timeout","gone","internal_error","line_exists","line_not_found","line_not_imessage","method_not_allowed","no_default_connection","not_acceptable","not_found","not_implemented","payment_required","precondition_failed","rate_limited","request_canceled","request_timeout","request_too_large","service_unavailable","unauthenticated","unsupported_media_type","validation_failed","whatsapp_not_enabled"],"minLength":1,"type":"string","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"error":{"minLength":1,"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"errors":{"items":{"additionalProperties":false,"properties":{"location":{"description":"Where the error occurred, e.g. 'body.items[3].tags' or 'path.thing-id'","type":"string","uniqueKey":"errors.items.[INDEX].location","typeLabel":"string"},"message":{"description":"Error message text","type":"string","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"value":{"description":"The value at the given location","uniqueKey":"errors.items.[INDEX].value","typeLabel":"any"}},"type":"object","uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"errors","typeLabel":"object[]"}},"required":["error","code"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"aether_inference_unavailable","error":"\u003cstring>","errors":[{"location":"\u003cstring>","message":"\u003cstring>","value":"\u003cunknown>"}]}}},"exampleType":"generated"}},"description":"Internal Server Error","exampleType":"generated"}},"security":{"39293ae3-d6e2-4dda-a889-3d56e4ae7c55":{"bearerAuth":{"bearerFormat":"JWT","scheme":"bearer","type":"http","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"1e6fa16f-04c3-4c35-b660-15616e3446f5":{"url":"https://api.runaether.dev"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"bearerFormat":"JWT","scheme":"bearer","type":"http","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"aether-c4587800","siteName":"Aether","title":"Reconnect a connection: OpenAI API key - Aether","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-25T11:38:48.272Z","originalFileLocation":"api-reference/endpoints/connections/put-connections-by-connectionid-openai-api-key.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"dark\";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=\"dark\"}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=\"Replaces a openai_api_key connection\u0026#x27;s credential, keeping its id. Your agent restarts when it runs on the connection and the credential changed. Refused with 409 connection_option_mismatch for a connection of another option, and 404 connection_not_found for a connection you do not hold.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Aether\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/aether-c4587800/RjJo40w5LK5jrZHD/_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/aether-c4587800/RjJo40w5LK5jrZHD/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/aether-c4587800/RjJo40w5LK5jrZHD/_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/aether-c4587800/RjJo40w5LK5jrZHD/_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/aether-c4587800/RjJo40w5LK5jrZHD/_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/aether-c4587800/RjJo40w5LK5jrZHD/_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/aether-c4587800/RjJo40w5LK5jrZHD/_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/aether-c4587800/RjJo40w5LK5jrZHD/_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/aether-c4587800/RjJo40w5LK5jrZHD/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Reconnect a connection: OpenAI API key - Aether\">\u003cmeta data-mint-head property=\"og:description\" content=\"Replaces a openai_api_key connection\u0026#x27;s credential, keeping its id. Your agent restarts when it runs on the connection and the credential changed. Refused with 409 connection_option_mismatch for a connection of another option, and 404 connection_not_found for a connection you do not hold.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Aether\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.runaether.dev/api-reference/endpoints/connections/put-connections-by-connectionid-openai-api-key\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://aether-c4587800.mintlify.app/_mintlify/api/og/v2?division=Connections\u0026amp;title=Reconnect+a+connection%3A+OpenAI+API+key\u0026amp;description=Replaces+a+openai_api_key+connection%27s+credential%2C+keeping+its+id.+Your+agent+restarts+when+it+runs+on+the+connection+and+the+credential+changed.+Refused+with+4\u0026amp;theme=45bbe8413141f5c0b81fcea8\u0026amp;signature=c6f6e6b79d8030d9ea882195649b01933229d1bc235026cf0d50f3f70384f72c\">\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=\"Reconnect a connection: OpenAI API key - Aether\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Replaces a openai_api_key connection\u0026#x27;s credential, keeping its id. Your agent restarts when it runs on the connection and the credential changed. Refused with 409 connection_option_mismatch for a connection of another option, and 404 connection_not_found for a connection you do not hold.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://aether-c4587800.mintlify.app/_mintlify/api/og/v2?division=Connections\u0026amp;title=Reconnect+a+connection%3A+OpenAI+API+key\u0026amp;description=Replaces+a+openai_api_key+connection%27s+credential%2C+keeping+its+id.+Your+agent+restarts+when+it+runs+on+the+connection+and+the+credential+changed.+Refused+with+4\u0026amp;theme=45bbe8413141f5c0b81fcea8\u0026amp;signature=c6f6e6b79d8030d9ea882195649b01933229d1bc235026cf0d50f3f70384f72c\">\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/aether-c4587800/RjJo40w5LK5jrZHD/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Aether\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#9184ff\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.runaether.dev/api-reference/endpoints/connections/put-connections-by-connectionid-openai-api-key\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/endpoints/connections/put-connections-by-connectionid-openai-api-key.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.runaether.dev/#organization\",\"name\":\"Aether\",\"url\":\"https://docs.runaether.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/aether-c4587800/hrC9bOYLpJ53VNbo/logo/light.svg?fit=max\u0026auto=format\u0026n=hrC9bOYLpJ53VNbo\u0026q=85\u0026s=cdf40b8647da8a5d82a91e289a1958f7\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.runaether.dev#website\",\"name\":\"Aether\",\"url\":\"https://docs.runaether.dev\",\"publisher\":{\"@id\":\"https://docs.runaether.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.runaether.dev/api-reference/endpoints/connections/put-connections-by-connectionid-openai-api-key#webpage\",\"url\":\"https://docs.runaether.dev/api-reference/endpoints/connections/put-connections-by-connectionid-openai-api-key\",\"name\":\"Reconnect a connection: OpenAI API key\",\"description\":\"Replaces a openai_api_key connection's credential, keeping its id. Your agent restarts when it runs on the connection and the credential changed. Refused with 409 connection_option_mismatch for a connection of another option, and 404 connection_not_found for a connection you do not hold.\",\"dateModified\":\"2026-10-25T11:38:48.272Z\",\"isPartOf\":{\"@id\":\"https://docs.runaether.dev#website\"},\"breadcrumb\":{\"@id\":\"https://docs.runaether.dev/api-reference/endpoints/connections/put-connections-by-connectionid-openai-api-key#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.runaether.dev/api-reference/endpoints/connections/put-connections-by-connectionid-openai-api-key#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Connections\",\"item\":\"https://docs.runaether.dev/api-reference/endpoints/connections/get-connections\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Reconnect a connection: OpenAI API key\",\"item\":\"https://docs.runaether.dev/api-reference/endpoints/connections/put-connections-by-connectionid-openai-api-key\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.runaether.dev/api-reference/endpoints/connections/put-connections-by-connectionid-openai-api-key#apireference\",\"headline\":\"Reconnect a connection: OpenAI API key\",\"name\":\"Reconnect a connection: OpenAI API key\",\"description\":\"Replaces a openai_api_key connection's credential, keeping its id. Your agent restarts when it runs on the connection and the credential changed. Refused with 409 connection_option_mismatch for a connection of another option, and 404 connection_not_found for a connection you do not hold.\",\"url\":\"https://docs.runaether.dev/api-reference/endpoints/connections/put-connections-by-connectionid-openai-api-key\",\"mainEntityOfPage\":{\"@id\":\"https://docs.runaether.dev/api-reference/endpoints/connections/put-connections-by-connectionid-openai-api-key#webpage\"},\"dateModified\":\"2026-10-25T11:38:48.272Z\",\"publisher\":{\"@id\":\"https://docs.runaether.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.runaether.dev#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Aether\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Aether","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/introduction"}]},{"tab":"Concepts","pages":[{"title":"Concepts","href":"/concepts/overview"}]},{"tab":"API Reference","groups":[{"group":"API Reference","pages":[{"title":"API Overview","href":"/api-reference/overview"},{"title":"Authentication","href":"/api-reference/authentication"},{"title":"Release Notes","href":"/api-reference/release-notes"}]},{"group":"Projects","pages":[{"title":"List projects","openapi":"api-reference/openapi.json GET /orgs/{orgID}/projects","href":"/api-reference/endpoints/projects/get-orgs-by-orgid-projects"},{"title":"Create project","openapi":"api-reference/openapi.json POST /orgs/{orgID}/projects","href":"/api-reference/endpoints/projects/post-orgs-by-orgid-projects"},{"title":"Get project","openapi":"api-reference/openapi.json GET /projects/{projectID}","href":"/api-reference/endpoints/projects/get-projects-by-projectid"},{"title":"Get project runtime options","openapi":"api-reference/openapi.json GET /projects/{projectID}/runtime-options","href":"/api-reference/endpoints/projects/get-projects-by-projectid-runtime-options"},{"title":"Update project","openapi":"api-reference/openapi.json PATCH /projects/{projectID}","href":"/api-reference/endpoints/projects/patch-projects-by-projectid"}]},{"group":"Workspaces","pages":[{"title":"List workspaces for a project","openapi":"api-reference/openapi.json GET /projects/{projectID}/workspaces","href":"/api-reference/endpoints/workspaces/get-projects-by-projectid-workspaces"},{"title":"List workspaces across all projects","openapi":"api-reference/openapi.json GET /orgs/{orgID}/workspaces","href":"/api-reference/endpoints/workspaces/get-orgs-by-orgid-workspaces"},{"title":"Get a workspace","openapi":"api-reference/openapi.json GET /workspaces/{workspaceID}","href":"/api-reference/endpoints/workspaces/get-workspaces-by-workspaceid"},{"title":"Update workspace settings","openapi":"api-reference/openapi.json PATCH /workspaces/{workspaceID}","href":"/api-reference/endpoints/workspaces/patch-workspaces-by-workspaceid"},{"title":"Delete a workspace","openapi":"api-reference/openapi.json DELETE /workspaces/{workspaceID}","href":"/api-reference/endpoints/workspaces/delete-workspaces-by-workspaceid"},{"title":"Connect to a workspace","openapi":"api-reference/openapi.json POST /workspaces/{workspaceID}/connect","href":"/api-reference/endpoints/workspaces/post-workspaces-by-workspaceid-connect"},{"title":"Create an authenticated preview","openapi":"api-reference/openapi.json POST /workspaces/{workspaceID}/preview-auth","href":"/api-reference/endpoints/workspaces/post-workspaces-by-workspaceid-preview-auth"},{"title":"Stop a workspace","openapi":"api-reference/openapi.json POST /workspaces/{workspaceID}/stop","href":"/api-reference/endpoints/workspaces/post-workspaces-by-workspaceid-stop"}]},{"group":"Tasks","pages":[{"title":"List tasks","openapi":"api-reference/openapi.json GET /orgs/{orgID}/tasks","href":"/api-reference/endpoints/tasks/get-orgs-by-orgid-tasks"},{"title":"Search conversations","openapi":"api-reference/openapi.json GET /orgs/{orgID}/tasks/search","href":"/api-reference/endpoints/tasks/get-orgs-by-orgid-tasks-search"},{"title":"Create a task","openapi":"api-reference/openapi.json POST /orgs/{orgID}/tasks","href":"/api-reference/endpoints/tasks/post-orgs-by-orgid-tasks"},{"title":"Get a task with its activity","openapi":"api-reference/openapi.json GET /tasks/{taskID}","href":"/api-reference/endpoints/tasks/get-tasks-by-taskid"},{"title":"Get the tree containing a task","openapi":"api-reference/openapi.json GET /tasks/{taskID}/tree","href":"/api-reference/endpoints/tasks/get-tasks-by-taskid-tree"},{"title":"List a task's activity","openapi":"api-reference/openapi.json GET /tasks/{taskID}/activity","href":"/api-reference/endpoints/tasks/get-tasks-by-taskid-activity"},{"title":"List media captured for a task","openapi":"api-reference/openapi.json GET /tasks/{taskID}/media","href":"/api-reference/endpoints/tasks/get-tasks-by-taskid-media"},{"title":"Hide a capture from the proof page and the Verify panel, or return it to them","openapi":"api-reference/openapi.json PATCH /tasks/{taskID}/media/{mediaID}","href":"/api-reference/endpoints/tasks/patch-tasks-by-taskid-media-by-mediaid"},{"title":"List the cloud devices a task is currently holding","openapi":"api-reference/openapi.json GET /tasks/{taskID}/device-sessions","href":"/api-reference/endpoints/tasks/get-tasks-by-taskid-device-sessions"},{"title":"List the provider-native subagents a task owns","openapi":"api-reference/openapi.json GET /tasks/{taskID}/subagents","href":"/api-reference/endpoints/tasks/get-tasks-by-taskid-subagents"},{"title":"Read one subagent's transcript","openapi":"api-reference/openapi.json GET /tasks/{taskID}/subagents/{toolCallID}/events","href":"/api-reference/endpoints/tasks/get-tasks-by-taskid-subagents-by-toolcallid-events"},{"title":"Get the content of one referenced conversation attachment","openapi":"api-reference/openapi.json GET /tasks/{taskID}/messages/{messageID}/attachments/{sha256}","href":"/api-reference/endpoints/tasks/get-tasks-by-taskid-messages-by-messageid-attachments-by-sha256"},{"title":"Replace task settings","openapi":"api-reference/openapi.json PUT /tasks/{taskID}","href":"/api-reference/endpoints/tasks/put-tasks-by-taskid"},{"title":"Change a task's archive and pin state","openapi":"api-reference/openapi.json PATCH /tasks/{taskID}","href":"/api-reference/endpoints/tasks/patch-tasks-by-taskid"},{"title":"Rename a task","openapi":"api-reference/openapi.json PUT /tasks/{taskID}/name","href":"/api-reference/endpoints/tasks/put-tasks-by-taskid-name"},{"title":"Read accepted open messages and their canonical replacements","openapi":"api-reference/openapi.json GET /tasks/{taskID}/conversation/live","href":"/api-reference/endpoints/tasks/get-tasks-by-taskid-conversation-live"},{"title":"Read one task's model spend by what paid for it","openapi":"api-reference/openapi.json GET /tasks/{taskID}/spend","href":"/api-reference/endpoints/tasks/get-tasks-by-taskid-spend"},{"title":"Read what one task's metered runs have used so far","openapi":"api-reference/openapi.json GET /tasks/{taskID}/runtime-usage","href":"/api-reference/endpoints/tasks/get-tasks-by-taskid-runtime-usage"},{"title":"Get a page of task conversation turn summaries","openapi":"api-reference/openapi.json GET /tasks/{taskID}/conversation/turns","href":"/api-reference/endpoints/tasks/get-tasks-by-taskid-conversation-turns"},{"title":"Get a page of activity owned by a task conversation turn","openapi":"api-reference/openapi.json GET /tasks/{taskID}/conversation/turns/{turnID}/activity","href":"/api-reference/endpoints/tasks/get-tasks-by-taskid-conversation-turns-by-turnid-activity"},{"title":"Get a page of task conversation turn summaries","openapi":"api-reference/openapi.json GET /tasks/{taskID}/conversation/turns","href":"/api-reference/endpoints/tasks/get-tasks-by-taskid-conversation-turns"},{"title":"Get a page of activity owned by a task conversation turn","openapi":"api-reference/openapi.json GET /tasks/{taskID}/conversation/turns/{turnID}/activity","href":"/api-reference/endpoints/tasks/get-tasks-by-taskid-conversation-turns-by-turnid-activity"},{"title":"Remove a queued message from a task","openapi":"api-reference/openapi.json POST /tasks/{taskID}/remove-from-queue","href":"/api-reference/endpoints/tasks/post-tasks-by-taskid-remove-from-queue"},{"title":"Respond to a task","openapi":"api-reference/openapi.json POST /tasks/{taskID}/respond","href":"/api-reference/endpoints/tasks/post-tasks-by-taskid-respond"},{"title":"Stop a running task","openapi":"api-reference/openapi.json POST /tasks/{taskID}/stop","href":"/api-reference/endpoints/tasks/post-tasks-by-taskid-stop"},{"title":"Create a task from an imported local agent session","openapi":"api-reference/openapi.json POST /orgs/{orgID}/tasks/teleport","href":"/api-reference/endpoints/tasks/post-orgs-by-orgid-tasks-teleport"}]},{"group":"Environment Variables","pages":[{"title":"List project environment variables","openapi":"api-reference/openapi.json GET /projects/{projectID}/env-vars","href":"/api-reference/endpoints/env-vars/get-projects-by-projectid-env-vars"},{"title":"Import project environment variables","openapi":"api-reference/openapi.json POST /projects/{projectID}/env-vars/import","href":"/api-reference/endpoints/env-vars/post-projects-by-projectid-env-vars-import"},{"title":"Get project environment variable","openapi":"api-reference/openapi.json GET /projects/{projectID}/env-vars/{key}","href":"/api-reference/endpoints/env-vars/get-projects-by-projectid-env-vars-by-key"},{"title":"Set project environment variable","openapi":"api-reference/openapi.json PUT /projects/{projectID}/env-vars/{key}","href":"/api-reference/endpoints/env-vars/put-projects-by-projectid-env-vars-by-key"},{"title":"Delete project environment variable","openapi":"api-reference/openapi.json DELETE /projects/{projectID}/env-vars/{key}","href":"/api-reference/endpoints/env-vars/delete-projects-by-projectid-env-vars-by-key"}]},{"group":"Secret Files","pages":[{"title":"List project secret files","openapi":"api-reference/openapi.json GET /projects/{projectID}/secret-files","href":"/api-reference/endpoints/secret-files/get-projects-by-projectid-secret-files"},{"title":"Upload project secret file","openapi":"api-reference/openapi.json POST /projects/{projectID}/secret-files","href":"/api-reference/endpoints/secret-files/post-projects-by-projectid-secret-files"},{"title":"Bulk upload project secret files","openapi":"api-reference/openapi.json POST /projects/{projectID}/secret-files/bulk","href":"/api-reference/endpoints/secret-files/post-projects-by-projectid-secret-files-bulk"},{"title":"Get project secret file","openapi":"api-reference/openapi.json GET /projects/{projectID}/secret-files/{fileKey}","href":"/api-reference/endpoints/secret-files/get-projects-by-projectid-secret-files-by-filekey"},{"title":"Delete project secret file","openapi":"api-reference/openapi.json DELETE /projects/{projectID}/secret-files/{fileKey}","href":"/api-reference/endpoints/secret-files/delete-projects-by-projectid-secret-files-by-filekey"}]},{"group":"Skills","pages":[{"title":"List project skills","openapi":"api-reference/openapi.json GET /projects/{projectID}/skills","href":"/api-reference/endpoints/skills/get-projects-by-projectid-skills"},{"title":"List user skills","openapi":"api-reference/openapi.json GET /skills","href":"/api-reference/endpoints/skills/get-skills"},{"title":"Upload user skill","openapi":"api-reference/openapi.json POST /skills","href":"/api-reference/endpoints/skills/post-skills"},{"title":"Get user skill","openapi":"api-reference/openapi.json GET /skills/{slug}","href":"/api-reference/endpoints/skills/get-skills-by-slug"},{"title":"Delete user skill","openapi":"api-reference/openapi.json DELETE /skills/{slug}","href":"/api-reference/endpoints/skills/delete-skills-by-slug"},{"title":"List default skills","openapi":"api-reference/openapi.json GET /default-skills","href":"/api-reference/endpoints/skills/get-default-skills"},{"title":"Enable or disable a default skill","openapi":"api-reference/openapi.json PUT /default-skills/{slug}","href":"/api-reference/endpoints/skills/put-default-skills-by-slug"}]},{"group":"Automations","pages":[{"title":"List automations","openapi":"api-reference/openapi.json GET /orgs/{orgID}/automations","href":"/api-reference/endpoints/automations/get-orgs-by-orgid-automations"},{"title":"Update automation","openapi":"api-reference/openapi.json PUT /automations/{automationID}","href":"/api-reference/endpoints/automations/put-automations-by-automationid"},{"title":"Delete automation","openapi":"api-reference/openapi.json DELETE /automations/{automationID}","href":"/api-reference/endpoints/automations/delete-automations-by-automationid"},{"title":"Pause or resume an automation","openapi":"api-reference/openapi.json PATCH /automations/{automationID}","href":"/api-reference/endpoints/automations/patch-automations-by-automationid"},{"title":"List automation runs","openapi":"api-reference/openapi.json GET /automations/{automationID}/runs","href":"/api-reference/endpoints/automations/get-automations-by-automationid-runs"},{"title":"Create project automation","openapi":"api-reference/openapi.json POST /projects/{projectID}/automations","href":"/api-reference/endpoints/automations/post-projects-by-projectid-automations"}]},{"group":"Agent Profiles","pages":[{"title":"List agent profiles","openapi":"api-reference/openapi.json GET /orgs/{orgID}/agent-profiles","href":"/api-reference/endpoints/agent-profiles/get-orgs-by-orgid-agent-profiles"},{"title":"Create agent profile","openapi":"api-reference/openapi.json POST /orgs/{orgID}/agent-profiles","href":"/api-reference/endpoints/agent-profiles/post-orgs-by-orgid-agent-profiles"},{"title":"Update agent profile","openapi":"api-reference/openapi.json PUT /agent-profiles/{profileID}","href":"/api-reference/endpoints/agent-profiles/put-agent-profiles-by-profileid"},{"title":"Delete agent profile","openapi":"api-reference/openapi.json DELETE /agent-profiles/{profileID}","href":"/api-reference/endpoints/agent-profiles/delete-agent-profiles-by-profileid"}]},{"group":"MCP Servers","pages":[{"title":"List the organization's MCP servers","openapi":"api-reference/openapi.json GET /orgs/{orgID}/mcp-servers","href":"/api-reference/endpoints/mcp-servers/get-orgs-by-orgid-mcp-servers"},{"title":"Probe how a remote MCP server authenticates","openapi":"api-reference/openapi.json POST /orgs/{orgID}/mcp-servers/probe","href":"/api-reference/endpoints/mcp-servers/post-orgs-by-orgid-mcp-servers-probe"},{"title":"Add an MCP server to the organization's catalog","openapi":"api-reference/openapi.json POST /orgs/{orgID}/mcp-servers","href":"/api-reference/endpoints/mcp-servers/post-orgs-by-orgid-mcp-servers"},{"title":"Update an MCP server","openapi":"api-reference/openapi.json PUT /mcp-servers/{mcpServerID}","href":"/api-reference/endpoints/mcp-servers/put-mcp-servers-by-mcpserverid"},{"title":"Change an MCP server's organization-wide defaults","openapi":"api-reference/openapi.json PATCH /mcp-servers/{mcpServerID}","href":"/api-reference/endpoints/mcp-servers/patch-mcp-servers-by-mcpserverid"},{"title":"Delete an MCP server","openapi":"api-reference/openapi.json DELETE /mcp-servers/{mcpServerID}","href":"/api-reference/endpoints/mcp-servers/delete-mcp-servers-by-mcpserverid"},{"title":"Preview updating a directory server from its entry","openapi":"api-reference/openapi.json POST /mcp-servers/{mcpServerID}/directory-update-preview","href":"/api-reference/endpoints/mcp-servers/post-mcp-servers-by-mcpserverid-directory-update-preview"},{"title":"Update a directory server to the revision its preview showed","openapi":"api-reference/openapi.json POST /mcp-servers/{mcpServerID}/directory-update","href":"/api-reference/endpoints/mcp-servers/post-mcp-servers-by-mcpserverid-directory-update"},{"title":"List the MCP servers a project enables","openapi":"api-reference/openapi.json GET /projects/{projectID}/mcp-servers","href":"/api-reference/endpoints/mcp-servers/get-projects-by-projectid-mcp-servers"},{"title":"Check whether your tasks in a project can start","openapi":"api-reference/openapi.json GET /projects/{projectID}/mcp-server-readiness","href":"/api-reference/endpoints/mcp-servers/get-projects-by-projectid-mcp-server-readiness"},{"title":"Enable an MCP server on a project","openapi":"api-reference/openapi.json PUT /projects/{projectID}/mcp-servers/{mcpServerID}","href":"/api-reference/endpoints/mcp-servers/put-projects-by-projectid-mcp-servers-by-mcpserverid"},{"title":"Disable an MCP server on a project","openapi":"api-reference/openapi.json DELETE /projects/{projectID}/mcp-servers/{mcpServerID}","href":"/api-reference/endpoints/mcp-servers/delete-projects-by-projectid-mcp-servers-by-mcpserverid"},{"title":"List your MCP server connections and the organization's","openapi":"api-reference/openapi.json GET /orgs/{orgID}/mcp-server-connections","href":"/api-reference/endpoints/mcp-servers/get-orgs-by-orgid-mcp-server-connections"},{"title":"Connect an MCP server with your API key","openapi":"api-reference/openapi.json PUT /mcp-servers/{mcpServerID}/connection","href":"/api-reference/endpoints/mcp-servers/put-mcp-servers-by-mcpserverid-connection"},{"title":"Disconnect your MCP server connection","openapi":"api-reference/openapi.json DELETE /mcp-servers/{mcpServerID}/connection","href":"/api-reference/endpoints/mcp-servers/delete-mcp-servers-by-mcpserverid-connection"},{"title":"Connect an MCP server for the organization","openapi":"api-reference/openapi.json PUT /mcp-servers/{mcpServerID}/org-connection","href":"/api-reference/endpoints/mcp-servers/put-mcp-servers-by-mcpserverid-org-connection"},{"title":"Disconnect the organization's MCP server connection","openapi":"api-reference/openapi.json DELETE /mcp-servers/{mcpServerID}/org-connection","href":"/api-reference/endpoints/mcp-servers/delete-mcp-servers-by-mcpserverid-org-connection"},{"title":"Connect an MCP server with OAuth","openapi":"api-reference/openapi.json POST /mcp-servers/{mcpServerID}/connection/oauth","href":"/api-reference/endpoints/mcp-servers/post-mcp-servers-by-mcpserverid-connection-oauth"},{"title":"Connect an MCP server with OAuth for the organization","openapi":"api-reference/openapi.json POST /mcp-servers/{mcpServerID}/org-connection/oauth","href":"/api-reference/endpoints/mcp-servers/post-mcp-servers-by-mcpserverid-org-connection-oauth"},{"title":"Finish connecting an MCP server with OAuth","openapi":"api-reference/openapi.json POST /mcp-servers/oauth/callback","href":"/api-reference/endpoints/mcp-servers/post-mcp-servers-oauth-callback"},{"title":"List the organization's OAuth apps","openapi":"api-reference/openapi.json GET /orgs/{orgID}/mcp-oauth-apps","href":"/api-reference/endpoints/mcp-servers/get-orgs-by-orgid-mcp-oauth-apps"},{"title":"Save the organization's OAuth app for an issuer","openapi":"api-reference/openapi.json PUT /orgs/{orgID}/mcp-oauth-apps","href":"/api-reference/endpoints/mcp-servers/put-orgs-by-orgid-mcp-oauth-apps"},{"title":"Delete the organization's OAuth app for an issuer","openapi":"api-reference/openapi.json DELETE /orgs/{orgID}/mcp-oauth-apps","href":"/api-reference/endpoints/mcp-servers/delete-orgs-by-orgid-mcp-oauth-apps"}]},{"group":"Plugins","pages":[{"title":"List the official plugin marketplaces","openapi":"api-reference/openapi.json GET /orgs/{orgID}/plugin-marketplaces","href":"/api-reference/endpoints/plugins/get-orgs-by-orgid-plugin-marketplaces"},{"title":"List the plugins a marketplace offers","openapi":"api-reference/openapi.json POST /orgs/{orgID}/plugin-marketplaces/browse","href":"/api-reference/endpoints/plugins/post-orgs-by-orgid-plugin-marketplaces-browse"},{"title":"List the organization's plugins","openapi":"api-reference/openapi.json GET /orgs/{orgID}/plugins","href":"/api-reference/endpoints/plugins/get-orgs-by-orgid-plugins"},{"title":"Install a plugin in the organization","openapi":"api-reference/openapi.json POST /orgs/{orgID}/plugins","href":"/api-reference/endpoints/plugins/post-orgs-by-orgid-plugins"},{"title":"Preview updating a plugin","openapi":"api-reference/openapi.json POST /plugins/{pluginID}/update-preview","href":"/api-reference/endpoints/plugins/post-plugins-by-pluginid-update-preview"},{"title":"Update a plugin to the revision its preview showed","openapi":"api-reference/openapi.json POST /plugins/{pluginID}/update","href":"/api-reference/endpoints/plugins/post-plugins-by-pluginid-update"},{"title":"Change a plugin's organization-wide defaults","openapi":"api-reference/openapi.json PATCH /plugins/{pluginID}","href":"/api-reference/endpoints/plugins/patch-plugins-by-pluginid"},{"title":"Uninstall a plugin","openapi":"api-reference/openapi.json DELETE /plugins/{pluginID}","href":"/api-reference/endpoints/plugins/delete-plugins-by-pluginid"},{"title":"List the plugins a project enables","openapi":"api-reference/openapi.json GET /projects/{projectID}/plugins","href":"/api-reference/endpoints/plugins/get-projects-by-projectid-plugins"},{"title":"Enable a plugin on a project","openapi":"api-reference/openapi.json PUT /projects/{projectID}/plugins/{pluginID}","href":"/api-reference/endpoints/plugins/put-projects-by-projectid-plugins-by-pluginid"},{"title":"Disable a plugin on a project","openapi":"api-reference/openapi.json DELETE /projects/{projectID}/plugins/{pluginID}","href":"/api-reference/endpoints/plugins/delete-projects-by-projectid-plugins-by-pluginid"},{"title":"List Aether's integration directory","openapi":"api-reference/openapi.json GET /orgs/{orgID}/integration-directory","href":"/api-reference/endpoints/plugins/get-orgs-by-orgid-integration-directory"},{"title":"Search integrations by name","openapi":"api-reference/openapi.json GET /orgs/{orgID}/integration-search","href":"/api-reference/endpoints/plugins/get-orgs-by-orgid-integration-search"},{"title":"Search the MCP registry","openapi":"api-reference/openapi.json GET /orgs/{orgID}/integration-search/registry","href":"/api-reference/endpoints/plugins/get-orgs-by-orgid-integration-search-registry"},{"title":"Install an integration of Aether's integration directory","openapi":"api-reference/openapi.json POST /orgs/{orgID}/integration-directory/{key}/install","href":"/api-reference/endpoints/plugins/post-orgs-by-orgid-integration-directory-by-key-install"}]},{"group":"Usage","pages":[{"title":"Get usage summary","openapi":"api-reference/openapi.json GET /orgs/{orgID}/usage/summary","href":"/api-reference/endpoints/usage/get-orgs-by-orgid-usage-summary"}]},{"group":"Profile","pages":[{"title":"Get profile","openapi":"api-reference/openapi.json GET /profile","href":"/api-reference/endpoints/profile/get-profile"},{"title":"Delete your account","openapi":"api-reference/openapi.json DELETE /profile","href":"/api-reference/endpoints/profile/delete-profile"},{"title":"Complete onboarding","openapi":"api-reference/openapi.json POST /profile/onboarding/complete","href":"/api-reference/endpoints/profile/post-profile-onboarding-complete"},{"title":"Launch the onboarding task","openapi":"api-reference/openapi.json POST /profile/onboarding/launch","href":"/api-reference/endpoints/profile/post-profile-onboarding-launch"},{"title":"Set up the onboarding repository","openapi":"api-reference/openapi.json POST /profile/onboarding/repo","href":"/api-reference/endpoints/profile/post-profile-onboarding-repo"}]},{"group":"Organizations","pages":[{"title":"List my organizations","openapi":"api-reference/openapi.json GET /orgs","href":"/api-reference/endpoints/orgs/get-orgs"},{"title":"Create a team organization","openapi":"api-reference/openapi.json POST /orgs","href":"/api-reference/endpoints/orgs/post-orgs"},{"title":"Change organization settings","openapi":"api-reference/openapi.json PATCH /orgs/{orgID}","href":"/api-reference/endpoints/orgs/patch-orgs-by-orgid"},{"title":"List organization members","openapi":"api-reference/openapi.json GET /orgs/{orgID}/members","href":"/api-reference/endpoints/orgs/get-orgs-by-orgid-members"},{"title":"Change an organization member role","openapi":"api-reference/openapi.json PATCH /orgs/{orgID}/members/{userID}","href":"/api-reference/endpoints/orgs/patch-orgs-by-orgid-members-by-userid"},{"title":"Remove an organization member","openapi":"api-reference/openapi.json DELETE /orgs/{orgID}/members/{userID}","href":"/api-reference/endpoints/orgs/delete-orgs-by-orgid-members-by-userid"},{"title":"Leave an organization","openapi":"api-reference/openapi.json POST /orgs/{orgID}/leave","href":"/api-reference/endpoints/orgs/post-orgs-by-orgid-leave"},{"title":"Ask the organization's admins for a seat","openapi":"api-reference/openapi.json POST /orgs/{orgID}/seat-requests","href":"/api-reference/endpoints/orgs/post-orgs-by-orgid-seat-requests"},{"title":"List open organization invitations (pending or expired)","openapi":"api-reference/openapi.json GET /orgs/{orgID}/invites","href":"/api-reference/endpoints/orgs/get-orgs-by-orgid-invites"},{"title":"Invite a user to an organization","openapi":"api-reference/openapi.json POST /orgs/{orgID}/invites","href":"/api-reference/endpoints/orgs/post-orgs-by-orgid-invites"},{"title":"Revoke an organization invitation","openapi":"api-reference/openapi.json DELETE /orgs/{orgID}/invites/{inviteID}","href":"/api-reference/endpoints/orgs/delete-orgs-by-orgid-invites-by-inviteid"},{"title":"Resend an organization invitation","openapi":"api-reference/openapi.json POST /orgs/{orgID}/invites/{inviteID}/resend","href":"/api-reference/endpoints/orgs/post-orgs-by-orgid-invites-by-inviteid-resend"},{"title":"List my open organization invitations (pending or expired)","openapi":"api-reference/openapi.json GET /invites","href":"/api-reference/endpoints/orgs/get-invites"},{"title":"Accept an organization invitation","openapi":"api-reference/openapi.json POST /invites/{inviteID}/accept","href":"/api-reference/endpoints/orgs/post-invites-by-inviteid-accept"}]},{"group":"User Discovery","pages":[{"title":"Get dismissed discovery keys","openapi":"api-reference/openapi.json GET /user/discovery","href":"/api-reference/endpoints/user-discovery/get-user-discovery"},{"title":"Dismiss a discovery key","openapi":"api-reference/openapi.json POST /user/discovery/dismiss","href":"/api-reference/endpoints/user-discovery/post-user-discovery-dismiss"}]},{"group":"Pr Reviews","pages":[{"title":"List reviewed pull requests with their review runs","openapi":"api-reference/openapi.json GET /orgs/{orgID}/pr-reviews","href":"/api-reference/endpoints/pr-reviews/get-orgs-by-orgid-pr-reviews"},{"title":"Get one reviewed pull request with its review runs","openapi":"api-reference/openapi.json GET /pr-reviews/{pullRequestID}","href":"/api-reference/endpoints/pr-reviews/get-pr-reviews-by-pullrequestid"},{"title":"Get one file's content at a reviewed commit of a pull request","openapi":"api-reference/openapi.json GET /pr-reviews/{pullRequestID}/file-content","href":"/api-reference/endpoints/pr-reviews/get-pr-reviews-by-pullrequestid-file-content"},{"title":"Get the whole stack a reviewed pull request belongs to","openapi":"api-reference/openapi.json GET /pr-reviews/{pullRequestID}/stack","href":"/api-reference/endpoints/pr-reviews/get-pr-reviews-by-pullrequestid-stack"}]},{"group":"Pull Requests","pages":[{"title":"Dispatch pull request feedback to Aether","openapi":"api-reference/openapi.json POST /pull-requests/{pullRequestID}/github/dispatch","href":"/api-reference/endpoints/pull-requests/post-pull-requests-by-pullrequestid-github-dispatch"},{"title":"List Aether feedback dispatches for a pull request","openapi":"api-reference/openapi.json GET /pull-requests/{pullRequestID}/github/dispatches","href":"/api-reference/endpoints/pull-requests/get-pull-requests-by-pullrequestid-github-dispatches"},{"title":"Get a pull request's merge box and checks","openapi":"api-reference/openapi.json GET /pull-requests/{pullRequestID}/github/pr","href":"/api-reference/endpoints/pull-requests/get-pull-requests-by-pullrequestid-github-pr"},{"title":"Post a top-level comment on a pull request","openapi":"api-reference/openapi.json POST /pull-requests/{pullRequestID}/github/pr/comments","href":"/api-reference/endpoints/pull-requests/post-pull-requests-by-pullrequestid-github-pr-comments"},{"title":"Reply to a review comment on a pull request","openapi":"api-reference/openapi.json POST /pull-requests/{pullRequestID}/github/pr/comments/{commentID}/reply","href":"/api-reference/endpoints/pull-requests/post-pull-requests-by-pullrequestid-github-pr-comments-by-commentid-reply"},{"title":"Resolve the review thread containing a comment on a pull request","openapi":"api-reference/openapi.json POST /pull-requests/{pullRequestID}/github/pr/comments/{commentID}/resolve","href":"/api-reference/endpoints/pull-requests/post-pull-requests-by-pullrequestid-github-pr-comments-by-commentid-resolve"},{"title":"Unresolve the review thread containing a comment on a pull request","openapi":"api-reference/openapi.json POST /pull-requests/{pullRequestID}/github/pr/comments/{commentID}/unresolve","href":"/api-reference/endpoints/pull-requests/post-pull-requests-by-pullrequestid-github-pr-comments-by-commentid-unresolve"},{"title":"Get a pull request's changed files with unified-diff patches","openapi":"api-reference/openapi.json GET /pull-requests/{pullRequestID}/github/pr/diff","href":"/api-reference/endpoints/pull-requests/get-pull-requests-by-pullrequestid-github-pr-diff"},{"title":"Merge a pull request","openapi":"api-reference/openapi.json POST /pull-requests/{pullRequestID}/github/pr/merge","href":"/api-reference/endpoints/pull-requests/post-pull-requests-by-pullrequestid-github-pr-merge"},{"title":"Convert a pull request to a draft","openapi":"api-reference/openapi.json POST /pull-requests/{pullRequestID}/github/pr/draft","href":"/api-reference/endpoints/pull-requests/post-pull-requests-by-pullrequestid-github-pr-draft"},{"title":"Mark a draft pull request ready for review","openapi":"api-reference/openapi.json POST /pull-requests/{pullRequestID}/github/pr/ready","href":"/api-reference/endpoints/pull-requests/post-pull-requests-by-pullrequestid-github-pr-ready"},{"title":"Close a pull request","openapi":"api-reference/openapi.json POST /pull-requests/{pullRequestID}/github/pr/close","href":"/api-reference/endpoints/pull-requests/post-pull-requests-by-pullrequestid-github-pr-close"},{"title":"Reopen a closed pull request","openapi":"api-reference/openapi.json POST /pull-requests/{pullRequestID}/github/pr/reopen","href":"/api-reference/endpoints/pull-requests/post-pull-requests-by-pullrequestid-github-pr-reopen"},{"title":"Request reviewers on a pull request","openapi":"api-reference/openapi.json POST /pull-requests/{pullRequestID}/github/pr/reviewers","href":"/api-reference/endpoints/pull-requests/post-pull-requests-by-pullrequestid-github-pr-reviewers"},{"title":"Remove requested reviewers from a pull request","openapi":"api-reference/openapi.json DELETE /pull-requests/{pullRequestID}/github/pr/reviewers","href":"/api-reference/endpoints/pull-requests/delete-pull-requests-by-pullrequestid-github-pr-reviewers"},{"title":"Submit a human pull request review","openapi":"api-reference/openapi.json POST /pull-requests/{pullRequestID}/github/review","href":"/api-reference/endpoints/pull-requests/post-pull-requests-by-pullrequestid-github-review"},{"title":"Request an Aether review of a pull request","openapi":"api-reference/openapi.json POST /pull-requests/{pullRequestID}/github/review-runs","href":"/api-reference/endpoints/pull-requests/post-pull-requests-by-pullrequestid-github-review-runs"},{"title":"List a pull request's review threads","openapi":"api-reference/openapi.json GET /pull-requests/{pullRequestID}/github/pr/threads","href":"/api-reference/endpoints/pull-requests/get-pull-requests-by-pullrequestid-github-pr-threads"},{"title":"List a pull request's activity","openapi":"api-reference/openapi.json GET /pull-requests/{pullRequestID}/activity","href":"/api-reference/endpoints/pull-requests/get-pull-requests-by-pullrequestid-activity"},{"title":"List a pull request's recorded verification events","openapi":"api-reference/openapi.json GET /pull-requests/{pullRequestID}/verification-events","href":"/api-reference/endpoints/pull-requests/get-pull-requests-by-pullrequestid-verification-events"},{"title":"Get everything recorded as proof of a pull request","openapi":"api-reference/openapi.json GET /pull-requests/{pullRequestID}/proof","href":"/api-reference/endpoints/pull-requests/get-pull-requests-by-pullrequestid-proof"},{"title":"Change who may watch a pull request's proof","openapi":"api-reference/openapi.json PATCH /pull-requests/{pullRequestID}/proof","href":"/api-reference/endpoints/pull-requests/patch-pull-requests-by-pullrequestid-proof"},{"title":"Resolve a pull request's proof by repository and number","openapi":"api-reference/openapi.json GET /repos/{owner}/{repo}/pulls/{number}/proof","href":"/api-reference/endpoints/pull-requests/get-repos-by-owner-by-repo-pulls-by-number-proof"},{"title":"Get a public pull request's proof","openapi":"api-reference/openapi.json GET /public/pull-requests/{pullRequestID}/proof","href":"/api-reference/endpoints/pull-requests/get-public-pull-requests-by-pullrequestid-proof"},{"title":"Resolve where a task's public proof is watched","openapi":"api-reference/openapi.json GET /public/tasks/{taskID}/proof","href":"/api-reference/endpoints/pull-requests/get-public-tasks-by-taskid-proof"},{"title":"Resolve a public pull request's proof by repository and number","openapi":"api-reference/openapi.json GET /public/repos/{owner}/{repo}/pulls/{number}/proof","href":"/api-reference/endpoints/pull-requests/get-public-repos-by-owner-by-repo-pulls-by-number-proof"}]},{"group":"Push Tokens","pages":[{"title":"Register an Expo push token for the current user","openapi":"api-reference/openapi.json POST /user/push-tokens","href":"/api-reference/endpoints/push-tokens/post-user-push-tokens"},{"title":"Unregister an Expo push token for the current user","openapi":"api-reference/openapi.json POST /user/push-tokens/unregister","href":"/api-reference/endpoints/push-tokens/post-user-push-tokens-unregister"}]},{"group":"Agent","pages":[{"title":"Get your agent","openapi":"api-reference/openapi.json GET /agent","href":"/api-reference/endpoints/agent/get-agent"},{"title":"List your agent's events","openapi":"api-reference/openapi.json GET /agent/events","href":"/api-reference/endpoints/agent/get-agent-events"},{"title":"List your conversation with your agent","openapi":"api-reference/openapi.json GET /agent/messages","href":"/api-reference/endpoints/agent/get-agent-messages"},{"title":"Send your agent a message","openapi":"api-reference/openapi.json POST /agent/messages","href":"/api-reference/endpoints/agent/post-agent-messages"},{"title":"Choose what your agent runs on and its model","openapi":"api-reference/openapi.json PUT /agent/inference","href":"/api-reference/endpoints/agent/put-agent-inference"},{"title":"Edit your agent's memory","openapi":"api-reference/openapi.json POST /agent/memory","href":"/api-reference/endpoints/agent/post-agent-memory"},{"title":"Change your agent's default project, browser tools or status","openapi":"api-reference/openapi.json PATCH /agent","href":"/api-reference/endpoints/agent/patch-agent"},{"title":"Issue a single-use link","openapi":"api-reference/openapi.json POST /agent/links","href":"/api-reference/endpoints/agent/post-agent-links"},{"title":"Redeem a single-use link","openapi":"api-reference/openapi.json POST /agent/links/redeem","href":"/api-reference/endpoints/agent/post-agent-links-redeem"},{"title":"Paste a code on a single-use link","openapi":"api-reference/openapi.json POST /agent/links/paste","href":"/api-reference/endpoints/agent/post-agent-links-paste"},{"title":"Pick up the code pasted on a single-use link","openapi":"api-reference/openapi.json POST /agent/links/pickup","href":"/api-reference/endpoints/agent/post-agent-links-pickup"},{"title":"Get a connector","openapi":"api-reference/openapi.json GET /agent/connectors/{key}","href":"/api-reference/endpoints/agent/get-agent-connectors-by-key"},{"title":"Get your phone link","openapi":"api-reference/openapi.json GET /agent/phone","href":"/api-reference/endpoints/agent/get-agent-phone"},{"title":"Ask for a code to link your phone","openapi":"api-reference/openapi.json POST /agent/phone/verification","href":"/api-reference/endpoints/agent/post-agent-phone-verification"},{"title":"Delete your agent","openapi":"api-reference/openapi.json DELETE /agent","href":"/api-reference/endpoints/agent/delete-agent"},{"title":"Get your agent's daily spend cap","openapi":"api-reference/openapi.json GET /agent/daily-cap","href":"/api-reference/endpoints/agent/get-agent-daily-cap"},{"title":"Set your agent's daily spend cap","openapi":"api-reference/openapi.json PUT /agent/daily-cap","href":"/api-reference/endpoints/agent/put-agent-daily-cap"}]},{"group":"Connections","pages":[{"title":"List your connections","openapi":"api-reference/openapi.json GET /connections","href":"/api-reference/endpoints/connections/get-connections"},{"title":"Add a connection: Claude plan","openapi":"api-reference/openapi.json POST /connections/claude-plan","href":"/api-reference/endpoints/connections/post-connections-claude-plan"},{"title":"Add a connection: Anthropic API key","openapi":"api-reference/openapi.json POST /connections/anthropic-api-key","href":"/api-reference/endpoints/connections/post-connections-anthropic-api-key"},{"title":"Add a connection: OpenAI API key","openapi":"api-reference/openapi.json POST /connections/openai-api-key","href":"/api-reference/endpoints/connections/post-connections-openai-api-key"},{"title":"Add a connection: OpenRouter API key","openapi":"api-reference/openapi.json POST /connections/openrouter-api-key","href":"/api-reference/endpoints/connections/post-connections-openrouter-api-key"},{"title":"Add a connection: OpenCode auth file","openapi":"api-reference/openapi.json POST /connections/opencode-auth-file","href":"/api-reference/endpoints/connections/post-connections-opencode-auth-file"},{"title":"Start the ChatGPT plan device flow","openapi":"api-reference/openapi.json POST /connections/chatgpt-plan/device-auth/start","href":"/api-reference/endpoints/connections/post-connections-chatgpt-plan-device-auth-start"},{"title":"Poll the ChatGPT plan device flow","openapi":"api-reference/openapi.json POST /connections/chatgpt-plan/device-auth/poll","href":"/api-reference/endpoints/connections/post-connections-chatgpt-plan-device-auth-poll"},{"title":"Reconnect a connection: Claude plan","openapi":"api-reference/openapi.json PUT /connections/{connectionID}/claude-plan","href":"/api-reference/endpoints/connections/put-connections-by-connectionid-claude-plan"},{"title":"Reconnect a connection: Anthropic API key","openapi":"api-reference/openapi.json PUT /connections/{connectionID}/anthropic-api-key","description":"Replaces a anthropic_api_key connection's credential, keeping its id. Your agent restarts when it runs on the connection and the credential changed. Refused with 409 connection_option_mismatch for a connection of another option, and 404 connection_not_found for a connection you do not hold.","href":"/api-reference/endpoints/connections/put-connections-by-connectionid-anthropic-api-key"},{"title":"Reconnect a connection: OpenAI API key","openapi":"api-reference/openapi.json PUT /connections/{connectionID}/openai-api-key","href":"/api-reference/endpoints/connections/put-connections-by-connectionid-openai-api-key"},{"title":"Reconnect a connection: OpenRouter API key","openapi":"api-reference/openapi.json PUT /connections/{connectionID}/openrouter-api-key","description":"Replaces a openrouter_api_key connection's credential, keeping its id. Your agent restarts when it runs on the connection and the credential changed. Refused with 409 connection_option_mismatch for a connection of another option, and 404 connection_not_found for a connection you do not hold.","href":"/api-reference/endpoints/connections/put-connections-by-connectionid-openrouter-api-key"},{"title":"Reconnect a connection: OpenCode auth file","openapi":"api-reference/openapi.json PUT /connections/{connectionID}/opencode-auth-file","href":"/api-reference/endpoints/connections/put-connections-by-connectionid-opencode-auth-file"},{"title":"Rename a connection","openapi":"api-reference/openapi.json PATCH /connections/{connectionID}","href":"/api-reference/endpoints/connections/patch-connections-by-connectionid"},{"title":"Disconnect a connection","openapi":"api-reference/openapi.json DELETE /connections/{connectionID}","href":"/api-reference/endpoints/connections/delete-connections-by-connectionid"},{"title":"Set a harness's default connection","openapi":"api-reference/openapi.json PUT /connections/defaults/{harness}","href":"/api-reference/endpoints/connections/put-connections-defaults-by-harness"}]},{"group":"Slack","pages":[{"title":"Get Slack install URL","openapi":"api-reference/openapi.json GET /orgs/{orgID}/auth/slack/url","href":"/api-reference/endpoints/slack/get-orgs-by-orgid-auth-slack-url"},{"title":"List Slack channels","openapi":"api-reference/openapi.json GET /orgs/{orgID}/slack/channels","href":"/api-reference/endpoints/slack/get-orgs-by-orgid-slack-channels"},{"title":"Disconnect Slack","openapi":"api-reference/openapi.json DELETE /orgs/{orgID}/slack/connection","href":"/api-reference/endpoints/slack/delete-orgs-by-orgid-slack-connection"},{"title":"Update Slack connection","openapi":"api-reference/openapi.json PATCH /orgs/{orgID}/slack/connection","href":"/api-reference/endpoints/slack/patch-orgs-by-orgid-slack-connection"},{"title":"Link my Slack identity","openapi":"api-reference/openapi.json POST /slack/identity/link","href":"/api-reference/endpoints/slack/post-slack-identity-link"},{"title":"Unlink my Slack identity","openapi":"api-reference/openapi.json DELETE /orgs/{orgID}/slack/identity/link","href":"/api-reference/endpoints/slack/delete-orgs-by-orgid-slack-identity-link"},{"title":"Get whether Slack must reconnect","openapi":"api-reference/openapi.json GET /orgs/{orgID}/slack/reconnect","href":"/api-reference/endpoints/slack/get-orgs-by-orgid-slack-reconnect"},{"title":"List Slack routes","openapi":"api-reference/openapi.json GET /orgs/{orgID}/slack/routes","href":"/api-reference/endpoints/slack/get-orgs-by-orgid-slack-routes"},{"title":"Create Slack route","openapi":"api-reference/openapi.json POST /orgs/{orgID}/slack/routes","href":"/api-reference/endpoints/slack/post-orgs-by-orgid-slack-routes"},{"title":"Update Slack route","openapi":"api-reference/openapi.json PATCH /orgs/{orgID}/slack/routes/{routeID}","href":"/api-reference/endpoints/slack/patch-orgs-by-orgid-slack-routes-by-routeid"},{"title":"Delete Slack route","openapi":"api-reference/openapi.json DELETE /orgs/{orgID}/slack/routes/{routeID}","href":"/api-reference/endpoints/slack/delete-orgs-by-orgid-slack-routes-by-routeid"},{"title":"Get Slack status","openapi":"api-reference/openapi.json GET /orgs/{orgID}/slack/status","href":"/api-reference/endpoints/slack/get-orgs-by-orgid-slack-status"}]},{"group":"Sentry","pages":[{"title":"Get Sentry install URL","openapi":"api-reference/openapi.json GET /orgs/{orgID}/auth/sentry/url","href":"/api-reference/endpoints/sentry/get-orgs-by-orgid-auth-sentry-url"},{"title":"Disconnect Sentry","openapi":"api-reference/openapi.json DELETE /orgs/{orgID}/sentry/connection","href":"/api-reference/endpoints/sentry/delete-orgs-by-orgid-sentry-connection"},{"title":"Update Sentry connection","openapi":"api-reference/openapi.json PATCH /orgs/{orgID}/sentry/connection","href":"/api-reference/endpoints/sentry/patch-orgs-by-orgid-sentry-connection"},{"title":"List Sentry project links","openapi":"api-reference/openapi.json GET /orgs/{orgID}/sentry/links","href":"/api-reference/endpoints/sentry/get-orgs-by-orgid-sentry-links"},{"title":"Create Sentry project link","openapi":"api-reference/openapi.json POST /orgs/{orgID}/sentry/links","href":"/api-reference/endpoints/sentry/post-orgs-by-orgid-sentry-links"},{"title":"Update Sentry project link","openapi":"api-reference/openapi.json PATCH /orgs/{orgID}/sentry/links/{linkID}","href":"/api-reference/endpoints/sentry/patch-orgs-by-orgid-sentry-links-by-linkid"},{"title":"Delete Sentry project link","openapi":"api-reference/openapi.json DELETE /orgs/{orgID}/sentry/links/{linkID}","href":"/api-reference/endpoints/sentry/delete-orgs-by-orgid-sentry-links-by-linkid"},{"title":"List Sentry projects","openapi":"api-reference/openapi.json GET /orgs/{orgID}/sentry/projects","href":"/api-reference/endpoints/sentry/get-orgs-by-orgid-sentry-projects"},{"title":"Get Sentry status","openapi":"api-reference/openapi.json GET /orgs/{orgID}/sentry/status","href":"/api-reference/endpoints/sentry/get-orgs-by-orgid-sentry-status"}]},{"group":"Feedback","pages":[{"title":"Submit feedback","openapi":"api-reference/openapi.json POST /feedback","href":"/api-reference/endpoints/feedback/post-feedback"}]},{"group":"Notifications","pages":[{"title":"Get notification preferences","openapi":"api-reference/openapi.json GET /user/notification-preferences","href":"/api-reference/endpoints/notifications/get-user-notification-preferences"},{"title":"Update notification preferences","openapi":"api-reference/openapi.json PUT /user/notification-preferences","href":"/api-reference/endpoints/notifications/put-user-notification-preferences"},{"title":"List notifications","openapi":"api-reference/openapi.json GET /user/notifications","href":"/api-reference/endpoints/notifications/get-user-notifications"},{"title":"Count tasks waiting on you","openapi":"api-reference/openapi.json GET /user/waiting-task-count","href":"/api-reference/endpoints/notifications/get-user-waiting-task-count"},{"title":"Resolve task notifications","openapi":"api-reference/openapi.json POST /user/notifications/tasks/{taskID}/resolve","href":"/api-reference/endpoints/notifications/post-user-notifications-tasks-by-taskid-resolve"},{"title":"Dismiss notification","openapi":"api-reference/openapi.json POST /user/notifications/{notificationID}/dismiss","href":"/api-reference/endpoints/notifications/post-user-notifications-by-notificationid-dismiss"}]},{"group":"GitHub","pages":[{"title":"Get GitHub install URL","openapi":"api-reference/openapi.json GET /auth/github/url","href":"/api-reference/endpoints/github/get-auth-github-url"},{"title":"Get GitHub authorize URL","openapi":"api-reference/openapi.json GET /auth/github/authorize-url","href":"/api-reference/endpoints/github/get-auth-github-authorize-url"},{"title":"Claim GitHub installations from an OAuth code","openapi":"api-reference/openapi.json POST /github/installations/claim","href":"/api-reference/endpoints/github/post-github-installations-claim"},{"title":"Disconnect GitHub","openapi":"api-reference/openapi.json DELETE /github/connection","href":"/api-reference/endpoints/github/delete-github-connection"},{"title":"List GitHub repos","openapi":"api-reference/openapi.json GET /github/repos","href":"/api-reference/endpoints/github/get-github-repos"},{"title":"Get a GitHub repo","openapi":"api-reference/openapi.json GET /github/repos/{owner}/{repo}","href":"/api-reference/endpoints/github/get-github-repos-by-owner-by-repo"},{"title":"Get GitHub status","openapi":"api-reference/openapi.json GET /github/status","href":"/api-reference/endpoints/github/get-github-status"},{"title":"List GitHub repo branch suggestions","openapi":"api-reference/openapi.json GET /projects/{projectID}/github/branch-suggestions","href":"/api-reference/endpoints/github/get-projects-by-projectid-github-branch-suggestions"},{"title":"Export GitHub repo","openapi":"api-reference/openapi.json POST /projects/{projectID}/github/export","href":"/api-reference/endpoints/github/post-projects-by-projectid-github-export"},{"title":"Get GitHub git status","openapi":"api-reference/openapi.json GET /projects/{projectID}/github/git-status","href":"/api-reference/endpoints/github/get-projects-by-projectid-github-git-status"},{"title":"Import GitHub repo","openapi":"api-reference/openapi.json POST /projects/{projectID}/github/import","href":"/api-reference/endpoints/github/post-projects-by-projectid-github-import"},{"title":"Get GitHub project link","openapi":"api-reference/openapi.json GET /projects/{projectID}/github/link","href":"/api-reference/endpoints/github/get-projects-by-projectid-github-link"},{"title":"Fetch GitHub repo tree","openapi":"api-reference/openapi.json GET /projects/{projectID}/github/tree","href":"/api-reference/endpoints/github/get-projects-by-projectid-github-tree"}]},{"group":"Platform API Keys","pages":[{"title":"List platform API keys","openapi":"api-reference/openapi.json GET /user/platform-keys","href":"/api-reference/endpoints/platform-keys/get-user-platform-keys"},{"title":"Create platform API key","openapi":"api-reference/openapi.json POST /user/platform-keys","href":"/api-reference/endpoints/platform-keys/post-user-platform-keys"},{"title":"Revoke platform API key","openapi":"api-reference/openapi.json DELETE /user/platform-keys/{platformKeyID}","href":"/api-reference/endpoints/platform-keys/delete-user-platform-keys-by-platformkeyid"}]},{"group":"User Settings","pages":[{"title":"Get user settings","openapi":"api-reference/openapi.json GET /user/settings","href":"/api-reference/endpoints/user-settings/get-user-settings"},{"title":"Update user settings","openapi":"api-reference/openapi.json PUT /user/settings","href":"/api-reference/endpoints/user-settings/put-user-settings"}]},{"group":"Billing","pages":[{"title":"Get billing catalog","openapi":"api-reference/openapi.json GET /orgs/{orgID}/billing/catalog","href":"/api-reference/endpoints/billing/get-orgs-by-orgid-billing-catalog"},{"title":"Get inference balance","openapi":"api-reference/openapi.json GET /orgs/{orgID}/billing/inference-balance","href":"/api-reference/endpoints/billing/get-orgs-by-orgid-billing-inference-balance"},{"title":"Create billing checkout session","openapi":"api-reference/openapi.json POST /orgs/{orgID}/billing/checkout-sessions","href":"/api-reference/endpoints/billing/post-orgs-by-orgid-billing-checkout-sessions"},{"title":"Bind a store transaction to a purchase intent","openapi":"api-reference/openapi.json POST /orgs/{orgID}/billing/checkout-sessions/{checkoutSessionID}/transaction","href":"/api-reference/endpoints/billing/post-orgs-by-orgid-billing-checkout-sessions-by-checkoutsessionid-transaction"},{"title":"Get billing checkout session","openapi":"api-reference/openapi.json GET /orgs/{orgID}/billing/checkout-sessions/{lookup}","href":"/api-reference/endpoints/billing/get-orgs-by-orgid-billing-checkout-sessions-by-lookup"},{"title":"List billing credit packs","openapi":"api-reference/openapi.json GET /orgs/{orgID}/billing/credit-packs","href":"/api-reference/endpoints/billing/get-orgs-by-orgid-billing-credit-packs"},{"title":"Create billing portal session","openapi":"api-reference/openapi.json POST /orgs/{orgID}/billing/portal-sessions","href":"/api-reference/endpoints/billing/post-orgs-by-orgid-billing-portal-sessions"},{"title":"List the caller's unassigned store purchases","openapi":"api-reference/openapi.json GET /billing/store/unassigned-purchases","href":"/api-reference/endpoints/billing/get-billing-store-unassigned-purchases"},{"title":"Claim an unassigned store purchase into an org","openapi":"api-reference/openapi.json POST /billing/store/unassigned-purchases/{transactionID}/claim","href":"/api-reference/endpoints/billing/post-billing-store-unassigned-purchases-by-transactionid-claim"},{"title":"List billing warm slots","openapi":"api-reference/openapi.json GET /orgs/{orgID}/billing/slots","href":"/api-reference/endpoints/billing/get-orgs-by-orgid-billing-slots"},{"title":"Assign a project to a billing warm slot","openapi":"api-reference/openapi.json POST /orgs/{orgID}/billing/slots","href":"/api-reference/endpoints/billing/post-orgs-by-orgid-billing-slots"},{"title":"Release a billing warm slot","openapi":"api-reference/openapi.json DELETE /orgs/{orgID}/billing/slots/{slotID}","href":"/api-reference/endpoints/billing/delete-orgs-by-orgid-billing-slots-by-slotid"},{"title":"Get billing subscription","openapi":"api-reference/openapi.json GET /orgs/{orgID}/billing/subscription","href":"/api-reference/endpoints/billing/get-orgs-by-orgid-billing-subscription"}]},{"group":"Linear","pages":[{"title":"Get Linear install URL","openapi":"api-reference/openapi.json GET /orgs/{orgID}/auth/linear/url","href":"/api-reference/endpoints/linear/get-orgs-by-orgid-auth-linear-url"},{"title":"Disconnect Linear","openapi":"api-reference/openapi.json DELETE /orgs/{orgID}/linear/connection","href":"/api-reference/endpoints/linear/delete-orgs-by-orgid-linear-connection"},{"title":"Update Linear connection","openapi":"api-reference/openapi.json PATCH /orgs/{orgID}/linear/connection","href":"/api-reference/endpoints/linear/patch-orgs-by-orgid-linear-connection"},{"title":"List Linear projects","openapi":"api-reference/openapi.json GET /orgs/{orgID}/linear/projects","href":"/api-reference/endpoints/linear/get-orgs-by-orgid-linear-projects"},{"title":"List Linear routes","openapi":"api-reference/openapi.json GET /orgs/{orgID}/linear/routes","href":"/api-reference/endpoints/linear/get-orgs-by-orgid-linear-routes"},{"title":"Create Linear route","openapi":"api-reference/openapi.json POST /orgs/{orgID}/linear/routes","href":"/api-reference/endpoints/linear/post-orgs-by-orgid-linear-routes"},{"title":"Update Linear route","openapi":"api-reference/openapi.json PATCH /orgs/{orgID}/linear/routes/{routeID}","href":"/api-reference/endpoints/linear/patch-orgs-by-orgid-linear-routes-by-routeid"},{"title":"Delete Linear route","openapi":"api-reference/openapi.json DELETE /orgs/{orgID}/linear/routes/{routeID}","href":"/api-reference/endpoints/linear/delete-orgs-by-orgid-linear-routes-by-routeid"},{"title":"Get Linear status","openapi":"api-reference/openapi.json GET /orgs/{orgID}/linear/status","href":"/api-reference/endpoints/linear/get-orgs-by-orgid-linear-status"},{"title":"List Linear teams","openapi":"api-reference/openapi.json GET /orgs/{orgID}/linear/teams","href":"/api-reference/endpoints/linear/get-orgs-by-orgid-linear-teams"}]},{"group":"WebSocket","pages":[{"title":"WebSocket Overview","href":"/api-reference/websocket/overview"},{"title":"Terminal Channel","href":"/api-reference/websocket/terminal"},{"title":"Files Channel","href":"/api-reference/websocket/files"},{"title":"Agent Channel","href":"/api-reference/websocket/agent"},{"title":"Ports Channel","href":"/api-reference/websocket/ports"},{"title":"Git Channel","href":"/api-reference/websocket/git"}]}]},{"tab":"CLI Reference","pages":[{"title":"CLI Reference","href":"/cli/overview"}]}]},"title":"Reconnect a connection: OpenAI API key - Aether","buildId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","deploymentId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-Bbp7I60D.js","utils-C3RIvJha.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DqD-vLt8.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B31Loprg.js","snippetPresets-DKpk-b8t.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Cj65AhOR.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BXtn5gcC.js","shallow-RY2b03Cp.js","getApiPlaygroundDisplay-B0jeiPk3.js","CodeSnippet-CYgBjjwn.js","CodeSnippets-DOngDrYB.js","Page-n7I5XbKb.js","getPastedJson-DRQbJx-T.js","icon-CQiQCicY.js","MethodPill-BKTLdNtu.js","DuplicateIcon-B9jpAdat.js","createIcon-DCddRrXv.js","DynamicMarkdown-a8hUKrw6.js","SectionHeading-eECVV2eH.js","axios-vUo_bRtp.js","Markdown--GF7ZIpf.js","clsx-DZLdJUrt.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-2LoAhjKH.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Zwc0ZncM.js"]}