Archives the agent: requests cancellation of its active runtime, cancels queued inputs and affected processes, removes its pending wakeup, releases explicit machine bindings, deletes pooled machines created for the agent, and deletes cron triggers targeting the agent. Every session of the agent that is still active, including the default session, is archived in the same transaction and reports archived with an archived_at. The agent, its sessions and its full event history stay readable by id; archived agents and sessions leave active listings. The agent’s profile and configuration are retained, as are explicitly attached BYO machines. Archiving an already-archived agent is a no-op that returns the agent unchanged.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"BMA Developer Docs","description":"BeeOS Managed Agents (BMA): a managed agent platform with a Claude Managed Agents–compatible API, a native REST API, and the Executor Protocol for bringing your own hands and brains.","colors":{"primary":"#F97316","light":"#FB923C","dark":"#C2410C"},"logo":{"light":"/logo/light.svg","dark":"/logo/dark.svg","href":"/"},"favicon":"/favicon.svg","api":{"playground":{"display":"simple"},"examples":{"languages":["curl","python","javascript","go"]}},"appearance":{"default":"system"},"navbar":{"links":[{"href":"https://github.com/beeos-ai/bma-sdk","label":"bma-sdk"},{"href":"https://github.com/beeos-ai/bma-executor-sdk","label":"bma-executor-sdk"}]},"footer":{"socials":{"github":"https://github.com/beeos-ai"}},"fonts":{"heading":{"family":"Inter","weight":600},"body":{"family":"Inter","weight":400}},"integrations":{"telemetry":{"enabled":false}},"navigation":{"languages":[{"language":"en","default":true,"banner":{"content":"BMA is in **early access**. Pages mark each capability as Available, Preview, or Roadmap.","dismissible":true},"href":""},{"language":"zh","banner":{"content":"BMA 处于**抢先体验**阶段。各页面会把每项能力标注为 Available、Preview 或 Roadmap。","dismissible":true},"href":"zh"}]}},"deployment":{"deploymentMetadataValue":{"hasAudioNarration":false,"customDomains":[],"gitSource":{"type":"github","owner":"local","repo":"local","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":"local","isBase":true},"buildId":"local","clientVersion":"0.0.4064"},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":false,"isLoggedInCli":false,"mintExport":{}},"customCss":[],"page":{"pagePath":"api-reference/native/agents/archive-agent","slug":"/api-reference/native/agents/archive-agent","pageMetadata":{"openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/agents/{agentID}/archive","description":"Archives the agent: requests cancellation of its active runtime, cancels queued inputs and affected processes, removes its pending wakeup, releases explicit machine bindings, deletes pooled machines created for the agent, and deletes cron triggers targeting the agent. Every session of the agent that is still active, including the default session, is archived in the same transaction and reports `archived` with an `archived_at`. The agent, its sessions and its full event history stay readable by id; archived agents and sessions leave active listings. The agent's profile and configuration are retained, as are explicitly attached BYO machines. Archiving an already-archived agent is a no-op that returns the agent unchanged.","href":"/api-reference/native/agents/archive-agent","title":"Archive agent"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Archives the agent: requests cancellation of its active runtime, cancels queued inputs and affected processes, removes its pending wakeup, releases explicit machine bindings, deletes pooled machines created for the agent, and deletes cron triggers targeting the agent. Every session of the agent that is still active, including the default session, is archived in the same transaction and reports \", _jsx(_components.code, {\n children: \"archived\"\n }), \" with an \", _jsx(_components.code, {\n children: \"archived_at\"\n }), \". The agent, its sessions and its full event history stay readable by id; archived agents and sessions leave active listings. The agent’s profile and configuration are retained, as are explicitly attached BYO machines. Archiving an already-archived agent is a no-op that returns the agent unchanged.\"]\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":{"config":{},"pageMetadata":{"openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/agents/{agentID}/archive","description":"Archives the agent: requests cancellation of its active runtime, cancels queued inputs and affected processes, removes its pending wakeup, releases explicit machine bindings, deletes pooled machines created for the agent, and deletes cron triggers targeting the agent. Every session of the agent that is still active, including the default session, is archived in the same transaction and reports `archived` with an `archived_at`. The agent, its sessions and its full event history stay readable by id; archived agents and sessions leave active listings. The agent's profile and configuration are retained, as are explicitly attached BYO machines. Archiving an already-archived agent is a no-op that returns the agent unchanged.","href":"/api-reference/native/agents/archive-agent","title":"Archive agent"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"archiveAgent","tags":["Agents"],"summary":"Archive agent","description":"Archives the agent: requests cancellation of its active runtime, cancels queued inputs and affected processes, removes its pending wakeup, releases explicit machine bindings, deletes pooled machines created for the agent, and deletes cron triggers targeting the agent. Every session of the agent that is still active, including the default session, is archived in the same transaction and reports `archived` with an `archived_at`. The agent, its sessions and its full event history stay readable by id; archived agents and sessions leave active listings. The agent's profile and configuration are retained, as are explicitly attached BYO machines. Archiving an already-archived agent is a no-op that returns the agent unchanged.","security":["2a7fc1e9-a61f-486e-b16d-5e915661a391","839293b7-00c4-4a16-b3f7-a23f5047961d"],"responses":{"200":"f79faeb8-71c4-4194-b59b-2be4af1c5af1","400":"7365fbab-ea6a-42ad-96e2-39d04cfc1cf4","401":"c781155c-f40b-406b-81d8-eae6c7e4708f","403":"7647284d-c8f0-44fd-8d74-ef76cdc2036f","404":"9bc6cc18-d85b-4655-be56-419c2f7588a8","503":"cc50c9cb-6289-4803-88ba-af9f20fe5b56","4XX":"6fd5a9c2-d387-4bd4-a03c-dea3caa5c7ca","5XX":"3dcb1ae1-3dae-413e-be7c-847fa6e960ad"},"method":"post","type":"path","servers":["0bf5897a-c269-4b65-9499-ed03df44e358","949c42bc-5dd5-4a3b-abdf-7e9c2463228e"],"path":"/orgs/{orgID}/projects/{projectID}/agents/{agentID}/archive","baseUrlOptions":["https://api.staging.bma.beeos.ai/api/v1","/api/v1"],"title":"Archive agent","codeSamples":[],"requestExampleLanguages":["bash","python","javascript","go"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"6629c8f2-a4ad-426e-9694-00baf0ee6e36":{"name":"orgID","in":"path","description":"Organization ID (org_...).","required":true,"schema":{"type":"string","pattern":"^org_[a-z2-7]{26}$","isRequired":true,"description":"Organization ID (org_...).","uniqueKey":"","typeLabel":"string"}},"423d3684-9360-4f20-8668-74230a647ad5":{"name":"projectID","in":"path","description":"Project ID (proj_...).","required":true,"schema":{"type":"string","pattern":"^proj_[a-z2-7]{26}$","isRequired":true,"description":"Project ID (proj_...).","uniqueKey":"","typeLabel":"string"}},"f74782e4-6113-4feb-8aca-72aaa7cfbf3c":{"name":"agentID","in":"path","description":"Agent ID (agt_...).","required":true,"schema":{"type":"string","pattern":"^agt_[a-z2-7]{26}$","isRequired":true,"description":"Agent ID (agt_...).","uniqueKey":"","typeLabel":"string"}}},"responses":{"f79faeb8-71c4-4194-b59b-2be4af1c5af1":{"description":"The archived agent.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["agent"],"properties":{"agent":{"type":"object","additionalProperties":false,"required":["id","org_id","project_id","state","name","created_at","updated_at"],"properties":{"id":{"type":"string","pattern":"^agt_[a-z2-7]{26}$","isRequired":true,"uniqueKey":"agent.id","typeLabel":"string"},"org_id":{"type":"string","pattern":"^org_[a-z2-7]{26}$","isRequired":true,"uniqueKey":"agent.org_id","typeLabel":"string"},"project_id":{"description":"Project ID (proj_...).","type":"string","pattern":"^proj_[a-z2-7]{26}$","isRequired":true,"uniqueKey":"agent.project_id","typeLabel":"string"},"state":{"type":"string","enum":["active","archived"],"isRequired":true,"uniqueKey":"agent.state","typeLabel":"enum\u003cstring>"},"name":{"type":"string","maxLength":64,"x-bma-unicode-normalization":"NFC","description":"Agent name. Empty means the agent is unnamed; non-empty values use the ResourceName policy.","isRequired":true,"uniqueKey":"agent.name","typeLabel":"string"},"created_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"agent.created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"agent.updated_at","typeLabel":"string\u003cdate-time>"},"agent_profile_id":{"type":"string","pattern":"^aprf_[a-z2-7]{26}$","uniqueKey":"agent.agent_profile_id","typeLabel":"string"},"integration_target":{"type":"object","additionalProperties":false,"required":["provider","conversation","display_name"],"properties":{"provider":{"type":"string","isRequired":true,"uniqueKey":"agent.integration_target.provider","typeLabel":"string"},"conversation":{"type":"object","additionalProperties":true,"x-go-type":"json.RawMessage","x-go-type-skip-optional-pointer":true,"description":"One concrete provider address, validated by the integration's capabilities.subscription.conversation_schema. Slack uses channel_id and optional thread_ts; Discord uses channel_id for a channel or thread_id for a thread; GitHub uses repository_id and pull_request. Discord accepts optional parent channel_id and guild_id alongside thread_id and validates their ID format, but subscription creation does not verify them against Discord or retain them as routing restrictions. Only thread_id is retained in a canonical thread address and returned by create/list responses. No credentials or runtime state.","isRequired":true,"uniqueKey":"agent.integration_target.conversation","typeLabel":"object"},"display_name":{"type":"string","isRequired":true,"uniqueKey":"agent.integration_target.display_name","typeLabel":"string"},"provider_uri":{"type":"string","format":"uri","uniqueKey":"agent.integration_target.provider_uri","typeLabel":"string\u003curi>"}},"description":"Selected question/approval destination. Automatic mode updates it when content inputs are admitted. Prompts use it only while the integration and handler remain eligible. It is not launch provenance or permission to post.","uniqueKey":"agent.integration_target","typeLabel":"object"},"current_config_id":{"description":"Agent config ID (acfg_...).","type":"string","pattern":"^acfg_[a-z2-7]{26}$","uniqueKey":"agent.current_config_id","typeLabel":"string"},"model":{"type":"object","additionalProperties":false,"required":["provider_config","name"],"properties":{"provider_config":{"type":"string","minLength":1,"maxLength":64,"x-bma-unicode-normalization":"NFC","description":"Human-readable name. Spaces and punctuation are allowed; leading or trailing whitespace and invisible or control characters are not.","isRequired":true,"uniqueKey":"agent.model.provider_config","typeLabel":"string"},"name":{"type":"string","minLength":1,"maxLength":64,"x-bma-unicode-normalization":"NFC","description":"Human-readable name. Spaces and punctuation are allowed; leading or trailing whitespace and invisible or control characters are not.","isRequired":true,"uniqueKey":"agent.model.name","typeLabel":"string"}},"uniqueKey":"agent.model","typeLabel":"object"},"parent_agent_id":{"type":"string","pattern":"^agt_[a-z2-7]{26}$","description":"Set when this agent is a subagent spawned by another agent.","uniqueKey":"agent.parent_agent_id","typeLabel":"string"},"subagent_key":{"description":"The `subagents` key this agent was spawned from.","type":"string","uniqueKey":"agent.subagent_key","typeLabel":"string"},"activity":{"type":"object","additionalProperties":false,"required":["state","last_activity_at"],"properties":{"state":{"description":"running while the agent has work in progress, which includes a custom tool call awaiting its result; waiting_on_interaction while it has an open question or permission request; idle otherwise; and archived once the agent is archived.","type":"string","enum":["running","idle","waiting_on_interaction","archived"],"isRequired":true,"uniqueKey":"agent.activity.state","typeLabel":"enum\u003cstring>"},"last_activity_at":{"type":"string","format":"date-time","description":"When the agent's latest event was recorded, or its creation time before any event.","isRequired":true,"uniqueKey":"agent.activity.last_activity_at","typeLabel":"string\u003cdate-time>"}},"description":"Current activity, present on list and get responses.","uniqueKey":"agent.activity","typeLabel":"object"},"usage":{"type":"object","additionalProperties":false,"required":["model_calls","tokens","cost"],"properties":{"model_calls":{"type":"integer","format":"int64","minimum":0,"description":"Model calls that recorded token usage or a provider-reported cost.","isRequired":true,"uniqueKey":"agent.usage.model_calls","typeLabel":"integer\u003cint64>"},"tokens":{"type":"object","additionalProperties":false,"description":"Summed token counts across the tallied model calls. Input totals are the sum of uncached, cache-read, and cache-write tokens; output totals include reasoning tokens.","required":["input_tokens_total","uncached_input_tokens","cache_read_input_tokens","cache_write_input_tokens","output_tokens_total","reasoning_output_tokens"],"properties":{"input_tokens_total":{"type":"integer","format":"int64","minimum":0,"isRequired":true,"uniqueKey":"agent.usage.tokens.input_tokens_total","typeLabel":"integer\u003cint64>"},"uncached_input_tokens":{"type":"integer","format":"int64","minimum":0,"isRequired":true,"uniqueKey":"agent.usage.tokens.uncached_input_tokens","typeLabel":"integer\u003cint64>"},"cache_read_input_tokens":{"type":"integer","format":"int64","minimum":0,"isRequired":true,"uniqueKey":"agent.usage.tokens.cache_read_input_tokens","typeLabel":"integer\u003cint64>"},"cache_write_input_tokens":{"type":"integer","format":"int64","minimum":0,"isRequired":true,"uniqueKey":"agent.usage.tokens.cache_write_input_tokens","typeLabel":"integer\u003cint64>"},"output_tokens_total":{"type":"integer","format":"int64","minimum":0,"isRequired":true,"uniqueKey":"agent.usage.tokens.output_tokens_total","typeLabel":"integer\u003cint64>"},"reasoning_output_tokens":{"type":"integer","format":"int64","minimum":0,"isRequired":true,"uniqueKey":"agent.usage.tokens.reasoning_output_tokens","typeLabel":"integer\u003cint64>"}},"isRequired":true,"uniqueKey":"agent.usage.tokens","typeLabel":"object"},"cost":{"type":"object","additionalProperties":false,"required":["provider_reported_usd","model_calls_with_reported_cost"],"properties":{"provider_reported_usd":{"type":"string","description":"Exact decimal sum in USD of the costs the provider reported for the tallied model calls. Calls whose provider reported no cost contribute nothing; compare model_calls_with_reported_cost against model_calls to see how complete the figure is.","pattern":"^(0|[1-9][0-9]*)(\\.[0-9]+)?$","isRequired":true,"uniqueKey":"agent.usage.cost.provider_reported_usd","typeLabel":"string"},"model_calls_with_reported_cost":{"type":"integer","format":"int64","minimum":0,"isRequired":true,"uniqueKey":"agent.usage.cost.model_calls_with_reported_cost","typeLabel":"integer\u003cint64>"}},"isRequired":true,"uniqueKey":"agent.usage.cost","typeLabel":"object"}},"description":"All-time model usage by the agent and its subagents. Present when the list was requested with `include_usage`.","uniqueKey":"agent.usage","typeLabel":"object"},"archived_at":{"type":"string","format":"date-time","uniqueKey":"agent.archived_at","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"agent","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"agent":{"id":"\u003cstring>","org_id":"\u003cstring>","project_id":"\u003cstring>","state":"active","name":"\u003cstring>","created_at":"2023-11-07T05:31:56Z","updated_at":"2023-11-07T05:31:56Z","agent_profile_id":"\u003cstring>","integration_target":{"provider":"\u003cstring>","conversation":{},"display_name":"\u003cstring>","provider_uri":"\u003cstring>"},"current_config_id":"\u003cstring>","model":{"provider_config":"\u003cstring>","name":"\u003cstring>"},"parent_agent_id":"\u003cstring>","subagent_key":"\u003cstring>","activity":{"state":"running","last_activity_at":"2023-11-07T05:31:56Z"},"usage":{"model_calls":1,"tokens":{"input_tokens_total":1,"uncached_input_tokens":1,"cache_read_input_tokens":1,"cache_write_input_tokens":1,"output_tokens_total":1,"reasoning_output_tokens":1},"cost":{"provider_reported_usd":"\u003cstring>","model_calls_with_reported_cost":1}},"archived_at":"2023-11-07T05:31:56Z"}}}},"exampleType":"generated"}},"exampleType":"generated"},"7365fbab-ea6a-42ad-96e2-39d04cfc1cf4":{"description":"The request was invalid.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error","code"],"properties":{"error":{"type":"string","description":"Human-readable error message. Do not match on it programmatically.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Stable error code for programmatic handling.","x-go-type":"ErrorCode","x-extensible-enum":["invalid_request","unauthorized","forbidden","not_found","conflict","file_content_conflict","file_read_only","expected_digest_required","not_a_file","gone","request_too_large","unsupported_media_type","unprocessable","upstream_unavailable","rate_limited","internal_error","service_unavailable","idempotency_key_conflict","agent_backlog_full","state_transition_conflict","managed_work_admission_denied","pending_work","not_wake_capable","daemon_runtime_unregistered","validation_failed","csrf_check_failed","authentication_unavailable"],"isRequired":true,"uniqueKey":"code","typeLabel":"string"},"current_digest":{"type":"string","pattern":"^sha256:[0-9a-f]{64}$","description":"Current file digest for file_content_conflict or expected_digest_required; absent if the file no longer exists. A replacement must be confirmed before retrying with this digest.","uniqueKey":"current_digest","typeLabel":"string"},"issues":{"type":"array","description":"Field-level problems when a submitted document (such as an agent config source) failed validation. Absent for errors that are not about a specific field.","items":{"type":"object","additionalProperties":false,"required":["path","message"],"properties":{"path":{"type":"string","description":"JSON Pointer (RFC 6901) to the offending field in the submitted document. An empty string refers to the whole document.","isRequired":true,"uniqueKey":"issues.items.[INDEX].path","typeLabel":"string"},"message":{"type":"string","description":"Human-readable description of the problem with this field.","isRequired":true,"uniqueKey":"issues.items.[INDEX].message","typeLabel":"string"},"line":{"type":"integer","minimum":1,"description":"1-based line of the offending field in the submitted source, when it can be located.","uniqueKey":"issues.items.[INDEX].line","typeLabel":"integer"},"column":{"type":"integer","minimum":1,"description":"1-based column of the offending field in the submitted source, when it can be located.","uniqueKey":"issues.items.[INDEX].column","typeLabel":"integer"}},"uniqueKey":"issues.items.[INDEX]","typeLabel":"object"},"uniqueKey":"issues","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"\u003cstring>","current_digest":"\u003cstring>","issues":[{"path":"\u003cstring>","message":"\u003cstring>","line":2,"column":2}]}}},"exampleType":"generated"}},"exampleType":"generated"},"c781155c-f40b-406b-81d8-eae6c7e4708f":{"description":"Authentication is required or invalid.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error","code"],"properties":{"error":{"type":"string","description":"Human-readable error message. Do not match on it programmatically.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Stable error code for programmatic handling.","x-go-type":"ErrorCode","x-extensible-enum":["invalid_request","unauthorized","forbidden","not_found","conflict","file_content_conflict","file_read_only","expected_digest_required","not_a_file","gone","request_too_large","unsupported_media_type","unprocessable","upstream_unavailable","rate_limited","internal_error","service_unavailable","idempotency_key_conflict","agent_backlog_full","state_transition_conflict","managed_work_admission_denied","pending_work","not_wake_capable","daemon_runtime_unregistered","validation_failed","csrf_check_failed","authentication_unavailable"],"isRequired":true,"uniqueKey":"code","typeLabel":"string"},"current_digest":{"type":"string","pattern":"^sha256:[0-9a-f]{64}$","description":"Current file digest for file_content_conflict or expected_digest_required; absent if the file no longer exists. A replacement must be confirmed before retrying with this digest.","uniqueKey":"current_digest","typeLabel":"string"},"issues":{"type":"array","description":"Field-level problems when a submitted document (such as an agent config source) failed validation. Absent for errors that are not about a specific field.","items":{"type":"object","additionalProperties":false,"required":["path","message"],"properties":{"path":{"type":"string","description":"JSON Pointer (RFC 6901) to the offending field in the submitted document. An empty string refers to the whole document.","isRequired":true,"uniqueKey":"issues.items.[INDEX].path","typeLabel":"string"},"message":{"type":"string","description":"Human-readable description of the problem with this field.","isRequired":true,"uniqueKey":"issues.items.[INDEX].message","typeLabel":"string"},"line":{"type":"integer","minimum":1,"description":"1-based line of the offending field in the submitted source, when it can be located.","uniqueKey":"issues.items.[INDEX].line","typeLabel":"integer"},"column":{"type":"integer","minimum":1,"description":"1-based column of the offending field in the submitted source, when it can be located.","uniqueKey":"issues.items.[INDEX].column","typeLabel":"integer"}},"uniqueKey":"issues.items.[INDEX]","typeLabel":"object"},"uniqueKey":"issues","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"\u003cstring>","current_digest":"\u003cstring>","issues":[{"path":"\u003cstring>","message":"\u003cstring>","line":2,"column":2}]}}},"exampleType":"generated"}},"exampleType":"generated"},"7647284d-c8f0-44fd-8d74-ef76cdc2036f":{"description":"The authenticated principal is not authorized.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error","code"],"properties":{"error":{"type":"string","description":"Human-readable error message. Do not match on it programmatically.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Stable error code for programmatic handling.","x-go-type":"ErrorCode","x-extensible-enum":["invalid_request","unauthorized","forbidden","not_found","conflict","file_content_conflict","file_read_only","expected_digest_required","not_a_file","gone","request_too_large","unsupported_media_type","unprocessable","upstream_unavailable","rate_limited","internal_error","service_unavailable","idempotency_key_conflict","agent_backlog_full","state_transition_conflict","managed_work_admission_denied","pending_work","not_wake_capable","daemon_runtime_unregistered","validation_failed","csrf_check_failed","authentication_unavailable"],"isRequired":true,"uniqueKey":"code","typeLabel":"string"},"current_digest":{"type":"string","pattern":"^sha256:[0-9a-f]{64}$","description":"Current file digest for file_content_conflict or expected_digest_required; absent if the file no longer exists. A replacement must be confirmed before retrying with this digest.","uniqueKey":"current_digest","typeLabel":"string"},"issues":{"type":"array","description":"Field-level problems when a submitted document (such as an agent config source) failed validation. Absent for errors that are not about a specific field.","items":{"type":"object","additionalProperties":false,"required":["path","message"],"properties":{"path":{"type":"string","description":"JSON Pointer (RFC 6901) to the offending field in the submitted document. An empty string refers to the whole document.","isRequired":true,"uniqueKey":"issues.items.[INDEX].path","typeLabel":"string"},"message":{"type":"string","description":"Human-readable description of the problem with this field.","isRequired":true,"uniqueKey":"issues.items.[INDEX].message","typeLabel":"string"},"line":{"type":"integer","minimum":1,"description":"1-based line of the offending field in the submitted source, when it can be located.","uniqueKey":"issues.items.[INDEX].line","typeLabel":"integer"},"column":{"type":"integer","minimum":1,"description":"1-based column of the offending field in the submitted source, when it can be located.","uniqueKey":"issues.items.[INDEX].column","typeLabel":"integer"}},"uniqueKey":"issues.items.[INDEX]","typeLabel":"object"},"uniqueKey":"issues","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"\u003cstring>","current_digest":"\u003cstring>","issues":[{"path":"\u003cstring>","message":"\u003cstring>","line":2,"column":2}]}}},"exampleType":"generated"}},"exampleType":"generated"},"9bc6cc18-d85b-4655-be56-419c2f7588a8":{"description":"The requested resource was not found or is not visible.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error","code"],"properties":{"error":{"type":"string","description":"Human-readable error message. Do not match on it programmatically.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Stable error code for programmatic handling.","x-go-type":"ErrorCode","x-extensible-enum":["invalid_request","unauthorized","forbidden","not_found","conflict","file_content_conflict","file_read_only","expected_digest_required","not_a_file","gone","request_too_large","unsupported_media_type","unprocessable","upstream_unavailable","rate_limited","internal_error","service_unavailable","idempotency_key_conflict","agent_backlog_full","state_transition_conflict","managed_work_admission_denied","pending_work","not_wake_capable","daemon_runtime_unregistered","validation_failed","csrf_check_failed","authentication_unavailable"],"isRequired":true,"uniqueKey":"code","typeLabel":"string"},"current_digest":{"type":"string","pattern":"^sha256:[0-9a-f]{64}$","description":"Current file digest for file_content_conflict or expected_digest_required; absent if the file no longer exists. A replacement must be confirmed before retrying with this digest.","uniqueKey":"current_digest","typeLabel":"string"},"issues":{"type":"array","description":"Field-level problems when a submitted document (such as an agent config source) failed validation. Absent for errors that are not about a specific field.","items":{"type":"object","additionalProperties":false,"required":["path","message"],"properties":{"path":{"type":"string","description":"JSON Pointer (RFC 6901) to the offending field in the submitted document. An empty string refers to the whole document.","isRequired":true,"uniqueKey":"issues.items.[INDEX].path","typeLabel":"string"},"message":{"type":"string","description":"Human-readable description of the problem with this field.","isRequired":true,"uniqueKey":"issues.items.[INDEX].message","typeLabel":"string"},"line":{"type":"integer","minimum":1,"description":"1-based line of the offending field in the submitted source, when it can be located.","uniqueKey":"issues.items.[INDEX].line","typeLabel":"integer"},"column":{"type":"integer","minimum":1,"description":"1-based column of the offending field in the submitted source, when it can be located.","uniqueKey":"issues.items.[INDEX].column","typeLabel":"integer"}},"uniqueKey":"issues.items.[INDEX]","typeLabel":"object"},"uniqueKey":"issues","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"\u003cstring>","current_digest":"\u003cstring>","issues":[{"path":"\u003cstring>","message":"\u003cstring>","line":2,"column":2}]}}},"exampleType":"generated"}},"exampleType":"generated"},"cc50c9cb-6289-4803-88ba-af9f20fe5b56":{"description":"The service dependency required to satisfy the request is unavailable.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error","code"],"properties":{"error":{"type":"string","description":"Human-readable error message. Do not match on it programmatically.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Stable error code for programmatic handling.","x-go-type":"ErrorCode","x-extensible-enum":["invalid_request","unauthorized","forbidden","not_found","conflict","file_content_conflict","file_read_only","expected_digest_required","not_a_file","gone","request_too_large","unsupported_media_type","unprocessable","upstream_unavailable","rate_limited","internal_error","service_unavailable","idempotency_key_conflict","agent_backlog_full","state_transition_conflict","managed_work_admission_denied","pending_work","not_wake_capable","daemon_runtime_unregistered","validation_failed","csrf_check_failed","authentication_unavailable"],"isRequired":true,"uniqueKey":"code","typeLabel":"string"},"current_digest":{"type":"string","pattern":"^sha256:[0-9a-f]{64}$","description":"Current file digest for file_content_conflict or expected_digest_required; absent if the file no longer exists. A replacement must be confirmed before retrying with this digest.","uniqueKey":"current_digest","typeLabel":"string"},"issues":{"type":"array","description":"Field-level problems when a submitted document (such as an agent config source) failed validation. Absent for errors that are not about a specific field.","items":{"type":"object","additionalProperties":false,"required":["path","message"],"properties":{"path":{"type":"string","description":"JSON Pointer (RFC 6901) to the offending field in the submitted document. An empty string refers to the whole document.","isRequired":true,"uniqueKey":"issues.items.[INDEX].path","typeLabel":"string"},"message":{"type":"string","description":"Human-readable description of the problem with this field.","isRequired":true,"uniqueKey":"issues.items.[INDEX].message","typeLabel":"string"},"line":{"type":"integer","minimum":1,"description":"1-based line of the offending field in the submitted source, when it can be located.","uniqueKey":"issues.items.[INDEX].line","typeLabel":"integer"},"column":{"type":"integer","minimum":1,"description":"1-based column of the offending field in the submitted source, when it can be located.","uniqueKey":"issues.items.[INDEX].column","typeLabel":"integer"}},"uniqueKey":"issues.items.[INDEX]","typeLabel":"object"},"uniqueKey":"issues","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"\u003cstring>","current_digest":"\u003cstring>","issues":[{"path":"\u003cstring>","message":"\u003cstring>","line":2,"column":2}]}}},"exampleType":"generated"}},"exampleType":"generated"},"6fd5a9c2-d387-4bd4-a03c-dea3caa5c7ca":{"description":"Any other client error. The body carries the shared Error envelope restricted to client error codes; statuses with a dedicated response above are documented precisely.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error","code"],"properties":{"error":{"type":"string","description":"Human-readable error message. Do not match on it programmatically.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Stable error code carried by 4XX statuses. Subset of the Error code enum whose statuses are client errors.","x-extensible-enum":["invalid_request","validation_failed","unauthorized","forbidden","csrf_check_failed","not_found","conflict","file_content_conflict","file_read_only","expected_digest_required","not_a_file","idempotency_key_conflict","agent_backlog_full","state_transition_conflict","pending_work","not_wake_capable","gone","daemon_runtime_unregistered","request_too_large","unsupported_media_type","unprocessable","upstream_unavailable","rate_limited"],"isRequired":true,"uniqueKey":"code","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"3dcb1ae1-3dae-413e-be7c-847fa6e960ad":{"description":"Any other server error. The body carries the shared Error envelope restricted to server error codes.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error","code"],"properties":{"error":{"type":"string","description":"Human-readable error message. Do not match on it programmatically.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Stable error code carried by 5XX statuses. Subset of the Error code enum whose statuses are server errors.","x-extensible-enum":["internal_error","service_unavailable","authentication_unavailable"],"isRequired":true,"uniqueKey":"code","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"2a7fc1e9-a61f-486e-b16d-5e915661a391":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"BMA personal or organization access token","description":"An opaque BMA personal or organization bearer token.","scopes":[],"schemeName":"bearerAuth"}},"839293b7-00c4-4a16-b3f7-a23f5047961d":{"browserSessionCookie":{"type":"apiKey","in":"cookie","name":"__Host-bma_session","description":"Browser session cookie. HTTPS deployments use __Host-bma_session; local HTTP development uses bma_session.","scopes":[],"schemeName":"browserSessionCookie"},"csrfHeader":{"type":"apiKey","in":"header","name":"X-BMA-Csrf","description":"CSRF token header required for browser-session mutations. The value must match the session's CSRF cookie.","scopes":[],"schemeName":"csrfHeader"}}},"servers":{"0bf5897a-c269-4b65-9499-ed03df44e358":{"url":"https://api.staging.bma.beeos.ai/api/v1","description":"Hosted BMA"},"949c42bc-5dd5-4a3b-abdf-7e9c2463228e":{"url":"/api/v1","description":"Self-hosted BMA, relative to the deployment origin"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"BMA personal or organization access token","description":"An opaque BMA personal or organization bearer token.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"An opaque BMA personal or organization bearer token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"},{"schemes":[{"scheme":{"type":"apiKey","in":"cookie","name":"__Host-bma_session","description":"Browser session cookie. HTTPS deployments use __Host-bma_session; local HTTP development uses bma_session.","scopes":[],"schemeName":"browserSessionCookie"},"schema":{"title":"__Host-bma_session","type":"string","description":"Browser session cookie. HTTPS deployments use __Host-bma_session; local HTTP development uses bma_session.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"browserSessionCookie","name":"__Host-bma_session"},{"scheme":{"type":"apiKey","in":"header","name":"X-BMA-Csrf","description":"CSRF token header required for browser-session mutations. The value must match the session's CSRF cookie.","scopes":[],"schemeName":"csrfHeader"},"schema":{"title":"X-BMA-Csrf","type":"string","description":"CSRF token header required for browser-session mutations. The value must match the session's CSRF cookie.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"csrfHeader","name":"X-BMA-Csrf"}],"title":"browserSessionCookie \u0026 csrfHeader"}]},"originalFileLocation":"api-reference/openapi.yaml"},"subdomain":"localhost","siteName":"BMA Developer Docs","title":"Archive agent - BMA Developer Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/api-reference/native/agents/archive-agent","matchLevel":0},"zh":{"href":"/zh/api-reference/native/agents/archive-agent","matchLevel":1}}},"originalFileLocation":"api-reference/native/agents/archive-agent.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Archives the agent: requests cancellation of its active runtime, cancels queued inputs and affected processes, removes its pending wakeup, releases explicit machine bindings, deletes pooled machines created for the agent, and deletes cron triggers targeting the agent. Every session of the agent that is still active, including the default session, is archived in the same transaction and reports archived with an archived_at. The agent, its sessions and its full event history stay readable by id; archived agents and sessions leave active listings. The agent\u0026#x27;s profile and configuration are retained, as are explicitly attached BYO machines. Archiving an already-archived agent is a no-op that returns the agent unchanged.\">\u003cmeta data-mint-head name=\"application-name\" content=\"BMA Developer Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/favicons/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/favicons/favicon-32x32.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/favicons/favicon-16x16.png\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/favicons/favicon.ico\">\u003cmeta data-mint-head property=\"og:title\" content=\"Archive agent - BMA Developer Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Archives the agent: requests cancellation of its active runtime, cancels queued inputs and affected processes, removes its pending wakeup, releases explicit machine bindings, deletes pooled machines created for the agent, and deletes cron triggers targeting the agent. Every session of the agent that is still active, including the default session, is archived in the same transaction and reports archived with an archived_at. The agent, its sessions and its full event history stay readable by id; archived agents and sessions leave active listings. The agent\u0026#x27;s profile and configuration are retained, as are explicitly attached BYO machines. Archiving an already-archived agent is a no-op that returns the agent unchanged.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"BMA Developer Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://local./api-reference/native/agents/archive-agent\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Archive agent - BMA Developer Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Archives the agent: requests cancellation of its active runtime, cancels queued inputs and affected processes, removes its pending wakeup, releases explicit machine bindings, deletes pooled machines created for the agent, and deletes cron triggers targeting the agent. Every session of the agent that is still active, including the default session, is archived in the same transaction and reports archived with an archived_at. The agent, its sessions and its full event history stay readable by id; archived agents and sessions leave active listings. The agent\u0026#x27;s profile and configuration are retained, as are explicitly attached BYO machines. Archiving an already-archived agent is a no-op that returns the agent unchanged.\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/favicons/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"BMA Developer Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#F97316\">\u003clink data-mint-head rel=\"canonical\" href=\"https://local./api-reference/native/agents/archive-agent\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/native/agents/archive-agent.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://local./api-reference/native/agents/archive-agent\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh\" href=\"https://local./zh/api-reference/native/agents/archive-agent\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://local./api-reference/native/agents/archive-agent\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"BMA Developer Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"BMA Developer Docs","nav":{"languages":[{"language":"en","default":true,"banner":{"content":"BMA is in **early access**. Pages mark each capability as Available, Preview, or Roadmap.","dismissible":true},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":""}]},{"tab":"SDKs","pages":[{"title":"SDKs","href":"/sdks/overview"}]},{"tab":"API reference","groups":[{"group":"API reference","pages":[{"title":"API reference","icon":"book","href":"/api-reference/introduction"}]},{"group":"Native REST API","pages":[{"group":"Events","pages":[{"title":"List event webhooks for one scope","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/event-webhooks","href":"/api-reference/native/events/list-event-webhooks-for-one-scope"},{"title":"Create an event webhook","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/event-webhooks","href":"/api-reference/native/events/create-an-event-webhook"},{"title":"Delete an event webhook","openapi":"/api-reference/openapi.yaml delete /orgs/{orgID}/projects/{projectID}/event-webhooks/{webhookID}","href":"/api-reference/native/events/delete-an-event-webhook"},{"title":"Update event webhook settings","openapi":"/api-reference/openapi.yaml patch /orgs/{orgID}/projects/{projectID}/event-webhooks/{webhookID}","href":"/api-reference/native/events/update-event-webhook-settings"},{"title":"List turns","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/agents/{agentID}/turns","href":"/api-reference/native/events/list-turns"},{"title":"List turn events","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/agents/{agentID}/turns/{turnID}/events","href":"/api-reference/native/events/list-turn-events"},{"title":"List events","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/agents/{agentID}/events","href":"/api-reference/native/events/list-events"},{"title":"Stream events","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/agents/{agentID}/events/stream","href":"/api-reference/native/events/stream-events"},{"title":"List session artifacts","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/agents/{agentID}/sessions/{sessionID}/artifacts","href":"/api-reference/native/events/list-session-artifacts"},{"title":"Upload a session artifact","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/agents/{agentID}/sessions/{sessionID}/artifacts","href":"/api-reference/native/events/upload-a-session-artifact"},{"title":"Get session artifact content","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/agents/{agentID}/sessions/{sessionID}/artifacts/{artifactID}/content","href":"/api-reference/native/events/get-session-artifact-content"},{"title":"Get artifact","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/agents/{agentID}/artifacts/{artifactID}","href":"/api-reference/native/events/get-artifact"},{"title":"Get artifact content","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/agents/{agentID}/artifacts/{artifactID}/content","href":"/api-reference/native/events/get-artifact-content"}]},{"group":"Users and API Keys","pages":[{"title":"List the authenticated user's personal access tokens","openapi":"/api-reference/openapi.yaml get /personal-access-tokens","href":"/api-reference/native/users-and-api-keys/list-the-authenticated-users-personal-access-tokens"},{"title":"Create personal access token","openapi":"/api-reference/openapi.yaml post /personal-access-tokens","href":"/api-reference/native/users-and-api-keys/create-personal-access-token"},{"title":"Revoke a personal access token","openapi":"/api-reference/openapi.yaml post /personal-access-tokens/{tokenID}/revoke","href":"/api-reference/native/users-and-api-keys/revoke-a-personal-access-token"},{"title":"Get the authenticated user and their organizations","openapi":"/api-reference/openapi.yaml get /me","href":"/api-reference/native/users-and-api-keys/get-the-authenticated-user-and-their-organizations"},{"title":"Delete the authenticated user's account","openapi":"/api-reference/openapi.yaml delete /me","href":"/api-reference/native/users-and-api-keys/delete-the-authenticated-users-account"},{"title":"List pending invitations","openapi":"/api-reference/openapi.yaml get /invitations","href":"/api-reference/native/users-and-api-keys/list-pending-invitations"},{"title":"Accept invitation","openapi":"/api-reference/openapi.yaml post /invitations/{invitationID}/accept","href":"/api-reference/native/users-and-api-keys/accept-invitation"},{"title":"Decline invitation","openapi":"/api-reference/openapi.yaml post /invitations/{invitationID}/decline","href":"/api-reference/native/users-and-api-keys/decline-invitation"},{"title":"List org API keys","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/api-keys","href":"/api-reference/native/users-and-api-keys/list-org-api-keys"},{"title":"Create org API key","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/api-keys","href":"/api-reference/native/users-and-api-keys/create-org-api-key"},{"title":"Get an org API key","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/api-keys/{keyID}","href":"/api-reference/native/users-and-api-keys/get-an-org-api-key"},{"title":"Update an org API key","openapi":"/api-reference/openapi.yaml patch /orgs/{orgID}/api-keys/{keyID}","href":"/api-reference/native/users-and-api-keys/update-an-org-api-key"},{"title":"Revoke an org API key","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/api-keys/{keyID}/revoke","href":"/api-reference/native/users-and-api-keys/revoke-an-org-api-key"},{"title":"List an org API key's explicit project role grants","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/api-keys/{keyID}/projects","href":"/api-reference/native/users-and-api-keys/list-an-org-api-keys-explicit-project-role-grants"},{"title":"Set an org API key's role on a project","openapi":"/api-reference/openapi.yaml put /orgs/{orgID}/api-keys/{keyID}/projects/{projectID}","href":"/api-reference/native/users-and-api-keys/set-an-org-api-keys-role-on-a-project"},{"title":"Remove an org API key's project role grant","openapi":"/api-reference/openapi.yaml delete /orgs/{orgID}/api-keys/{keyID}/projects/{projectID}","href":"/api-reference/native/users-and-api-keys/remove-an-org-api-keys-project-role-grant"}]},{"group":"Machine Daemon","pages":[]},{"group":"Organizations and Projects","pages":[{"title":"List the authenticated principal's organizations","openapi":"/api-reference/openapi.yaml get /orgs","href":"/api-reference/native/organizations-and-projects/list-the-authenticated-principals-organizations"},{"title":"Create organization","openapi":"/api-reference/openapi.yaml post /orgs","href":"/api-reference/native/organizations-and-projects/create-organization"},{"title":"Delete organization","openapi":"/api-reference/openapi.yaml delete /orgs/{orgID}","href":"/api-reference/native/organizations-and-projects/delete-organization"},{"title":"Get org usage","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/usage","href":"/api-reference/native/organizations-and-projects/get-org-usage"},{"title":"Get usage timeseries","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/usage/timeseries","href":"/api-reference/native/organizations-and-projects/get-usage-timeseries"},{"title":"List visible projects","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects","href":"/api-reference/native/organizations-and-projects/list-visible-projects"},{"title":"Create project","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects","href":"/api-reference/native/organizations-and-projects/create-project"},{"title":"Delete project","openapi":"/api-reference/openapi.yaml delete /orgs/{orgID}/projects/{projectID}","href":"/api-reference/native/organizations-and-projects/delete-project"},{"title":"Get project usage","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/usage","href":"/api-reference/native/organizations-and-projects/get-project-usage"},{"title":"List organization members","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/members","href":"/api-reference/native/organizations-and-projects/list-organization-members"},{"title":"Remove org member","openapi":"/api-reference/openapi.yaml delete /orgs/{orgID}/members/{userID}","href":"/api-reference/native/organizations-and-projects/remove-org-member"},{"title":"Update org member role","openapi":"/api-reference/openapi.yaml patch /orgs/{orgID}/members/{userID}","href":"/api-reference/native/organizations-and-projects/update-org-member-role"},{"title":"List a member's explicit project role grants","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/members/{userID}/projects","href":"/api-reference/native/organizations-and-projects/list-a-members-explicit-project-role-grants"},{"title":"Set a member's role on a project","openapi":"/api-reference/openapi.yaml put /orgs/{orgID}/members/{userID}/projects/{projectID}","href":"/api-reference/native/organizations-and-projects/set-a-members-role-on-a-project"},{"title":"Remove a member's project role grant","openapi":"/api-reference/openapi.yaml delete /orgs/{orgID}/members/{userID}/projects/{projectID}","href":"/api-reference/native/organizations-and-projects/remove-a-members-project-role-grant"},{"title":"List org invitations","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/invitations","href":"/api-reference/native/organizations-and-projects/list-org-invitations"},{"title":"Create org invitation","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/invitations","href":"/api-reference/native/organizations-and-projects/create-org-invitation"},{"title":"Delete org invitation","openapi":"/api-reference/openapi.yaml delete /orgs/{orgID}/invitations/{invitationID}","href":"/api-reference/native/organizations-and-projects/delete-org-invitation"}]},{"group":"Agents","pages":[{"title":"List agents across projects","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/agents","href":"/api-reference/native/agents/list-agents-across-projects"},{"title":"List agents","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/agents","href":"/api-reference/native/agents/list-agents"},{"title":"Create agent","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/agents","href":"/api-reference/native/agents/create-agent"},{"title":"Get agent","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/agents/{agentID}","href":"/api-reference/native/agents/get-agent"},{"title":"Get agent usage","description":"Tallies this agent's model token usage and provider-reported cost, broken down by configured model. Optionally limits the tally to a time window.","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/agents/{agentID}/usage","href":"/api-reference/native/agents/get-agent-usage"},{"title":"Archive agent","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/agents/{agentID}/archive","href":"/api-reference/native/agents/archive-agent"},{"title":"Update agent config","description":"Replaces an active agent's config without restarting its conversation and returns the new agent_config. Model, instruction, and tool changes apply at the agent's next model call; machine changes apply immediately, stopping processes on removed machines and deleting the agent's machines from removed pools. Send the complete config, not a patch.","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/agents/{agentID}/config","href":"/api-reference/native/agents/update-agent-config"},{"title":"Read the session model override metadata","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/agents/{agentID}/model-override","href":"/api-reference/native/agents/read-the-session-model-override-metadata"},{"title":"Create or replace the session model override","openapi":"/api-reference/openapi.yaml put /orgs/{orgID}/projects/{projectID}/agents/{agentID}/model-override","href":"/api-reference/native/agents/create-or-replace-the-session-model-override"},{"title":"Revoke the session model override","openapi":"/api-reference/openapi.yaml delete /orgs/{orgID}/projects/{projectID}/agents/{agentID}/model-override","href":"/api-reference/native/agents/revoke-the-session-model-override"},{"title":"Modify the session model override","openapi":"/api-reference/openapi.yaml patch /orgs/{orgID}/projects/{projectID}/agents/{agentID}/model-override","href":"/api-reference/native/agents/modify-the-session-model-override"},{"title":"Read the agent executor binding","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/agents/{agentID}/executor-binding","href":"/api-reference/native/agents/read-the-agent-executor-binding"},{"title":"Run the agent on an agent executor","openapi":"/api-reference/openapi.yaml put /orgs/{orgID}/projects/{projectID}/agents/{agentID}/executor-binding","href":"/api-reference/native/agents/run-the-agent-on-an-agent-executor"},{"title":"Read a session model override metadata","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/agents/{agentID}/sessions/{sessionID}/model-override","href":"/api-reference/native/agents/read-a-session-model-override-metadata"},{"title":"Create or replace a session model override","openapi":"/api-reference/openapi.yaml put /orgs/{orgID}/projects/{projectID}/agents/{agentID}/sessions/{sessionID}/model-override","href":"/api-reference/native/agents/create-or-replace-a-session-model-override"},{"title":"Revoke a session model override","openapi":"/api-reference/openapi.yaml delete /orgs/{orgID}/projects/{projectID}/agents/{agentID}/sessions/{sessionID}/model-override","href":"/api-reference/native/agents/revoke-a-session-model-override"},{"title":"Modify a session model override","openapi":"/api-reference/openapi.yaml patch /orgs/{orgID}/projects/{projectID}/agents/{agentID}/sessions/{sessionID}/model-override","href":"/api-reference/native/agents/modify-a-session-model-override"},{"title":"Create agent input","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/agents/{agentID}/inputs","href":"/api-reference/native/agents/create-agent-input"},{"title":"List agent sessions","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/agents/{agentID}/sessions","href":"/api-reference/native/agents/list-agent-sessions"},{"title":"Create agent session","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/agents/{agentID}/sessions","href":"/api-reference/native/agents/create-agent-session"},{"title":"Get agent session","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/agents/{agentID}/sessions/{sessionID}","href":"/api-reference/native/agents/get-agent-session"},{"title":"Update agent session","openapi":"/api-reference/openapi.yaml patch /orgs/{orgID}/projects/{projectID}/agents/{agentID}/sessions/{sessionID}","href":"/api-reference/native/agents/update-agent-session"},{"title":"Archive agent session","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/agents/{agentID}/sessions/{sessionID}/archive","href":"/api-reference/native/agents/archive-agent-session"},{"title":"Cancel agent session","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/agents/{agentID}/sessions/{sessionID}/cancel","href":"/api-reference/native/agents/cancel-agent-session"},{"title":"Get an agent session by id","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/agent-sessions/{sessionID}","href":"/api-reference/native/agents/get-an-agent-session-by-id"},{"title":"List tool calls","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/agents/{agentID}/tool-calls","href":"/api-reference/native/agents/list-tool-calls"},{"title":"Submit a result for a ready custom tool call","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/agents/{agentID}/tool-calls/{toolCallID}/result","href":"/api-reference/native/agents/submit-a-result-for-a-ready-custom-tool-call"},{"title":"Cancel agent","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/agents/{agentID}/cancel","href":"/api-reference/native/agents/cancel-agent"},{"title":"List waiting backlog inputs","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/agents/{agentID}/inputs/backlog","href":"/api-reference/native/agents/list-waiting-backlog-inputs"},{"title":"Cancel queued backlog input","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/agents/{agentID}/inputs/{inputID}/cancel","href":"/api-reference/native/agents/cancel-queued-backlog-input"},{"title":"Move queued backlog input","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/agents/{agentID}/inputs/{inputID}/move","href":"/api-reference/native/agents/move-queued-backlog-input"},{"title":"Promote queued input to steering","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/agents/{agentID}/inputs/{inputID}/promote_to_steering","href":"/api-reference/native/agents/promote-queued-input-to-steering"},{"title":"Demote steering input to queued","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/agents/{agentID}/inputs/{inputID}/demote_to_queued","href":"/api-reference/native/agents/demote-steering-input-to-queued"}]},{"group":"Configs and Profiles","pages":[{"title":"List agent profiles across projects","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/agent-profiles","href":"/api-reference/native/configs-and-profiles/list-agent-profiles-across-projects"},{"title":"Resolve agent config tools","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/agent-configs/tools","href":"/api-reference/native/configs-and-profiles/resolve-agent-config-tools"},{"title":"Create agent config","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/agent-configs","href":"/api-reference/native/configs-and-profiles/create-agent-config"},{"title":"Get tool catalog","openapi":"/api-reference/openapi.yaml get /tool-catalog","href":"/api-reference/native/configs-and-profiles/get-tool-catalog"},{"title":"Search the MCP server registry","openapi":"/api-reference/openapi.yaml get /mcp-servers","href":"/api-reference/native/configs-and-profiles/search-the-mcp-server-registry"},{"title":"List an MCP server's tools","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/mcp-servers/tools","href":"/api-reference/native/configs-and-profiles/list-an-mcp-servers-tools"},{"title":"Get agent config","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/agent-configs/{agentConfigID}","href":"/api-reference/native/configs-and-profiles/get-agent-config"},{"title":"Get generated agent config source","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/agent-configs/{agentConfigID}/generated-source","href":"/api-reference/native/configs-and-profiles/get-generated-agent-config-source"},{"title":"List agent profiles","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/agent-profiles","href":"/api-reference/native/configs-and-profiles/list-agent-profiles"},{"title":"Create agent profile","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/agent-profiles","href":"/api-reference/native/configs-and-profiles/create-agent-profile"},{"title":"Get agent profile","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/agent-profiles/{agentProfileID}","href":"/api-reference/native/configs-and-profiles/get-agent-profile"},{"title":"Delete agent profile","openapi":"/api-reference/openapi.yaml delete /orgs/{orgID}/projects/{projectID}/agent-profiles/{agentProfileID}","href":"/api-reference/native/configs-and-profiles/delete-agent-profile"},{"title":"Rename agent profile","openapi":"/api-reference/openapi.yaml patch /orgs/{orgID}/projects/{projectID}/agent-profiles/{agentProfileID}","href":"/api-reference/native/configs-and-profiles/rename-agent-profile"},{"title":"Get agent profile usage","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/agent-profiles/{agentProfileID}/usage","href":"/api-reference/native/configs-and-profiles/get-agent-profile-usage"},{"title":"Update agent profile","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/agent-profiles/{agentProfileID}/config","href":"/api-reference/native/configs-and-profiles/update-agent-profile"},{"title":"List cron triggers","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/cron-triggers","href":"/api-reference/native/configs-and-profiles/list-cron-triggers"},{"title":"Create cron trigger","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/cron-triggers","href":"/api-reference/native/configs-and-profiles/create-cron-trigger"},{"title":"Get cron trigger","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/cron-triggers/{cronTriggerID}","href":"/api-reference/native/configs-and-profiles/get-cron-trigger"},{"title":"Delete cron trigger","openapi":"/api-reference/openapi.yaml delete /orgs/{orgID}/projects/{projectID}/cron-triggers/{cronTriggerID}","href":"/api-reference/native/configs-and-profiles/delete-cron-trigger"},{"title":"Update cron trigger","openapi":"/api-reference/openapi.yaml patch /orgs/{orgID}/projects/{projectID}/cron-triggers/{cronTriggerID}","href":"/api-reference/native/configs-and-profiles/update-cron-trigger"}]},{"group":"Skills","pages":[{"title":"List skills visible through ownership authority","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/skills","href":"/api-reference/native/skills/list-skills-visible-through-ownership-authority"},{"title":"Create skill","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/skills","href":"/api-reference/native/skills/create-skill"},{"title":"Get skill through ownership authority","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/skills/{skillID}","href":"/api-reference/native/skills/get-skill-through-ownership-authority"},{"title":"Update skill by uploading a new revision","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/skills/{skillID}","href":"/api-reference/native/skills/update-skill-by-uploading-a-new-revision"},{"title":"Delete skill","openapi":"/api-reference/openapi.yaml delete /orgs/{orgID}/skills/{skillID}","href":"/api-reference/native/skills/delete-skill"},{"title":"List skill grants","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/skills/{skillID}/grants","href":"/api-reference/native/skills/list-skill-grants"},{"title":"Create skill grant","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/skills/{skillID}/grants","href":"/api-reference/native/skills/create-skill-grant"},{"title":"Delete skill grant","openapi":"/api-reference/openapi.yaml delete /orgs/{orgID}/skills/{skillID}/grants/{grantID}","href":"/api-reference/native/skills/delete-skill-grant"},{"title":"List skills available to project","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/skills","href":"/api-reference/native/skills/list-skills-available-to-project"}]},{"group":"Memory Stores","pages":[{"title":"List memory stores across projects","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/memory-stores","href":"/api-reference/native/memory-stores/list-memory-stores-across-projects"},{"title":"List memory stores","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/memory-stores","href":"/api-reference/native/memory-stores/list-memory-stores"},{"title":"Create memory store","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/memory-stores","href":"/api-reference/native/memory-stores/create-memory-store"},{"title":"Get memory store","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/memory-stores/{memoryStoreID}","href":"/api-reference/native/memory-stores/get-memory-store"},{"title":"Delete memory store","openapi":"/api-reference/openapi.yaml delete /orgs/{orgID}/projects/{projectID}/memory-stores/{memoryStoreID}","href":"/api-reference/native/memory-stores/delete-memory-store"},{"title":"Update memory store","openapi":"/api-reference/openapi.yaml patch /orgs/{orgID}/projects/{projectID}/memory-stores/{memoryStoreID}","href":"/api-reference/native/memory-stores/update-memory-store"},{"title":"List memory files","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/memory-stores/{memoryStoreID}/files","href":"/api-reference/native/memory-stores/list-memory-files"},{"title":"Download memory file","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/memory-stores/{memoryStoreID}/file","href":"/api-reference/native/memory-stores/download-memory-file"},{"title":"Write memory file","openapi":"/api-reference/openapi.yaml put /orgs/{orgID}/projects/{projectID}/memory-stores/{memoryStoreID}/file","href":"/api-reference/native/memory-stores/write-memory-file"},{"title":"Delete memory file","openapi":"/api-reference/openapi.yaml delete /orgs/{orgID}/projects/{projectID}/memory-stores/{memoryStoreID}/file","href":"/api-reference/native/memory-stores/delete-memory-file"}]},{"group":"Secrets","pages":[{"title":"List secrets visible through ownership authority","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/secrets","href":"/api-reference/native/secrets/list-secrets-visible-through-ownership-authority"},{"title":"Create secret","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/secrets","href":"/api-reference/native/secrets/create-secret"},{"title":"Start MCP OAuth for a new secret","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/secrets/mcp-oauth","href":"/api-reference/native/secrets/start-mcp-oauth-for-a-new-secret"},{"title":"Get secret through ownership authority","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/secrets/{secretID}","href":"/api-reference/native/secrets/get-secret-through-ownership-authority"},{"title":"Delete secret","openapi":"/api-reference/openapi.yaml delete /orgs/{orgID}/secrets/{secretID}","href":"/api-reference/native/secrets/delete-secret"},{"title":"Update secret metadata","openapi":"/api-reference/openapi.yaml patch /orgs/{orgID}/secrets/{secretID}","href":"/api-reference/native/secrets/update-secret-metadata"},{"title":"Create secret version","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/secrets/{secretID}/versions","href":"/api-reference/native/secrets/create-secret-version"},{"title":"List secret grants","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/secrets/{secretID}/grants","href":"/api-reference/native/secrets/list-secret-grants"},{"title":"Create secret grant","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/secrets/{secretID}/grants","href":"/api-reference/native/secrets/create-secret-grant"},{"title":"Delete secret grant","openapi":"/api-reference/openapi.yaml delete /orgs/{orgID}/secrets/{secretID}/grants/{grantID}","href":"/api-reference/native/secrets/delete-secret-grant"},{"title":"List secrets available to project","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/secrets","href":"/api-reference/native/secrets/list-secrets-available-to-project"},{"title":"Get secret available to project","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/secrets/{secretID}","href":"/api-reference/native/secrets/get-secret-available-to-project"}]},{"group":"Integrations","pages":[{"title":"Connect an integration through OAuth","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/integrations/{integrationID}/oauth/setup","href":"/api-reference/native/integrations/connect-an-integration-through-oauth"},{"title":"Create a Slack provider app and connect it to an BMA integration","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/integrations/{integrationID}/slack-setup","href":"/api-reference/native/integrations/create-a-slack-provider-app-and-connect-it-to-an-bma-integration"},{"title":"Start registration of a customer-owned GitHub App","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/integrations/{integrationID}/github-setup","href":"/api-reference/native/integrations/start-registration-of-a-customer-owned-github-app"},{"title":"Inspect installations of a customer-owned GitHub App","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/integrations/{integrationID}/github-setup/installations","href":"/api-reference/native/integrations/inspect-installations-of-a-customer-owned-github-app"},{"title":"List integrations across projects","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/integrations","href":"/api-reference/native/integrations/list-integrations-across-projects"},{"title":"List project integrations","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/integrations","href":"/api-reference/native/integrations/list-project-integrations"},{"title":"Create an integration and optional launcher","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/integrations","href":"/api-reference/native/integrations/create-an-integration-and-optional-launcher"},{"title":"Get project integration","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/integrations/{integrationID}","href":"/api-reference/native/integrations/get-project-integration"},{"title":"Update integration settings","openapi":"/api-reference/openapi.yaml put /orgs/{orgID}/projects/{projectID}/integrations/{integrationID}","href":"/api-reference/native/integrations/update-integration-settings"},{"title":"Delete integration setup and revoke its capabilities","openapi":"/api-reference/openapi.yaml delete /orgs/{orgID}/projects/{projectID}/integrations/{integrationID}","href":"/api-reference/native/integrations/delete-integration-setup-and-revoke-its-capabilities"},{"title":"List integration conversation subscriptions","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/integrations/{integrationID}/subscriptions","href":"/api-reference/native/integrations/list-integration-conversation-subscriptions"},{"title":"Attach an agent to an integration conversation","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/integrations/{integrationID}/subscriptions","href":"/api-reference/native/integrations/attach-an-agent-to-an-integration-conversation"},{"title":"Stop forwarding an integration conversation to an agent","openapi":"/api-reference/openapi.yaml delete /orgs/{orgID}/projects/{projectID}/integrations/{integrationID}/subscriptions/{subscriptionID}","href":"/api-reference/native/integrations/stop-forwarding-an-integration-conversation-to-an-agent"},{"title":"Verify and configure integration credentials","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/integrations/{integrationID}/setup","href":"/api-reference/native/integrations/verify-and-configure-integration-credentials"},{"title":"Disconnect this integration without deleting its configuration","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/integrations/{integrationID}/disconnect","href":"/api-reference/native/integrations/disconnect-this-integration-without-deleting-its-configuration"},{"title":"List repositories a GitHub integration can access","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/integrations/{integrationID}/github-repositories","href":"/api-reference/native/integrations/list-repositories-a-github-integration-can-access"},{"title":"List installed integration implementations and their capabilities","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/integration-definitions","href":"/api-reference/native/integrations/list-installed-integration-implementations-and-their-capabilities"}]},{"group":"Machines","pages":[{"title":"List an agent's pooled machines","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/agents/{agentID}/machines","href":"/api-reference/native/machines/list-an-agents-pooled-machines"},{"title":"Create a persistent machine for an agent","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/agents/{agentID}/machines","href":"/api-reference/native/machines/create-a-persistent-machine-for-an-agent"},{"title":"Delete an agent's persistent machine","openapi":"/api-reference/openapi.yaml delete /orgs/{orgID}/projects/{projectID}/agents/{agentID}/machines/{machineID}","href":"/api-reference/native/machines/delete-an-agents-persistent-machine"},{"title":"List visible project machines","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/machines","href":"/api-reference/native/machines/list-visible-project-machines"},{"title":"Get machine interaction capabilities","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/machines/{machineID}/capabilities","href":"/api-reference/native/machines/get-machine-interaction-capabilities"},{"title":"Resume a paused or archived machine","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/machines/{machineID}/resume","href":"/api-reference/native/machines/resume-a-paused-or-archived-machine"},{"title":"List a machine's workspace backups","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/machines/{machineID}/backups","href":"/api-reference/native/machines/list-a-machines-workspace-backups"},{"title":"Back up a machine's workspace now","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/machines/{machineID}/backups","href":"/api-reference/native/machines/back-up-a-machines-workspace-now"},{"title":"Recreate a machine from a workspace backup","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/machines/{machineID}/restore","href":"/api-reference/native/machines/recreate-a-machine-from-a-workspace-backup"},{"title":"List project machine grants","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/machine-grants","href":"/api-reference/native/machines/list-project-machine-grants"},{"title":"Create project machine grant","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/machine-grants","href":"/api-reference/native/machines/create-project-machine-grant"},{"title":"Delete project machine grant","openapi":"/api-reference/openapi.yaml delete /orgs/{orgID}/projects/{projectID}/machine-grants/{grantID}","href":"/api-reference/native/machines/delete-project-machine-grant"},{"title":"List visible machines","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/machines","href":"/api-reference/native/machines/list-visible-machines"},{"title":"Create machine","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/machines","href":"/api-reference/native/machines/create-machine"},{"title":"Connect a BYO machine","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/machines/connect","href":"/api-reference/native/machines/connect-a-byo-machine"},{"title":"Get machine","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/machines/{machineID}","href":"/api-reference/native/machines/get-machine"},{"title":"Delete machine","openapi":"/api-reference/openapi.yaml delete /orgs/{orgID}/machines/{machineID}","href":"/api-reference/native/machines/delete-machine"},{"title":"Update machine execution defaults","openapi":"/api-reference/openapi.yaml patch /orgs/{orgID}/machines/{machineID}","href":"/api-reference/native/machines/update-machine-execution-defaults"},{"title":"List byo machine daemon tokens","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/machines/{machineID}/daemon-tokens","href":"/api-reference/native/machines/list-byo-machine-daemon-tokens"},{"title":"Create byo machine daemon token","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/machines/{machineID}/daemon-tokens","href":"/api-reference/native/machines/create-byo-machine-daemon-token"},{"title":"Revoke machine daemon token","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/machines/{machineID}/daemon-tokens/{tokenID}/revoke","href":"/api-reference/native/machines/revoke-machine-daemon-token"}]},{"group":"Interactions","pages":[{"title":"List agent interactions","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/agents/{agentID}/interactions","href":"/api-reference/native/interactions/list-agent-interactions"},{"title":"Resolve agent interaction","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/agents/{agentID}/interactions/{interactionID}/resolve","href":"/api-reference/native/interactions/resolve-agent-interaction"}]},{"group":"Files","pages":[{"title":"List files","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/files","href":"/api-reference/native/files/list-files"},{"title":"Upload a file","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/files","href":"/api-reference/native/files/upload-a-file"},{"title":"Get file metadata","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/files/{fileID}","href":"/api-reference/native/files/get-file-metadata"},{"title":"Delete a file","openapi":"/api-reference/openapi.yaml delete /orgs/{orgID}/projects/{projectID}/files/{fileID}","href":"/api-reference/native/files/delete-a-file"},{"title":"Download a file","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/files/{fileID}/content","href":"/api-reference/native/files/download-a-file"},{"title":"List session file resources","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/agents/{agentID}/sessions/{sessionID}/resources","href":"/api-reference/native/files/list-session-file-resources"},{"title":"Mount a file into a session","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/agents/{agentID}/sessions/{sessionID}/resources","href":"/api-reference/native/files/mount-a-file-into-a-session"},{"title":"Unmount a file from a session","openapi":"/api-reference/openapi.yaml delete /orgs/{orgID}/projects/{projectID}/agents/{agentID}/sessions/{sessionID}/resources/{resourceID}","href":"/api-reference/native/files/unmount-a-file-from-a-session"},{"title":"Promote a session artifact to a file","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/agents/{agentID}/sessions/{sessionID}/artifacts/{artifactID}/promote","href":"/api-reference/native/files/promote-a-session-artifact-to-a-file"}]},{"group":"Desktops","pages":[{"title":"Create a desktop session","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/machines/{machineID}/desktop-sessions","href":"/api-reference/native/desktops/create-a-desktop-session"},{"title":"Get a desktop session","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/machines/{machineID}/desktop-sessions/{desktopSessionID}","href":"/api-reference/native/desktops/get-a-desktop-session"},{"title":"Close a desktop session","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/machines/{machineID}/desktop-sessions/{desktopSessionID}/close","href":"/api-reference/native/desktops/close-a-desktop-session"},{"title":"Get desktop control status","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/machines/{machineID}/desktop-sessions/{desktopSessionID}/control","href":"/api-reference/native/desktops/get-desktop-control-status"},{"title":"Acquire desktop control","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/machines/{machineID}/desktop-sessions/{desktopSessionID}/control/acquire","href":"/api-reference/native/desktops/acquire-desktop-control"},{"title":"Renew desktop control","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/machines/{machineID}/desktop-sessions/{desktopSessionID}/control/renew","href":"/api-reference/native/desktops/renew-desktop-control"},{"title":"Release desktop control","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/machines/{machineID}/desktop-sessions/{desktopSessionID}/control/release","href":"/api-reference/native/desktops/release-desktop-control"},{"title":"Hand control back","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/machines/{machineID}/desktop-sessions/{desktopSessionID}/control/handback","href":"/api-reference/native/desktops/hand-control-back"},{"title":"Capture the desktop","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/machines/{machineID}/desktop-sessions/{desktopSessionID}/screenshot","href":"/api-reference/native/desktops/capture-the-desktop"},{"title":"Send desktop input","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/machines/{machineID}/desktop-sessions/{desktopSessionID}/actions","href":"/api-reference/native/desktops/send-desktop-input"},{"title":"Observe the desktop as the agent","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/machines/{machineID}/desktop-sessions/{desktopSessionID}/agent/observe","href":"/api-reference/native/desktops/observe-the-desktop-as-the-agent"},{"title":"Resume the agent after a takeover","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/machines/{machineID}/desktop-sessions/{desktopSessionID}/agent/resume","href":"/api-reference/native/desktops/resume-the-agent-after-a-takeover"},{"title":"Submit an agent desktop action","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/machines/{machineID}/desktop-sessions/{desktopSessionID}/agent/actions","href":"/api-reference/native/desktops/submit-an-agent-desktop-action"},{"title":"Confirm a pending agent action","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/machines/{machineID}/desktop-sessions/{desktopSessionID}/agent/actions/{pendingID}/confirm","href":"/api-reference/native/desktops/confirm-a-pending-agent-action"}]},{"group":"Terminals","pages":[{"title":"List terminal sessions","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/machines/{machineID}/terminal-sessions","href":"/api-reference/native/terminals/list-terminal-sessions"},{"title":"Create a terminal session","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/machines/{machineID}/terminal-sessions","href":"/api-reference/native/terminals/create-a-terminal-session"},{"title":"Get a terminal session","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/machines/{machineID}/terminal-sessions/{terminalSessionID}","href":"/api-reference/native/terminals/get-a-terminal-session"},{"title":"Close a terminal session","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/machines/{machineID}/terminal-sessions/{terminalSessionID}/close","href":"/api-reference/native/terminals/close-a-terminal-session"},{"title":"Mint a terminal connection ticket","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/machines/{machineID}/terminal-sessions/{terminalSessionID}/connection-ticket","href":"/api-reference/native/terminals/mint-a-terminal-connection-ticket"}]},{"group":"Actors","pages":[{"title":"List project actors","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/actors","href":"/api-reference/native/actors/list-project-actors"},{"title":"Upsert an external actor","openapi":"/api-reference/openapi.yaml put /orgs/{orgID}/projects/{projectID}/actors","href":"/api-reference/native/actors/upsert-an-external-actor"},{"title":"Get a project actor","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/actors/{actorID}","href":"/api-reference/native/actors/get-a-project-actor"}]},{"group":"Models","pages":[{"title":"List model provider configs","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/model-provider-configs","href":"/api-reference/native/models/list-model-provider-configs"},{"title":"Create model provider config","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/model-provider-configs","href":"/api-reference/native/models/create-model-provider-config"},{"title":"Get model provider config","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/model-provider-configs/{modelProviderConfigID}","href":"/api-reference/native/models/get-model-provider-config"},{"title":"Update model provider config","openapi":"/api-reference/openapi.yaml put /orgs/{orgID}/model-provider-configs/{modelProviderConfigID}","href":"/api-reference/native/models/update-model-provider-config"},{"title":"Delete model provider config","openapi":"/api-reference/openapi.yaml delete /orgs/{orgID}/model-provider-configs/{modelProviderConfigID}","href":"/api-reference/native/models/delete-model-provider-config"},{"title":"Get model catalog","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/model-provider-configs/{modelProviderConfigID}/model-catalog","href":"/api-reference/native/models/get-model-catalog"},{"title":"List configured models","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/model-provider-configs/{modelProviderConfigID}/models","href":"/api-reference/native/models/list-configured-models"},{"title":"Create configured model","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/model-provider-configs/{modelProviderConfigID}/models","href":"/api-reference/native/models/create-configured-model"},{"title":"Update configured model","openapi":"/api-reference/openapi.yaml put /orgs/{orgID}/model-provider-configs/{modelProviderConfigID}/models/{configuredModelID}","href":"/api-reference/native/models/update-configured-model"},{"title":"Delete configured model","openapi":"/api-reference/openapi.yaml delete /orgs/{orgID}/model-provider-configs/{modelProviderConfigID}/models/{configuredModelID}","href":"/api-reference/native/models/delete-configured-model"},{"title":"List project model grants","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/model-grants","href":"/api-reference/native/models/list-project-model-grants"},{"title":"Create project model grant","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/model-grants","href":"/api-reference/native/models/create-project-model-grant"},{"title":"Delete project model grant","openapi":"/api-reference/openapi.yaml delete /orgs/{orgID}/projects/{projectID}/model-grants/{modelGrantID}","href":"/api-reference/native/models/delete-project-model-grant"},{"title":"Update project model grant","openapi":"/api-reference/openapi.yaml patch /orgs/{orgID}/projects/{projectID}/model-grants/{modelGrantID}","href":"/api-reference/native/models/update-project-model-grant"}]},{"group":"Machine Pools","pages":[{"title":"List machine pools","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/machine-pools","href":"/api-reference/native/machine-pools/list-machine-pools"},{"title":"Create machine pool","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/machine-pools","href":"/api-reference/native/machine-pools/create-machine-pool"},{"title":"Check machine pool connection","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/machine-pools/check-connection","href":"/api-reference/native/machine-pools/check-machine-pool-connection"},{"title":"Get machine pool","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/machine-pools/{poolID}","href":"/api-reference/native/machine-pools/get-machine-pool"},{"title":"Update machine pool","openapi":"/api-reference/openapi.yaml put /orgs/{orgID}/machine-pools/{poolID}","href":"/api-reference/native/machine-pools/update-machine-pool"},{"title":"Delete machine pool","openapi":"/api-reference/openapi.yaml delete /orgs/{orgID}/machine-pools/{poolID}","href":"/api-reference/native/machine-pools/delete-machine-pool"},{"title":"List project machine pool grants","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/machine-pool-grants","href":"/api-reference/native/machine-pools/list-project-machine-pool-grants"},{"title":"Create project machine pool grant","openapi":"/api-reference/openapi.yaml post /orgs/{orgID}/projects/{projectID}/machine-pool-grants","href":"/api-reference/native/machine-pools/create-project-machine-pool-grant"},{"title":"Get project machine pool grant","openapi":"/api-reference/openapi.yaml get /orgs/{orgID}/projects/{projectID}/machine-pool-grants/{poolGrantID}","href":"/api-reference/native/machine-pools/get-project-machine-pool-grant"},{"title":"Delete project machine pool grant","openapi":"/api-reference/openapi.yaml delete /orgs/{orgID}/projects/{projectID}/machine-pool-grants/{poolGrantID}","href":"/api-reference/native/machine-pools/delete-project-machine-pool-grant"},{"title":"Update project machine pool grant","openapi":"/api-reference/openapi.yaml patch /orgs/{orgID}/projects/{projectID}/machine-pool-grants/{poolGrantID}","href":"/api-reference/native/machine-pools/update-project-machine-pool-grant"}]}]},{"group":"Managed Agents extensions","pages":[{"group":"API Reference","pages":[{"title":"Mint a desktop watch ticket for a session (BMA extension)","openapi":"/api-reference/managed-agents-extensions.openapi.yaml get /v1/sessions/{session_id}/desktop/stream","href":"/api-reference/extensions/mint-a-desktop-watch-ticket-for-a-session-bma-extension"},{"title":"List files uploaded into the session (BMA extension)","openapi":"/api-reference/managed-agents-extensions.openapi.yaml get /v1/sessions/{session_id}/files","href":"/api-reference/extensions/list-files-uploaded-into-the-session-bma-extension"},{"title":"Upload one file into the session (BMA extension)","openapi":"/api-reference/managed-agents-extensions.openapi.yaml post /v1/sessions/{session_id}/files","href":"/api-reference/extensions/upload-one-file-into-the-session-bma-extension"},{"title":"Download one session file (BMA extension)","openapi":"/api-reference/managed-agents-extensions.openapi.yaml get /v1/sessions/{session_id}/files/{file_id}/content","href":"/api-reference/extensions/download-one-session-file-bma-extension"},{"title":"List the session's mounted file resources (BMA extension)","openapi":"/api-reference/managed-agents-extensions.openapi.yaml get /v1/sessions/{session_id}/resources","href":"/api-reference/extensions/list-the-sessions-mounted-file-resources-bma-extension"},{"title":"Mount one project file into the session (BMA extension)","openapi":"/api-reference/managed-agents-extensions.openapi.yaml post /v1/sessions/{session_id}/resources","href":"/api-reference/extensions/mount-one-project-file-into-the-session-bma-extension"},{"title":"Unmount one file resource from the session (BMA extension)","openapi":"/api-reference/managed-agents-extensions.openapi.yaml delete /v1/sessions/{session_id}/resources/{resource_id}","href":"/api-reference/extensions/unmount-one-file-resource-from-the-session-bma-extension"}]}]}]},{"tab":"Self-hosting","pages":[{"title":"Self-hosting","href":"/self-hosting/overview"}]},{"tab":"Changelog \u0026 roadmap","pages":[{"title":"Changelog \u0026 roadmap","href":"/changelog"}]}]},{"language":"zh","banner":{"content":"BMA 处于**抢先体验**阶段。各页面会把每项能力标注为 Available、Preview 或 Roadmap。","dismissible":true},"pages":[{"title":"zh","href":"/zh/api-reference/native/agents/archive-agent"}]}]},"basePath":"","title":"Archive agent - BMA Developer Docs","buildId":"223f4d0f93b3","dynamics":["10e4515597","c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["BannerMarkdown-CCxzie0y.js","dist-C8phz87P.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-DfU2JnNK.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","OpenApiReferenceProvider-DLP13Bsa.js","utils-LK_Rx0Zu.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BSq7eEfK.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Bchcwpn2.js","snippetPresets-B-BsDEmk.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CNoZnlAG.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-DqKAmR6F.js","shallow-Dq5-SwG1.js","getApiPlaygroundDisplay-B6YMrfFr.js","CodeSnippet-DvvqqrVi.js","CodeSnippets-D6Vj56PD.js","Page-03hAnTHd.js","getPastedJson-BKlc8wx2.js","icon-HMNWawTa.js","MethodPill-Dd_Z_kqi.js","DuplicateIcon-DK5o2DOi.js","createIcon-BhUMOhLi.js","DynamicMarkdown-CoGC92CO.js","SectionHeading-K9MvhMbX.js","axios-vUo_bRtp.js","Markdown-DqqHYs0x.js","AssistantPageLink-BVRLOPpC.js"]}