Completion documentation
API reference
Find the operation, understand its contract, and follow the result.
135 operations · 148 public schemas · Contract 0.1.0
Use the API origin supplied for your environment. Authentication uses bearer keys or browser sessions; read the authentication guide. Expand an operation for its Python method, parameters, request body, responses, and native transports.
This reference is generated from the current public contract. An operation's presence does not establish that every provider or service is enabled. Download OpenAPI JSON.
135 operations and 148 schemas. Filter by name, path, method, or field.
Account and Organization
POST/sign-ins
StartSignIn
Link to operationPython: client.start_sign_in(...)
Start sign-in using the existing WorkOS configuration. Configured company domains continue through SSO; WorkOS sends email codes for other addresses. Email code issuance has a sixty-second cooldown. Requires the configured browser Origin.
Authentication: None declared.
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
emailrequired | string · email |
|
ssooptional | boolean | Require an existing company SSO connection for this email domain. |
{
"$ref": "#/components/schemas/StartSignInInput"
}
Responses
| Status | Response contract |
|---|---|
| 200 | Sign-in step. Session credentials are set only in HttpOnly cookies.
Response headers
|
| 400, 403, 404, 413, 429, 500, 502, 503 | Request rejected
|
POST/sign-ins/code-verifications
VerifyCode
Link to operationPython: client.verify_code(...)
Verify an email code with WorkOS, then admit the User and create a thirty-day Completion browser session. WorkOS owns code expiry and attempts. Provider calls finish before the database transaction. Requires the configured browser Origin.
Authentication: None declared.
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
emailrequired | string · email |
|
coderequired | string | Six decimal digits from the delivered email. Never log this value.
|
{
"$ref": "#/components/schemas/VerifyCodeInput"
}
Responses
| Status | Response contract |
|---|---|
| 200 | Sign-in step. Session credentials are set only in HttpOnly cookies.
Response headers
|
| 400, 401, 403, 409, 413, 429, 500, 502, 503 | Request rejected
|
POST/sign-ins/continuations
ContinueSignIn
Link to operationPython: client.continue_sign_in(...)
Continue WorkOS email verification using the pending authentication token sealed in an HttpOnly cookie. Requires the configured browser Origin.
Authentication: None declared.
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
coderequired | string | Six decimal digits from the delivered email. Never log this value.
|
{
"$ref": "#/components/schemas/ContinueSignInInput"
}
Responses
| Status | Response contract |
|---|---|
| 200 | Sign-in step. Session credentials are set only in HttpOnly cookies.
Response headers
|
| 400, 401, 403, 409, 413, 429, 500, 502, 503 | Request rejected
|
GET/sign-ins/authorizations
AuthorizeSignIn
Link to operationPython: client.authorize_sign_in(...)
Start Google or configured company SSO through WorkOS, with state bound to a short-lived HttpOnly cookie. The callback returns to /login. Application continuation belongs to the browser tab.
Authentication: None declared.
Parameters
| Name | Location / type | Description |
|---|---|---|
providerrequired | query / string | SDK: |
emailoptional | query / string · email | Email address required for company SSO; normalized to lowercase. SDK: |
connection_idoptional | query / string | WorkOS connection returned by an SSO-required continuation. SDK: |
Responses
| Status | Response contract |
|---|---|
| 302 | Continue in the browser. Response headers
|
| 400, 404, 500, 502, 503 | Request rejected
|
GET/sign-ins/callbacks
SignInCallback
Link to operationPython: client.sign_in_callback(...)
Exchange the state-bound callback with WorkOS. Continue company SSO or email verification when required; otherwise create the Completion session. Provider calls finish before the identity/session database transaction.
Authentication: None declared.
Parameters
| Name | Location / type | Description |
|---|---|---|
codeoptional | query / string | SDK: |
stateoptional | query / string | SDK: |
erroroptional | query / string | SDK: |
Responses
| Status | Response contract |
|---|---|
| 302 | Continue in the browser. Response headers
|
| 400, 401, 409, 429, 500, 502, 503 | Request rejected
|
DELETE/sign-ins/current
Logout
Link to operationPython: client.logout(...)
Expire the Completion browser session before revoking its WorkOS session. The exact opaque browser cookie can retry this operation after expiry if the provider is unavailable. Delete the session and clear its cookie after upstream revocation succeeds. API credentials cannot log out a browser session. Requires the configured browser Origin.
Authentication: None declared.
Responses
| Status | Response contract |
|---|---|
| 204 | Browser session revoked. |
| 400, 401, 403, 500, 502, 503 | Request rejected
|
GET/account
Account
Link to operationPython: client.account(...)
Authentication: BearerAuth or BrowserSession.
Responses
PUT/account
UpdateAccount
Link to operationPython: client.update_account(...)
Set only the supplied top-level writable fields to their absolute values. Omitted fields retain their saved values. Supplied arrays and objects replace that field's value; this is not a recursive merge or JSON Patch operation. Explicit null is valid only where the field schema permits it. Validate the resulting effective resource, including coupled scope and policy fields, before committing. Repeating the same update has the same resource-state effect; never interpret values as increment, toggle or append commands. This identity server supports only the fields declared here.
Authentication: BearerAuth or BrowserSession.
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
namerequired | string |
{
"type": "object",
"additionalProperties": false,
"minProperties": 1,
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
]
}
Responses
| Status | Response contract |
|---|---|
| 200 | Native result.
|
| 400, 401, 403, 404, 413, 500, 503, 409, 422, 429, 502 | Request rejected
|
GET/organizations
ListOrganizations
Link to operationPython: client.list_organizations(...)
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
cursoroptional | query / string | SDK: |
limitoptional | query / integer | Requested upper bound on this page. The owner may return fewer items to satisfy its native response/transport bounds. Use the returned cursor to continue. SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Native result.
|
| 400, 401, 403, 404, 409, 413, 422, 429, 500, 502, 503 | Request rejected
|
POST/organizations
CreateOrganization
Link to operationPython: client.create_organization(...)
Requires a user session. request_id binds an immutable creation receipt; equal retries return the original result and do not restore removed membership.
Authentication: BearerAuth or BrowserSession.
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
namerequired | string |
|
request_idrequired | string |
|
{
"$ref": "#/components/schemas/CreateOrganizationInput"
}
Responses
| Status | Response contract |
|---|---|
| 201 | Native result.
|
| 400, 401, 403, 404, 409, 413, 422, 429, 500, 502, 503 | Request rejected
|
GET/organization
ReadOrganization
Link to operationPython: client.read_organization(...)
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Required with a session cookie. Bearer API keys select their bound organization. SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Native result.
|
| 400, 401, 403, 404, 409, 413, 422, 429, 500, 502, 503 | Request rejected
|
PUT/organization
UpdateOrganization
Link to operationPython: client.update_organization(...)
Requires organization.update. Update the selected Organization name, Computer VPN or private-network attachment. Omitted fields stay unchanged. An explicit network_control_enabled value, including an equal value, saves metadata then awaits native confirmation of routing on running Computers and gateway configuration. Paused Computers adopt the saved configuration before subsequent work. Partial application returns an error and retains saved metadata and completed applications. Authorized Vault substitution remains available in both VPN modes. Protected routing currently requires a supported managed Linux Computer; Windows, attached and Vercel Computers cannot confirm this VPN and return an application error when enabling it. No fleet rollback or background retry is promised.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Required with a session cookie. Bearer API keys select their bound organization. SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
nameoptional | string |
|
network_control_enabledoptional | boolean | Route Computer workload traffic through the protected WireGuard gateway and enforce the selected scoped Network Rules when true. False uses ordinary networking and retains rule definitions without enforcing them. Supported HTTP tools and command proxies resolve authorized Vault references in both modes; false does not intercept arbitrary application connections. Vercel uses its native firewall independently; enabling the protected VPN for Vercel returns unsupported rather than broadening its policy. |
private_networkoptional | composed schema · nullable | Omit to preserve the attachment. Supply the complete reference and approved exit to replace it, or null to detach. The current native Vault version is pinned when this update is admitted. |
{
"$ref": "#/components/schemas/UpdateOrganizationInput"
}
Responses
| Status | Response contract |
|---|---|
| 200 | Native result.
|
| 400, 401, 403, 404, 409, 413, 422, 429, 500, 502, 503 | Request rejected
|
GET/organization/members
ListMembers
Link to operationPython: client.list_members(...)
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
qoptional | query / string | SDK: |
cursoroptional | query / string | SDK: |
limitoptional | query / integer | Requested upper bound on this page. The owner may return fewer items to satisfy its native response/transport bounds. Use the returned cursor to continue. SDK: |
X-Organization-IDoptional | header / string · uuid | Required with a session cookie. Bearer API keys select their bound organization. SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Native result.
|
| 400, 401, 403, 404, 409, 413, 422, 429, 500, 502, 503 | Request rejected
|
POST/organization/members
AddOrganizationMember
Link to operationPython: client.add_organization_member(...)
Local extension: add an existing user. Requires member-management authority; assigning owner also requires owner-management authority. Provision users with the CLI.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
user_idrequired | string · uuid | |
rolerequired | string |
|
{
"type": "object",
"additionalProperties": false,
"required": [
"user_id",
"role"
],
"properties": {
"user_id": {
"type": "string",
"format": "uuid"
},
"role": {
"type": "string",
"enum": [
"owner",
"admin",
"member"
]
}
}
}
Responses
| Status | Response contract |
|---|---|
| 201 | Membership created.
|
| 400, 401, 403, 404, 409, 500, 413 | Request rejected
|
PUT/organization/members/{member_id}
ChangeMemberRole
Link to operationPython: client.change_member_role(...)
Set only the supplied top-level writable fields to their absolute values. Omitted fields retain their saved values. Supplied arrays and objects replace that field's value; this is not a recursive merge or JSON Patch operation. Explicit null is valid only where the field schema permits it. Validate the resulting effective resource, including coupled scope and policy fields, before committing. Repeating the same update has the same resource-state effect; never interpret values as increment, toggle or append commands. This identity server supports only the fields declared here.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
member_idrequired | path / string · uuid | SDK: |
X-Organization-IDoptional | header / string · uuid | Required with a session cookie. Bearer API keys select their bound organization. SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
rolerequired | string |
|
{
"$ref": "#/components/schemas/MemberRoleInput"
}
Responses
| Status | Response contract |
|---|---|
| 204 | Native result. |
| 400, 401, 403, 404, 409, 413, 422, 429, 500, 502, 503 | Request rejected
|
DELETE/organization/members/{member_id}
RemoveOrganizationMember
Link to operationPython: client.remove_organization_member(...)
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
member_idrequired | path / string · uuid | SDK: |
X-Organization-IDoptional | header / string · uuid | Required with a session cookie. Bearer API keys select their bound organization. SDK: |
Responses
| Status | Response contract |
|---|---|
| 204 | Native result. |
| 400, 401, 403, 404, 409, 413, 422, 429, 500, 502, 503 | Request rejected
|
POST/organization/ownership
TransferOrganizationOwnership
Link to operationPython: client.transfer_organization_ownership(...)
This identity server supports only the fields declared here.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Required with a session cookie. Bearer API keys select their bound organization. SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
member_idrequired | string · uuid |
{
"$ref": "#/components/schemas/TransferOrganizationOwnershipInput"
}
Responses
| Status | Response contract |
|---|---|
| 204 | Native result. |
| 400, 401, 403, 404, 409, 500, 502, 503, 413, 422, 429 | Request rejected
|
POST/organization/leave
LeaveOrganization
Link to operationPython: client.leave_organization(...)
Leave the selected organization and revoke its keys owned by this user. Primary owners must transfer ownership first.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Required with a session cookie. Bearer API keys select their bound organization. SDK: |
Responses
| Status | Response contract |
|---|---|
| 204 | Native result. |
| 400, 401, 403, 404, 409, 413, 422, 429, 500, 502, 503 | Request rejected
|
GET/api-keys
ListAPIKeys
Link to operationPython: client.list_api_keys(...)
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
cursoroptional | query / string | SDK: |
limitoptional | query / integer | Requested upper bound on this page. The owner may return fewer items to satisfy its native response/transport bounds. Use the returned cursor to continue. SDK: |
X-Organization-IDoptional | header / string · uuid | Required with a session cookie. Bearer API keys select their bound organization. SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Native result.
|
| 400, 401, 403, 404, 409, 413, 422, 429, 500, 502, 503 | Request rejected
|
POST/api-keys
CreateAPIKey
Link to operationPython: client.create_api_key(...)
New registration requires organization.keys.manage and the issuer and owner scope ceilings. The authenticated Organization, principal and supplied input bind the immutable request. Equal replay returns the original receipt before current creation permission or owner availability is checked, including after role loss, scope narrowing or target-key revocation. Changed reuse returns 409. Authentication still applies; an expired, revoked or disabled caller credential cannot replay a request. This identity server supports only the fields declared here.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Required with a session cookie. Bearer API keys select their bound organization. SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
secret_hashrequired | string |
|
native_scoperequired | NativeScope | |
expires_atoptional | string · date-time |
{
"$ref": "#/components/schemas/RegisterAPIKey"
}
Responses
| Status | Response contract |
|---|---|
| 201 | Native result.
|
| 400, 401, 403, 404, 409, 413, 422, 429, 500, 502, 503 | Request rejected
|
PUT/api-keys/{id}
UpdateAPIKey
Link to operationPython: client.update_api_key(...)
Set only the supplied top-level writable fields to their absolute values. Omitted fields retain their saved values. Supplied arrays and objects replace that field's value; this is not a recursive merge or JSON Patch operation. Explicit null is valid only where the field schema permits it. Validate the resulting effective resource, including coupled scope and policy fields, before committing. Repeating the same update has the same resource-state effect; never interpret values as increment, toggle or append commands. Replace native_scope using the same resource/operation allowlist shape as key registration. No access role or compatibility alias is accepted. Key-management authority and caller permissions bound the replacement; a scoped key cannot expand itself. Key identity, secret hash, ownership and expiry remain unchanged. New requests use the saved scope; accepted turns retain their admitted authority. This identity server supports only the fields declared here.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
idrequired | path / string · uuid | SDK: |
X-Organization-IDoptional | header / string · uuid | Required with a session cookie. Bearer API keys select their bound organization. SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
native_scoperequired | composed schema | Replace the complete resource/operation allowlist. Empty resources grants no operations. Requires key-management authority and cannot grant authority the caller lacks or let a scoped key expand its own permissions. The key ID, secret hash, owner and expiry are unchanged. New requests use this scope; accepted turns retain admitted authority. |
{
"$ref": "#/components/schemas/UpdateAPIKeyInput"
}
Responses
| Status | Response contract |
|---|---|
| 204 | Native result. |
| 400, 401, 403, 404, 409, 500, 502, 503, 413, 422, 429 | Request rejected
|
DELETE/api-keys/{id}
RevokeAPIKey
Link to operationPython: client.revoke_api_key(...)
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
idrequired | path / string · uuid | SDK: |
X-Organization-IDoptional | header / string · uuid | Required with a session cookie. Bearer API keys select their bound organization. SDK: |
Responses
| Status | Response contract |
|---|---|
| 204 | Native result. |
| 400, 401, 403, 404, 409, 413, 422, 429, 500, 502, 503 | Request rejected
|
GET/healthz
Health
Link to operationPython: client.health(...)
Authentication: None declared.
Responses
| Status | Response contract |
|---|---|
| 204 | Database is reachable. |
| 503 | Request rejected
|
Agents
GET/agents
ListAgents
Link to operationPython: client.list_agents(...)
List current Agent metadata within current membership, grants and credential scope.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
qoptional | query / string | Literal case-insensitive name/title substring; empty means no search filter. SDK: |
cursoroptional | query / string | SDK: |
limitoptional | query / integer | SDK: |
Responses
POST/agents
CreateAgent
Link to operationPython: client.create_agent(...)
Admit the Agent identity and capture its original source on Archil. A preparing creation receipt guarantees the original source is durable. Capture failure returns the original terminal failed Agent receipt instead. Editable files and the namespace runtime initialize eagerly. Actual file and message consumers finish their required initialization; Session metadata creation does not wait for it. Creation starts no Session or model work. Equal creation replay returns its original admission receipt without changing files, grants or runtime state. Read the Agent for current status. Selected unconfigured Template provisioning returns 503.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
agent_template_idoptional | string · uuid | |
computer_template_idoptional | string · uuid · nullable | |
browser_template_idoptional | string · uuid · nullable | |
computer_idoptional | string · uuid · nullable | |
browser_idoptional | string · uuid · nullable | |
parent_agent_idoptional | string · uuid · nullable | |
titleoptional | string | |
settingsoptional | AgentConfiguration | |
permissionsoptional | array |
{
"$ref": "#/components/schemas/CreateAgentInput"
}
Responses
| Status | Response contract |
|---|---|
| 201 | Resource result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 503 | Request rejected
|
| 200 | Matching creation replay.
|
GET/agents/{id}
ReadAgent
Link to operationPython: client.read_agent(...)
Read current authorized Agent metadata and native filesystem program references.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
Responses
PUT/agents/{id}
UpdateAgent
Link to operationPython: client.update_agent(...)
Set supplied Agent metadata and default selections. Omitted fields remain unchanged; selected existing resources require current authority.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
titleoptional | string · nullable | |
archivedoptional | boolean | |
namespace_idoptional | string |
|
computer_idoptional | string · uuid · nullable | |
browser_idoptional | string · uuid · nullable |
{
"$ref": "#/components/schemas/UpdateAgentInput"
}
Responses
GET/agents/{id}/settings
ReadAgentSettings
Link to operationPython: client.read_agent_settings(...)
Resolve current Agent configuration from its authoritative native definition files on Archil under current Agent read authority.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Resource result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 503 | Request rejected
|
PUT/agents/{id}/settings
UpdateAgentSettings
Link to operationPython: client.update_agent_settings(...)
Set supplied Agent configuration fields through caller-authorized filesystem operations. Omitted fields and native configuration keys remain unchanged. This starts no model work.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
pluginsoptional | array | |
modeloptional | string |
|
reasoning_effortoptional | string |
|
priorityoptional | boolean | |
instructionsoptional | string | |
toolsoptional | array · nullable | |
skillsoptional | array · nullable | |
mcp_serversoptional | array · nullable | |
voiceoptional | composed schema · nullable | |
max_goal_token_budgetoptional | integer · int64 |
|
{
"$ref": "#/components/schemas/AgentConfiguration"
}
Responses
| Status | Response contract |
|---|---|
| 200 | Resource result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 503 | Request rejected
|
PUT/agents/{id}/owner
UpdateAgentOwner
Link to operationPython: client.update_agent_owner(...)
Set resource ownership to the supplied current organization membership, or clear it with null. The current resource owner or an organization administrator (primary_owner, owner, admin) may change ownership; administrators do not need permission from the existing owner or resource grants. Current organization membership and any credential scope ceiling still apply. Cross-organization and deleted target memberships are invalid. Changing ownership does not replace sharing grants or creation provenance. Repeating the same assignment is a no-op. Core authorization and mutation are not implemented; returns 503 until the service is injected.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
owner_member_idrequired | string · uuid · nullable | Current organization membership to own the resource. Null clears ownership. |
{
"$ref": "#/components/schemas/UpdateResourceOwnerInput"
}
Responses
GET/agents/{agent_id}/permissions
ListAgentPermissions
Link to operationPython: client.list_agent_permissions(...)
Manage direct resource grants under current resource owner or organization administrator authority and the caller credential ceiling. These grants authorize the canonical resource files without copied filesystem grants.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
agent_idrequired | path / string · uuid | SDK: |
limitoptional | query / integer | SDK: |
cursoroptional | query / string | SDK: |
Responses
| Status | Response contract |
|---|---|
| 400, 401, 403, 404, 409, 500 | Request rejected
|
| 200 | Committed result.
|
POST/agents/{agent_id}/permissions
CreateAgentPermission
Link to operationPython: client.create_agent_permission(...)
Manage direct resource grants under current resource owner or organization administrator authority and the caller credential ceiling. These grants authorize the canonical resource files without copied filesystem grants.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
agent_idrequired | path / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
member_idoptional | string · uuid · nullable | |
grantee_agent_idoptional | string · uuid · nullable | |
rolerequired | string |
|
expires_atoptional | string · date-time · nullable |
{
"$ref": "#/components/schemas/CreateAgentPermissionInput"
}
Responses
| Status | Response contract |
|---|---|
| 400, 401, 403, 404, 409, 500 | Request rejected
|
| 201 | Committed result.
|
PUT/agents/{agent_id}/permissions/{permission_id}
UpdateAgentPermission
Link to operationPython: client.update_agent_permission(...)
Manage direct resource grants under current resource owner or organization administrator authority and the caller credential ceiling. These grants authorize the canonical resource files without copied filesystem grants.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
agent_idrequired | path / string · uuid | SDK: |
permission_idrequired | path / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
roleoptional | string |
|
expires_atoptional | string · date-time · nullable |
{
"$ref": "#/components/schemas/UpdateAgentPermissionInput"
}
Responses
| Status | Response contract |
|---|---|
| 400, 401, 403, 404, 409, 500 | Request rejected
|
| 200 | Committed result.
|
DELETE/agents/{agent_id}/permissions/{permission_id}
DeleteAgentPermission
Link to operationPython: client.delete_agent_permission(...)
Manage direct resource grants under current resource owner or organization administrator authority and the caller credential ceiling. These grants authorize the canonical resource files without copied filesystem grants.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
agent_idrequired | path / string · uuid | SDK: |
permission_idrequired | path / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 400, 401, 403, 404, 409, 500 | Request rejected
|
| 204 | Committed result. |
Templates
GET/agent-templates
ListAgentTemplates
Link to operationPython: client.list_agent_templates(...)
Typed service boundary. No metadata/business or external-service implementation is installed; returns 503 until the relevant service is injected.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
qoptional | query / string | Literal case-insensitive name/title substring; empty means no search filter. SDK: |
cursoroptional | query / string | SDK: |
limitoptional | query / integer | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Resource result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 503 | Request rejected
|
POST/agent-templates
CreateAgentTemplate
Link to operationPython: client.create_agent_template(...)
Typed service boundary. No metadata/business or external-service implementation is installed; returns 503 until the relevant service is injected.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
namerequired | string |
|
source_agent_idoptional | string · uuid | |
computer_template_idoptional | string · uuid · nullable | |
browser_template_idoptional | string · uuid · nullable |
{
"$ref": "#/components/schemas/CreateAgentTemplateInput"
}
Responses
| Status | Response contract |
|---|---|
| 201 | Resource result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 503 | Request rejected
|
| 200 | Matching creation replay.
|
GET/agent-templates/{id}
ReadAgentTemplate
Link to operationPython: client.read_agent_template(...)
Typed service boundary. No metadata/business or external-service implementation is installed; returns 503 until the relevant service is injected.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Resource result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 503 | Request rejected
|
PUT/agent-templates/{id}
UpdateAgentTemplate
Link to operationPython: client.update_agent_template(...)
Typed service boundary. No metadata/business or external-service implementation is installed; returns 503 until the relevant service is injected.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
nameoptional | string |
|
computer_template_idoptional | string · uuid · nullable | |
browser_template_idoptional | string · uuid · nullable |
{
"$ref": "#/components/schemas/UpdateAgentTemplateInput"
}
Responses
| Status | Response contract |
|---|---|
| 200 | Resource result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 503 | Request rejected
|
GET/computer-templates
ListComputerTemplates
Link to operationPython: client.list_computer_templates(...)
List authorized Templates with literal, case-insensitive name substring search. An empty q applies no search filter.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
qoptional | query / string | Literal case-insensitive name/title substring; empty means no search filter. SDK: |
cursoroptional | query / string | SDK: |
limitoptional | query / integer | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Resource result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 503 | Request rejected
|
POST/computer-templates
CreateComputerTemplate
Link to operationPython: client.create_computer_template(...)
Capture a managed Computer and publish its state as a new Template. Capture automatically selects supported memory state, otherwise disk state. A native failure is returned without retrying another capture mode.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
computer_idrequired | string · uuid | |
namerequired | string |
|
{
"$ref": "#/components/schemas/CreateComputerTemplateInput"
}
Responses
| Status | Response contract |
|---|---|
| 201 | Resource result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 502, 429, 503, default | Request rejected
|
| 200 | Matching creation replay.
|
GET/computer-templates/{id}
ReadComputerTemplate
Link to operationPython: client.read_computer_template(...)
Read authorized Template metadata and its selected capture.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Resource result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 503 | Request rejected
|
PUT/computer-templates/{id}
UpdateComputerTemplate
Link to operationPython: client.update_computer_template(...)
Assign the supplied name and preserve omitted fields.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
nameoptional | string |
|
{
"$ref": "#/components/schemas/UpdateComputerTemplateInput"
}
Responses
| Status | Response contract |
|---|---|
| 200 | Resource result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 503 | Request rejected
|
DELETE/computer-templates/{id}
DeleteComputerTemplate
Link to operationPython: client.delete_computer_template(...)
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
idrequired | path / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 400, 401, 403, 404, 409, 502, 422, 429, 500, 503, default | Request rejected
|
| 204 | Deleted |
GET/browser-templates
ListBrowserTemplates
Link to operationPython: client.list_browser_templates(...)
Typed service boundary. No metadata/business or external-service implementation is installed; returns 503 until the relevant service is injected.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
qoptional | query / string | Literal case-insensitive name/title substring; empty means no search filter. SDK: |
cursoroptional | query / string | SDK: |
limitoptional | query / integer | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Resource result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 503 | Request rejected
|
POST/browser-templates
CreateBrowserTemplate
Link to operationPython: client.create_browser_template(...)
Typed service boundary. No metadata/business or external-service implementation is installed; returns 503 until the relevant service is injected.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
source_browser_idrequired | string · uuid | |
namerequired | string |
|
start_urloptional | string |
{
"$ref": "#/components/schemas/CreateBrowserTemplateInput"
}
Responses
| Status | Response contract |
|---|---|
| 201 | Resource result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 503 | Request rejected
|
| 200 | Matching creation replay.
|
GET/browser-templates/{id}
ReadBrowserTemplate
Link to operationPython: client.read_browser_template(...)
Typed service boundary. No metadata/business or external-service implementation is installed; returns 503 until the relevant service is injected.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Resource result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 503 | Request rejected
|
PUT/browser-templates/{id}
UpdateBrowserTemplate
Link to operationPython: client.update_browser_template(...)
Typed service boundary. No metadata/business or external-service implementation is installed; returns 503 until the relevant service is injected.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
nameoptional | string |
|
start_urloptional | string · nullable |
{
"$ref": "#/components/schemas/UpdateBrowserTemplateInput"
}
Responses
| Status | Response contract |
|---|---|
| 200 | Resource result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 503 | Request rejected
|
POST/agent-templates/{id}/snapshot
SaveAgentTemplateSnapshot
Link to operationPython: client.save_agent_template_snapshot(...)
Typed service boundary. No metadata/business or external-service implementation is installed; returns 503 until the relevant service is injected.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
request_idrequired | string · uuid | |
source_agent_idoptional | string · uuid |
{
"$ref": "#/components/schemas/SaveAgentTemplateSnapshotInput"
}
Responses
| Status | Response contract |
|---|---|
| 202 | Resource result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 503 | Request rejected
|
POST/computer-templates/{id}/snapshot
SaveComputerTemplateSnapshot
Link to operationPython: client.save_computer_template_snapshot(...)
Capture and publish the completed native result inside this request. Exact request replay returns its original result; no background job is created.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
request_idrequired | string · uuid | |
computer_idrequired | string · uuid |
{
"$ref": "#/components/schemas/SaveComputerTemplateSnapshotInput"
}
Responses
| Status | Response contract |
|---|---|
| 400, 401, 403, 404, 409, 413, 422, 500, 502, 429, 503, default | Request rejected
|
| 200 | Resource result.
|
POST/browser-templates/{id}/snapshot
SaveBrowserTemplateSnapshot
Link to operationPython: client.save_browser_template_snapshot(...)
Typed service boundary. No metadata/business or external-service implementation is installed; returns 503 until the relevant service is injected.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
request_idrequired | string · uuid | |
source_browser_idrequired | string · uuid |
{
"$ref": "#/components/schemas/SaveBrowserTemplateSnapshotInput"
}
Responses
| Status | Response contract |
|---|---|
| 202 | Resource result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 503 | Request rejected
|
GET/agent-templates/{id}/versions/{version_id}
ReadAgentTemplateVersion
Link to operationPython: client.read_agent_template_version(...)
Typed service boundary. No metadata/business or external-service implementation is installed; returns 503 until the relevant service is injected.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
version_idrequired | path / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Resource result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 503 | Request rejected
|
PUT/agent-templates/{id}/owner
UpdateAgentTemplateOwner
Link to operationPython: client.update_agent_template_owner(...)
Set resource ownership to the supplied current organization membership, or clear it with null. The current resource owner or an organization administrator (primary_owner, owner, admin) may change ownership; administrators do not need permission from the existing owner or resource grants. Current organization membership and any credential scope ceiling still apply. Cross-organization and deleted target memberships are invalid. Changing ownership does not replace sharing grants or creation provenance. Repeating the same assignment is a no-op. Core authorization and mutation are not implemented; returns 503 until the service is injected.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
owner_member_idrequired | string · uuid · nullable | Current organization membership to own the resource. Null clears ownership. |
{
"$ref": "#/components/schemas/UpdateResourceOwnerInput"
}
Responses
| Status | Response contract |
|---|---|
| 200 | Resource result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 503 | Request rejected
|
PUT/computer-templates/{id}/owner
UpdateComputerTemplateOwner
Link to operationPython: client.update_computer_template_owner(...)
Assign the resource owner under current ownership and scope authority.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
owner_member_idrequired | string · uuid · nullable | Current organization membership to own the resource. Null clears ownership. |
{
"$ref": "#/components/schemas/UpdateResourceOwnerInput"
}
Responses
| Status | Response contract |
|---|---|
| 200 | Resource result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 503 | Request rejected
|
PUT/browser-templates/{id}/owner
UpdateBrowserTemplateOwner
Link to operationPython: client.update_browser_template_owner(...)
Set resource ownership to the supplied current organization membership, or clear it with null. The current resource owner or an organization administrator (primary_owner, owner, admin) may change ownership; administrators do not need permission from the existing owner or resource grants. Current organization membership and any credential scope ceiling still apply. Cross-organization and deleted target memberships are invalid. Changing ownership does not replace sharing grants or creation provenance. Repeating the same assignment is a no-op. Core authorization and mutation are not implemented; returns 503 until the service is injected.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
owner_member_idrequired | string · uuid · nullable | Current organization membership to own the resource. Null clears ownership. |
{
"$ref": "#/components/schemas/UpdateResourceOwnerInput"
}
Responses
| Status | Response contract |
|---|---|
| 200 | Resource result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 503 | Request rejected
|
GET/computer-templates/{id}/sharing
ListComputerTemplatePermissions
Link to operationPython: client.list_computer_template_permissions(...)
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
idrequired | path / string · uuid | SDK: |
limitoptional | query / integer | SDK: |
cursoroptional | query / string | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Committed result.
|
| 400, 401, 403, 404, 409, 500 | Request rejected
|
PUT/computer-templates/{id}/sharing/members/{member_id}
SetComputerTemplateMemberPermission
Link to operationPython: client.set_computer_template_member_permission(...)
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
idrequired | path / string · uuid | SDK: |
member_idrequired | path / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
rolerequired | string |
|
expires_atoptional | string · date-time · nullable |
{
"$ref": "#/components/schemas/SetResourcePermissionInput"
}
Responses
| Status | Response contract |
|---|---|
| 200 | Committed result.
|
| 400, 401, 403, 404, 409, 500 | Request rejected
|
DELETE/computer-templates/{id}/sharing/members/{member_id}
DeleteComputerTemplateMemberPermission
Link to operationPython: client.delete_computer_template_member_permission(...)
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
idrequired | path / string · uuid | SDK: |
member_idrequired | path / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 204 | Committed result. |
| 400, 401, 403, 404, 409, 500 | Request rejected
|
PUT/computer-templates/{id}/sharing/organization
SetComputerTemplateOrganizationPermission
Link to operationPython: client.set_computer_template_organization_permission(...)
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
idrequired | path / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
rolerequired | string |
|
expires_atoptional | string · date-time · nullable |
{
"$ref": "#/components/schemas/SetResourcePermissionInput"
}
Responses
| Status | Response contract |
|---|---|
| 200 | Committed result.
|
| 400, 401, 403, 404, 409, 500 | Request rejected
|
DELETE/computer-templates/{id}/sharing/organization
DeleteComputerTemplateOrganizationPermission
Link to operationPython: client.delete_computer_template_organization_permission(...)
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
idrequired | path / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 204 | Committed result. |
| 400, 401, 403, 404, 409, 500 | Request rejected
|
GET/computer-templates/{id}/updates
GetComputerTemplateSoftwareUpdate
Link to operationPython: client.get_computer_template_software_update(...)
Read the observed installed and selected available builds without allocation, installation or resume.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
idrequired | path / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Observed installed and available software.
|
| 400, 401, 403, 404, 409, 413, 422, 429, 500, 502, 503, 504 | Request rejected
|
POST/computer-templates/{id}/updates
ApplyComputerTemplateUpdates
Link to operationPython: client.apply_computer_template_updates(...)
Install into an owned temporary native clone, capture, delete the clone and publish with compare-and-set. The existing capture receipt owns exact immutable request replay. No public temporary Computer or background job is created.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
idrequired | path / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
request_idrequired | string · uuid | |
target_buildrequired | string |
|
{
"$ref": "#/components/schemas/ComputerSoftwareUpdateInput"
}
Responses
| Status | Response contract |
|---|---|
| 200 | Native confirmed completed update.
|
| 400, 401, 403, 404, 409, 413, 422, 429, 500, 502, 503, default, 504 | Request rejected
|
Computers
GET/computers
ListComputers
Link to operationPython: client.list_computers(...)
List authorized Computers with literal, case-insensitive name substring search. An empty q applies no search filter. Reads do not resume or install software.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
qoptional | query / string | Literal case-insensitive name/title substring; empty means no search filter. SDK: |
cursoroptional | query / string | SDK: |
limitoptional | query / integer | SDK: |
agent_idoptional | query / string · uuid | SDK: |
permissionoptional | query / string | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Resource result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 503 | Request rejected
|
POST/computers
CreateComputer
Link to operationPython: client.create_computer(...)
Allocate and prepare a managed Computer from exactly one provider source, Template, or authorized Computer. No Agent work is submitted. Completed immutable requests replay their original result; unresolved requests conflict without repeating native effects.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
computer_template_idoptional | string · uuid | |
provideroptional | string |
|
nameoptional | string |
|
sourceoptional | object | Native image or snapshot selection only. E2B accepts templateID; Daytona accepts snapshot or image, with an optional native target region; Modal accepts image_id or image; Boat accepts from and type; Vercel accepts snapshot_id or image; Archil accepts image_id or base_image. Vercel and Archil identifiers must be nonempty strings. An empty object selects the configured native image default. API destinations, account/app/environment settings and credentials belong to the immutable Vault connection and are rejected in source. Native source overrides require explicitly supplied authorized Vault references. Completion-default creation accepts an empty source; other copies use an authorized Computer or Template. |
computer_idoptional | string · uuid | |
credential_referencesoptional | object | Exact Vault version references keyed by E2B_SANDBOX, DAYTONA_SANDBOX, MODAL_SANDBOX, BOAT_SANDBOX, VERCEL_SANDBOX or ARCHIL_SANDBOX. Each provider takes exactly one JSON text Vault value containing its credentials and connection/account settings. E2B/Daytona use api_key and optional api_url; Modal uses token_id, token_secret and optional app_name and environment; Boat uses api_key and optional api_url and org. Vercel uses token, team_id and project_id; Archil uses api_key and api_url. Omission on a fresh provider source selects its configured Completion Vault connection with an empty source. Explicit empty references do not select a default. Derived creation retains the exact source binding. |
{
"$ref": "#/components/schemas/CreateComputerInput"
}
Responses
| Status | Response contract |
|---|---|
| 201 | Resource result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 502, 429, 503, default | Request rejected
|
| 200 | Matching creation replay.
|
GET/computers/{id}
ReadComputer
Link to operationPython: client.read_computer(...)
Read authorized resource metadata and attached connection observations without resuming the Computer or installing software.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
Responses
PUT/computers/{id}
UpdateComputer
Link to operationPython: client.update_computer(...)
Assign the supplied name and preserve omitted fields.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
nameoptional | string |
|
{
"$ref": "#/components/schemas/UpdateComputerInput"
}
Responses
DELETE/computers/{id}
DeleteComputer
Link to operationPython: client.delete_computer(...)
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
idrequired | path / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 400, 401, 403, 404, 409, 502, 422, 429, 500, 503, default | Request rejected
|
| 204 | Deleted |
PUT/computers/{id}/owner
UpdateComputerOwner
Link to operationPython: client.update_computer_owner(...)
Assign the resource owner under current ownership and scope authority.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
owner_member_idrequired | string · uuid · nullable | Current organization membership to own the resource. Null clears ownership. |
{
"$ref": "#/components/schemas/UpdateResourceOwnerInput"
}
Responses
POST/computers/{id}/pause
PauseComputer
Link to operationPython: client.pause_computer(...)
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
idrequired | path / string · uuid | SDK: |
Responses
GET/computers/{id}/sharing
ListComputerPermissions
Link to operationPython: client.list_computer_permissions(...)
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
idrequired | path / string · uuid | SDK: |
limitoptional | query / integer | SDK: |
cursoroptional | query / string | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Committed result.
|
| 400, 401, 403, 404, 409, 500 | Request rejected
|
PUT/computers/{id}/sharing/members/{member_id}
SetComputerMemberPermission
Link to operationPython: client.set_computer_member_permission(...)
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
idrequired | path / string · uuid | SDK: |
member_idrequired | path / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
rolerequired | string |
|
expires_atoptional | string · date-time · nullable |
{
"$ref": "#/components/schemas/SetResourcePermissionInput"
}
Responses
| Status | Response contract |
|---|---|
| 200 | Committed result.
|
| 400, 401, 403, 404, 409, 500 | Request rejected
|
DELETE/computers/{id}/sharing/members/{member_id}
DeleteComputerMemberPermission
Link to operationPython: client.delete_computer_member_permission(...)
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
idrequired | path / string · uuid | SDK: |
member_idrequired | path / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 204 | Committed result. |
| 400, 401, 403, 404, 409, 500 | Request rejected
|
PUT/computers/{id}/sharing/organization
SetComputerOrganizationPermission
Link to operationPython: client.set_computer_organization_permission(...)
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
idrequired | path / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
rolerequired | string |
|
expires_atoptional | string · date-time · nullable |
{
"$ref": "#/components/schemas/SetResourcePermissionInput"
}
Responses
| Status | Response contract |
|---|---|
| 200 | Committed result.
|
| 400, 401, 403, 404, 409, 500 | Request rejected
|
DELETE/computers/{id}/sharing/organization
DeleteComputerOrganizationPermission
Link to operationPython: client.delete_computer_organization_permission(...)
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
idrequired | path / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 204 | Committed result. |
| 400, 401, 403, 404, 409, 500 | Request rejected
|
GET/ssh-keys
ListSSHKeys
Link to operationPython: client.list_ssh_keys(...)
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
limitoptional | query / integer | SDK: |
cursoroptional | query / string | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Committed result.
|
| 400, 401, 403, 404, 409, 500 | Request rejected
|
POST/ssh-keys
AddSSHKey
Link to operationPython: client.add_ssh_key(...)
Register a key for native Computer shell and file access. Supported SSH shells and exec sessions receive connection-owned HTTP(S) proxy and CA defaults for caller-authorized Vault substitution. Clients that bypass those settings receive no automatic substitution. SFTP and SCP retain their native protocols; public port forwarding is unsupported.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
public_keyrequired | string |
|
{
"$ref": "#/components/schemas/SSHKeyInput"
}
Responses
DELETE/ssh-keys/{id}
DeleteSSHKey
Link to operationPython: client.delete_ssh_key(...)
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
idrequired | path / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 204 | Committed result. |
| 400, 401, 403, 404, 409, 500 | Request rejected
|
POST/computer-pairings
CreateComputerPairing
Link to operationPython: client.create_computer_pairing(...)
Authentication: None declared.
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
credentialrequired | string · password |
|
namerequired | string |
|
platformrequired | string |
|
architecturerequired | string |
|
os_userrequired | string |
|
runtime_buildrequired | string |
|
{
"$ref": "#/components/schemas/CreateComputerPairingInput"
}
Responses
| Status | Response contract |
|---|---|
| 201 | Native result.
|
| 400, 401, 403, 404, 409, 410, 426, 429, 500, 502, 503 | Request rejected
|
GET/computer-pairings/{id}
ReadComputerPairing
Link to operationPython: client.read_computer_pairing(...)
Authentication: ComputerDeviceCredential.
Parameters
| Name | Location / type | Description |
|---|---|---|
idrequired | path / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Native result.
|
| 400, 401, 403, 404, 409, 410, 426, 429, 500, 502, 503 | Request rejected
|
POST/computer-pairings/lookup
LookupComputerPairing
Link to operationPython: client.lookup_computer_pairing(...)
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
user_coderequired | string |
|
{
"$ref": "#/components/schemas/ComputerPairingCodeInput"
}
Responses
| Status | Response contract |
|---|---|
| 200 | Native result.
|
| 400, 401, 403, 404, 409, 410, 426, 429, 500, 502, 503 | Request rejected
|
POST/computer-pairings/approve
ApproveComputerPairing
Link to operationPython: client.approve_computer_pairing(...)
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
user_coderequired | string |
|
{
"$ref": "#/components/schemas/ComputerPairingCodeInput"
}
Responses
| Status | Response contract |
|---|---|
| 201 | Native result.
|
| 400, 401, 403, 404, 409, 410, 426, 429, 500, 502, 503 | Request rejected
|
GET/computer-pairings/{id}/connection
ConnectComputerPairing
Link to operationPython: client.connect_computer_pairing(...)
Authentication: ComputerDeviceCredential.
Parameters
| Name | Location / type | Description |
|---|---|---|
idrequired | path / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 101 | Native connector WebSocket protocol. |
| 400, 401, 403, 404, 409, 410, 426, 429, 500, 502, 503 | Request rejected
|
Native transport
{
"websocket": {
"payload": "Pibo native connector JSON/frame/credit protocol"
}
}
GET/computers/{id}/connection
ConnectComputer
Link to operationPython: client.connect_computer(...)
Authentication: ComputerDeviceCredential.
Parameters
| Name | Location / type | Description |
|---|---|---|
idrequired | path / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 101 | Native connector WebSocket protocol. |
| 400, 401, 403, 404, 409, 410, 426, 429, 500, 502, 503 | Request rejected
|
Native transport
{
"websocket": {
"payload": "Pibo native connector JSON/frame/credit protocol"
}
}
POST/computers/{id}/desktop
StartComputerDesktop
Link to operationPython: client.start_computer_desktop(...)
Open the Computer's native desktop. A managed Computer resumes and starts its existing unprivileged desktop service. Attached uses its current OS desktop. view_only requires read authority and returns an endpoint-bound browser grant with no input or clipboard. Ordinary access requires control. No application is installed by this operation.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
view_onlyoptional | query / string | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Native desktop transport access.
|
| 400, 401, 403, 404, 409, 413, 422, 426, 429, 500, 502, 503, default, 504 | Request rejected
|
GET/computers/{id}/desktop/stream
ComputerDesktopStream
Link to operationPython: client.computer_desktop_stream(...)
Native RFB bytes for managed Computers, or PNG metadata and binary image frames for attached Computers. A read-only browser grant admits pixels only; both RFB directions are filtered and attached input is rejected. Each new operation checks current authority.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
organization_idoptional | query / string · uuid | SDK: |
view_tokenoptional | query / string | SDK: |
Responses
| Status | Response contract |
|---|---|
| 101 | Native desktop WebSocket. |
| 400, 401, 403, 404, 409, 413, 422, 426, 429, 500, 502, 503, default, 504 | Request rejected
|
Native transport
{
"websocket": {
"payload": "Native managed RFB bytes or attached PNG metadata and binary frames."
}
}
GET/computers/{id}/updates
GetComputerSoftwareUpdate
Link to operationPython: client.get_computer_software_update(...)
Read the observed installed and selected available builds without allocation, installation or resume.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
idrequired | path / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Observed installed and available software.
|
| 400, 401, 403, 404, 409, 413, 422, 429, 500, 502, 503, 504 | Request rejected
|
POST/computers/{id}/updates
ApplyComputerUpdates
Link to operationPython: client.apply_computer_updates(...)
Apply one desired release. Repeating a completed installation observes the selected build and skips it. Native errors and unconfirmed handoff remain failures; this operation has no historical update receipt or automatic retry.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
idrequired | path / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
request_idrequired | string · uuid | |
target_buildrequired | string |
|
{
"$ref": "#/components/schemas/ComputerSoftwareUpdateInput"
}
Responses
| Status | Response contract |
|---|---|
| 200 | Native confirmed completed update.
|
| 400, 401, 403, 404, 409, 413, 422, 429, 500, 502, 503, default, 504 | Request rejected
|
POST/computers/{id}/commands
ExecuteComputerCommand
Link to operationPython: client.execute_computer_command(...)
Execute one shell command with current Computer control permission. A paused managed Computer resumes before execution. Returns native stdout, stderr and exit code; a nonzero exit is a completed command. Combined output is at most8 MiB. Commands are never retried or replayed. An operation-owned HTTP proxy substitutes authorized Organization-name Vault references in HTTPS requests and redacts returned values. Attached commands run as the signed-in user through the native connector. Windows uses Git Bash, installed for the current user when absent, and an operation-owned loopback SSH carrier for the HTTP proxy without a host SSH service. HTTP(S) clients receive proxy and CA defaults; clients that bypass those settings receive no automatic Vault substitution. Provider credentials stay in the API.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
commandrequired | string |
|
cwdoptional | string |
|
timeout_msoptional | integer |
|
{
"$ref": "#/components/schemas/ComputerCommandInput"
}
Responses
| Status | Response contract |
|---|---|
| 200 | Native command result.
|
| 400, 401, 403, 404, 409, 413, 422, 429, 500, 502, 503, default, 504 | Request rejected
|
GET/computers/{id}/terminal
ComputerTerminal
Link to operationPython: client.computer_terminal(...)
Open an interactive shell with current Computer control permission. The first text message must be {"type":"resize","cols":80,"rows":24}. Later text messages resize the terminal. Dimensions are integers from 1 to 1000. Wait for {"type":"ready"} before sending binary keyboard input. Binary server messages carry terminal output; {"type":"exit","code":0} reports shell exit, with an optional message on failure. Client messages are at most64 KiB. Closing the socket closes the shell. A managed Computer resumes if paused. An attached Computer must be online. An admitted connection retains its permission through closure; each new connection checks current authority. A terminal is never replayed. The shell receives connection-owned HTTP(S) proxy and CA defaults. Vault substitution checks current Vault authority for the original caller; clients that bypass the proxy receive no automatic substitution.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
organization_idoptional | query / string · uuid | Organization selection for browser WebSockets. Must match an API credential's Organization and the header when both are supplied. Current membership is checked. SDK: |
Responses
| Status | Response contract |
|---|---|
| 101 | Native terminal WebSocket. |
| 400, 401, 403, 404, 409, 413, 426, 429, 500, 502, 422, 503, default | Request rejected
|
Native transport
{
"websocket": {
"payload": "Pibo terminal text resize/ready/exit and binary stdin/output protocol"
}
}
Browsers
GET/browsers
ListBrowsers
Link to operationPython: client.list_browsers(...)
List Browser metadata within current owner or organization administrator authority and credential scope. Uses opaque cursor pagination ordered by Browser ID. Browser use permission is required to include a row. No live Browser is opened.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
qoptional | query / string | Literal case-insensitive substring of name, ID, provider or status. Empty means no search filter. SDK: |
cursoroptional | query / string | SDK: |
limitoptional | query / integer | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Resource result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 503 | Request rejected
|
POST/browsers
CreateBrowser
Link to operationPython: client.create_browser(...)
Allocate an independent durable Kernel profile without opening a live Browser. Use provider="kernel" without source or browser_template_id. Native source import, Template instantiation and other providers return 422. Replays require the same immutable request and original creation authority.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
browser_template_idoptional | string · uuid | |
provideroptional | string |
|
nameoptional | string |
|
sourceoptional | object |
{
"$ref": "#/components/schemas/CreateBrowserInput"
}
Responses
| Status | Response contract |
|---|---|
| 201 | Resource result.
|
| 400, 401, 403, 404, 409, 413, 422, 429, 500, 502, 503 | Request rejected
|
| 200 | Matching creation replay.
|
GET/browsers/{id}
ReadBrowser
Link to operationPython: client.read_browser(...)
Read Browser metadata within current owner or organization administrator authority and credential scope. Browser use permission is required. No live Browser is opened.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
Responses
PUT/browsers/{id}
UpdateBrowser
Link to operationPython: client.update_browser(...)
Assign each supplied writable field and preserve omitted fields. Null clears start_url. Validate the effective resource under current owner or organization administrator authority and credential scope. No live Browser is opened.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
nameoptional | string |
|
start_urloptional | string · nullable |
{
"$ref": "#/components/schemas/UpdateBrowserInput"
}
Responses
PUT/browsers/{id}/owner
UpdateBrowserOwner
Link to operationPython: client.update_browser_owner(...)
Set resource ownership to the supplied current organization membership, or clear it with null. The current resource owner or an organization administrator (primary_owner, owner, admin) may change ownership; administrators do not need permission from the existing owner or resource grants. Current organization membership and any credential scope ceiling still apply. Cross-organization and deleted target memberships are invalid. Changing ownership does not replace creation provenance. Repeating the same assignment is a no-op. Browser sharing grants are not supported.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
owner_member_idrequired | string · uuid · nullable | Current organization membership to own the resource. Null clears ownership. |
{
"$ref": "#/components/schemas/UpdateResourceOwnerInput"
}
Responses
Sessions
GET/agents/{id}/sessions
ListAgentSessions
Link to operationPython: client.list_agent_sessions(...)
List persisted Session metadata within current Agent and namespace authority and each Session original credential ceiling. Listing starts no runtime or model work.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
qoptional | query / string | Literal case-insensitive name/title substring; empty means no search filter. SDK: |
cursoroptional | query / string | SDK: |
limitoptional | query / integer | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Resource result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 503 | Request rejected
|
POST/agents/{id}/sessions
CreateAgentSession
Link to operationPython: client.create_agent_session(...)
Persist Session metadata, an immutable program reference, selections and behavior overrides under current authority. Omitted selections inherit from the Agent or parent Session. Creation starts no runtime or model work and does not wait for editable files or runtime readiness. The original source must already be admitted. Equal immutable creation returns its original receipt.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
parent_session_idoptional | string · uuid · nullable | |
namespace_idoptional | string | Authorized namespace node ID. Omit to inherit the Agent or parent selection; null is invalid.
|
computer_idoptional | string · uuid | |
browser_idoptional | string · uuid | |
settingsoptional | AgentSettings |
{
"$ref": "#/components/schemas/CreateAgentSessionInput"
}
Responses
| Status | Response contract |
|---|---|
| 200 | Resource result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 503 | Request rejected
|
GET/agents/{id}/sessions/{session_id}
ReadAgentSession
Link to operationPython: client.read_agent_session(...)
Read persisted Session metadata under current Agent and namespace authority and the original Session credential ceiling. This read starts no runtime or model work.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
session_idrequired | path / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Resource result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 503 | Request rejected
|
GET/agents/{id}/sessions/{session_id}/settings
ReadAgentSessionSettings
Link to operationPython: client.read_agent_session_settings(...)
Resolve current Agent file defaults with saved Session behavior overrides, under current Agent and namespace authority and the original Session credential ceiling.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
session_idrequired | path / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Resource result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 503 | Request rejected
|
PUT/agents/{id}/sessions/{session_id}/settings
UpdateAgentSessionSettings
Link to operationPython: client.update_agent_session_settings(...)
Save supplied Session behavior overrides after validating effective settings. Omitted fields remain unchanged. This starts no runtime or model work.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
session_idrequired | path / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
pluginsoptional | array | |
modeloptional | string |
|
reasoning_effortoptional | string |
|
priorityoptional | boolean | |
instructionsoptional | string | |
toolsoptional | array · nullable | |
skillsoptional | array · nullable | |
mcp_serversoptional | array · nullable | |
voiceoptional | composed schema · nullable |
{
"$ref": "#/components/schemas/AgentSettings"
}
Responses
| Status | Response contract |
|---|---|
| 200 | Resource result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 503 | Request rejected
|
GET/agents/{id}/sessions/{session_id}/events
ListAgentSessionEvents
Link to operationPython: client.list_agent_session_events(...)
Read committed native Pi EntryRecord JSON in ascending native entry ID order. Current Agent and namespace authority and the Session's original credential ceiling apply. This observer does not allocate a runtime, initialize a Session, open a Harness or wake a Durable Object. A Session without a ready runtime has an empty page. Poll next_cursor for later entries; a nonempty page supplies a continuation even when has_more is false, and an empty page retains the supplied cursor. Native history remains the sole event store.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
session_idrequired | path / string · uuid | SDK: |
cursoroptional | query / string | SDK: |
limitoptional | query / integer | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Committed native entries and a polling continuation.
|
| 400, 401, 403, 404, 409, 500, 503 | Request rejected
|
GET/agents/{id}/sessions/{session_id}/stream
StreamAgentSession
Link to operationPython: client.stream_agent_session(...)
Observe live native Pi AgentEvent JSON as newline-delimited JSON after a message has been accepted. The native initial snapshot and subsequent deltas are forwarded unchanged. A Session without admitted input returns 409. Current Agent and namespace authority and the Session's original credential ceiling are checked before exposing each chunk. This observer does not allocate a native conversation or submit work. Closing it stops observation and does not cancel accepted work. Events are live only; read committed history through ListAgentSessionEvents.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
session_idrequired | path / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Live native Pi AgentEvent records, one JSON object per line.
|
| 400, 401, 403, 404, 409, 500, 503 | Request rejected
|
POST/agents/{id}/sessions/{session_id}/messages
CreateAgentMessage
Link to operationPython: client.create_agent_message(...)
Authorize the current Agent and Session namespace within the saved Session ceiling, resolve current file defaults and Session overrides, and submit to the existing native CF runtime. The receipt confirms native durable admission; live output is observed through StreamAgentSession and committed reply entries through ListAgentSessionEvents. mode selects queue (the default), steer after the current tool round, or restart the active run with this input while preserving history. Restart retains the targeted run across retries and preserves unrelated queued inputs in their native order. A run handover that wins cancellation returns 409 before this input is submitted; retry the same message ID. If idle, every mode starts work normally. Resubmitting a message ID replaces its content without rerunning completed work or applying the mode again.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Select an organization for session credentials. Bearer keys remain bound to their organization. SDK: |
idrequired | path / string · uuid | SDK: |
session_idrequired | path / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
contentrequired | string |
|
modeoptional | string | Delivery of a new message. Queue follows the current run; steer joins it after the current tool round; restart interrupts the active run and submits this input without resetting history. Reusing a message ID changes content only and retains its original mode.
|
{
"$ref": "#/components/schemas/CreateAgentMessageInput"
}
Responses
| Status | Response contract |
|---|---|
| 202 | Resource result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 503 | Request rejected
|
Files
GET/filesystem/nodes/{node_id}/permissions
ListFilesystemPermissions
Link to operationPython: client.list_filesystem_permissions(...)
List direct grants in stable permission-ID order. Requires filesystem.share and current credential/Session ceilings. Authorization and pagination run in PostgreSQL. Node IDs are available from the read-only user.completion.node_id FUSE attribute.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Organization selection for session credentials. Bearer keys remain bound to their organization. SDK: |
node_idrequired | path / string | SDK: |
limitoptional | query / integer | SDK: |
cursoroptional | query / string | SDK: |
Responses
| Status | Response contract |
|---|---|
| 400, 401, 403, 404, 409, 413, 422, 500, 503 | Request rejected
|
| 200 | Committed result.
|
POST/filesystem/nodes/{node_id}/permissions
CreateFilesystemPermission
Link to operationPython: client.create_filesystem_permission(...)
Create one direct reader/writer grant. Requires filesystem.share. Members must belong to this organization. Null member_id grants organization-wide access. Duplicate subjects conflict. Grants never authorize Agent execution or configuration, immutable writes, or escape from admitted boundaries.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Organization selection for session credentials. Bearer keys remain bound to their organization. SDK: |
node_idrequired | path / string | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
member_idrequired | string · uuid · nullable | Same-organization membership; null grants organization-wide access. |
rolerequired | string |
|
expires_atoptional | string · date-time · nullable |
{
"$ref": "#/components/schemas/CreateFilesystemPermissionInput"
}
Responses
| Status | Response contract |
|---|---|
| 400, 401, 403, 404, 409, 413, 422, 500, 503 | Request rejected
|
| 201 | Committed result.
|
PUT/filesystem/nodes/{node_id}/permissions/{permission_id}
UpdateFilesystemPermission
Link to operationPython: client.update_filesystem_permission(...)
Set supplied grant fields, retaining omitted fields. Explicit null expiry clears expiration. Grant identity, node and member are immutable. Equal updates preserve node revision.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Organization selection for session credentials. Bearer keys remain bound to their organization. SDK: |
node_idrequired | path / string | SDK: |
permission_idrequired | path / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
roleoptional | string |
|
expires_atoptional | string · date-time · nullable |
{
"$ref": "#/components/schemas/UpdateFilesystemPermissionInput"
}
Responses
| Status | Response contract |
|---|---|
| 400, 401, 403, 404, 409, 413, 422, 500, 503 | Request rejected
|
| 200 | Committed result.
|
DELETE/filesystem/nodes/{node_id}/permissions/{permission_id}
DeleteFilesystemPermission
Link to operationPython: client.delete_filesystem_permission(...)
Remove a direct grant under current filesystem.share authority. Equal repeats return 204. Other direct and inherited grants remain. Existing mounts and open handles check current authority on subsequent operations.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Organization selection for session credentials. Bearer keys remain bound to their organization. SDK: |
node_idrequired | path / string | SDK: |
permission_idrequired | path / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 400, 401, 403, 404, 409, 413, 422, 500, 503 | Request rejected
|
| 204 | Committed result. |
POST/filesystem/commands
ExecuteFilesystemCommand
Link to operationPython: client.execute_filesystem_command(...)
Execute one offline Bash command in the selected Agent's persistent Archil sandbox, against a freshly admitted authenticated caller FUSE view at /workspace. Current Agent write authority and credential scope are required to select the sandbox; the selection grants no filesystem or Session authority. Combined stdout/stderr is limited to 1 MiB; excess output returns 413. Request cancellation or deadline terminates the command. Nonzero Bash exit is a successful HTTP 200 with exit_code. Failed or timed-out commands retain earlier file effects and are never retried. The body supplies no actor or scope assertions.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Organization selection for session credentials. Bearer keys remain bound to their organization. SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
agent_idrequired | string · uuid | Agent whose persistent Archil sandbox runs the command. Selection requires current Agent write authority and does not grant filesystem access. |
commandrequired | string | One offline Bash script, within the HTTP request body transport limit. File paths are relative to the caller view mounted at /workspace.
|
{
"$ref": "#/components/schemas/FilesystemCommand"
}
Responses
| Status | Response contract |
|---|---|
| 400, 401, 403, 404, 409, 413, 422, 500, 503, 504 | Request rejected
|
| 200 | Committed result.
|
GET/filesystem/mount
ConnectFilesystemMount
Link to operationPython: client.connect_filesystem_mount(...)
Upgrade with WebSocket subprotocol sftp. Exchange SFTP v3 bytes through binary messages. Paths resolve inside the authenticated organization view. The required agent_id selects the Agent's persistent Archil sandbox and requires current Agent writer authority and credential scope. Placement does not assert an acting Agent or widen filesystem access. Other query parameters are rejected. A supplied Origin must match the configured browser origin. Current grants and credential ceilings govern each file operation. Connection close, credential expiry and shutdown release the view. Native FUSE operations are internal, not separate HTTP endpoints.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | Organization selection for session credentials. Bearer keys remain bound to their organization. SDK: |
agent_idrequired | query / string · uuid | Agent whose persistent Archil sandbox hosts this caller view. SDK: |
Responses
| Status | Response contract |
|---|---|
| 400, 401, 403, 404, 409, 413, 422, 500, 503, 426 | Request rejected
|
| 101 | Authenticated SFTP v3 stream over binary WebSocket messages. Response headers
|
Native transport
{
"websocket": {
"subprotocol": "sftp",
"payload": "SFTP v3 binary byte stream"
}
}
Namespaces
GET/namespaces/{namespace_id}/permissions
ListNamespacePermissions
Link to operationPython: client.list_namespace_permissions(...)
Manage direct resource grants under current resource owner or organization administrator authority and the caller credential ceiling. These grants authorize the canonical resource files without copied filesystem grants.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
namespace_idrequired | path / string | SDK: |
limitoptional | query / integer | SDK: |
cursoroptional | query / string | SDK: |
Responses
| Status | Response contract |
|---|---|
| 400, 401, 403, 404, 409, 500 | Request rejected
|
| 200 | Committed result.
|
POST/namespaces/{namespace_id}/permissions
CreateNamespacePermission
Link to operationPython: client.create_namespace_permission(...)
Manage direct resource grants under current resource owner or organization administrator authority and the caller credential ceiling. These grants authorize the canonical resource files without copied filesystem grants.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
namespace_idrequired | path / string | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
member_idoptional | string · uuid · nullable | |
grantee_agent_idoptional | string · uuid · nullable | |
rolerequired | string |
|
expires_atoptional | string · date-time · nullable |
{
"$ref": "#/components/schemas/CreateNamespacePermissionInput"
}
Responses
| Status | Response contract |
|---|---|
| 400, 401, 403, 404, 409, 500 | Request rejected
|
| 201 | Committed result.
|
PUT/namespaces/{namespace_id}/permissions/{permission_id}
UpdateNamespacePermission
Link to operationPython: client.update_namespace_permission(...)
Manage direct resource grants under current resource owner or organization administrator authority and the caller credential ceiling. These grants authorize the canonical resource files without copied filesystem grants.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
namespace_idrequired | path / string | SDK: |
permission_idrequired | path / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
roleoptional | string |
|
expires_atoptional | string · date-time · nullable |
{
"$ref": "#/components/schemas/UpdateNamespacePermissionInput"
}
Responses
| Status | Response contract |
|---|---|
| 400, 401, 403, 404, 409, 500 | Request rejected
|
| 200 | Committed result.
|
DELETE/namespaces/{namespace_id}/permissions/{permission_id}
DeleteNamespacePermission
Link to operationPython: client.delete_namespace_permission(...)
Manage direct resource grants under current resource owner or organization administrator authority and the caller credential ceiling. These grants authorize the canonical resource files without copied filesystem grants.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
namespace_idrequired | path / string | SDK: |
permission_idrequired | path / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 400, 401, 403, 404, 409, 500 | Request rejected
|
| 204 | Committed result. |
Vault
GET/vault-secrets
ListVaultSecrets
Link to operationPython: client.list_vault_secrets(...)
List current authorized metadata, including revoked or pending entries when visible. Values and native secret identities remain private.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
limitoptional | query / integer · int64 | SDK: |
cursoroptional | query / string | SDK: |
qoptional | query / string | Case-insensitive literal substring of name; empty matches every authorized name. SDK: |
nameoptional | query / string | Case-insensitive exact name; empty disables this filter. SDK: |
activeoptional | query / boolean | Filter by revocation only; a pending entry has no usable version. SDK: |
scopeoptional | query / array | SDK: |
scope_idoptional | query / array | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Authorized result.
|
| 400, 401, 403, 404, 409, 413, 500, 502, 503 | Request rejected
|
POST/vault-secrets
CreateVaultSecret
Link to operationPython: client.create_vault_secret(...)
Create a private native value under an explicit authorized scope. Return the original immutable entry/version reference, including equal replay after rotation or revocation. A reserved creation without a completed native binding returns conflict and performs no automatic recovery.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
namerequired | string |
|
valuerequired | string |
|
scope_refrequired | VaultScopeRef | |
consumer_constraintsrequired | VaultConsumerConstraints | |
http_targetsoptional | VaultHTTPDestinations |
{
"$ref": "#/components/schemas/RegisterVaultSecret"
}
Responses
| Status | Response contract |
|---|---|
| 201 | Authorized result.
|
| 400, 401, 403, 404, 409, 413, 500, 502, 503 | Request rejected
|
GET/vault-secrets/{id}
ReadVaultSecret
Link to operationPython: client.read_vault_secret(...)
Read current authorized metadata and selected version identity. Secret values, fingerprints and native secret references are never returned.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
idrequired | path / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Authorized result.
|
| 400, 401, 403, 404, 409, 413, 500, 502, 503 | Request rejected
|
PUT/vault-secrets/{id}
UpdateVaultSecret
Link to operationPython: client.update_vault_secret(...)
Update absolute supplied fields. Native immutable rotation runs outside SQL; concurrent different version publication conflicts. Existing Computer bindings retain their exact version.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
idrequired | path / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
nameoptional | string |
|
valueoptional | string |
|
http_targetsoptional | VaultHTTPDestinations |
{
"$ref": "#/components/schemas/VaultSecretInput"
}
Responses
| Status | Response contract |
|---|---|
| 200 | Authorized result.
|
| 400, 401, 403, 404, 409, 413, 500, 502, 503 | Request rejected
|
DELETE/vault-secrets/{id}
RevokeVaultSecret
Link to operationPython: client.revoke_vault_secret(...)
Revoke future native consumer admissions. Repetition preserves the first revoke timestamp and all original references. This does not rotate credentials at their issuer or retract already admitted values.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
idrequired | path / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 204 | Authorized result. |
| 400, 401, 403, 404, 409, 413, 500, 502, 503 | Request rejected
|
Network Rules
GET/network-rules
ListNetworkRules
Link to operationPython: client.list_network_rules(...)
Requires organization.read. Ordinary readers see Organization rules and currently readable Agent/Template scopes within credential ceilings.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
limitoptional | query / integer · int64 | SDK: |
cursoroptional | query / string | SDK: |
qoptional | query / string | Case-insensitive literal substring of rule or scope name. Empty matches all visible rules. SDK: |
scopeoptional | query / array | SDK: |
scope_idoptional | query / array | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Authorized result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 502, 503, 504 | Request rejected
|
POST/network-rules
CreateNetworkRule
Link to operationPython: client.create_network_rule(...)
Requires organization.update. Save metadata and its revision, commit, then await affected gateways confirming the current database revision when the Computer VPN is enabled. Disabled Organizations retain rule definitions without enforcing them. Application failures return an error and retain saved metadata and completed applications; read the resource before changing it again. No fleet rollback or background retry is promised.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
namerequired | string |
|
definitionrequired | NetworkRuleDefinition | |
scoperequired | NetworkRuleScope | |
scope_idrequired | string · uuid |
{
"$ref": "#/components/schemas/NetworkRuleInput"
}
Responses
| Status | Response contract |
|---|---|
| 201 | Authorized result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 502, 503, 504 | Request rejected
|
GET/network-rules/{id}
ReadNetworkRule
Link to operationPython: client.read_network_rule(...)
Requires organization.read. Ordinary readers see Organization rules and currently readable Agent/Template scopes within credential ceilings.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
idrequired | path / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Authorized result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 502, 503, 504 | Request rejected
|
PUT/network-rules/{id}
UpdateNetworkRule
Link to operationPython: client.update_network_rule(...)
Requires organization.update. Save metadata and its revision, commit, then await affected gateways confirming the current database revision when the Computer VPN is enabled. Disabled Organizations retain rule definitions without enforcing them. Application failures return an error and retain saved metadata and completed applications; read the resource before changing it again. No fleet rollback or background retry is promised.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
idrequired | path / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
nameoptional | string |
|
definitionoptional | NetworkRuleDefinition | |
scopeoptional | NetworkRuleScope | |
scope_idoptional | string · uuid |
{
"$ref": "#/components/schemas/UpdateNetworkRuleInput"
}
Responses
| Status | Response contract |
|---|---|
| 200 | Authorized result.
|
| 400, 401, 403, 404, 409, 413, 422, 500, 502, 503, 504 | Request rejected
|
DELETE/network-rules/{id}
DeleteNetworkRule
Link to operationPython: client.delete_network_rule(...)
Requires organization.update. Save metadata and its revision, commit, then await affected gateways confirming the current database revision when the Computer VPN is enabled. Disabled Organizations retain rule definitions without enforcing them. Application failures return an error and retain saved metadata and completed applications; read the resource before changing it again. No fleet rollback or background retry is promised.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
X-Organization-IDoptional | header / string · uuid | SDK: |
idrequired | path / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 204 | Authorized result. |
| 400, 401, 403, 404, 409, 413, 422, 500, 502, 503, 504 | Request rejected
|
Action reviews and private input
DELETE/computers/{id}/desktop-actions/{action_id}
CancelDesktopAction
Link to operationPython: client.cancel_desktop_action(...)
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
idrequired | path / string · uuid | SDK: |
action_idrequired | path / string · uuid | SDK: |
X-Organization-IDoptional | header / string · uuid | SDK: |
session_idoptional | query / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Native result.
|
| 400, 401, 403, 404, 409, 422, 500, 502, 503, 413, 429 | Request rejected
|
POST/computers/{id}/desktop-actions/{action_id}/input
SubmitDesktopInput
Link to operationPython: client.submit_desktop_input(...)
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
idrequired | path / string · uuid | SDK: |
action_idrequired | path / string · uuid | SDK: |
X-Organization-IDoptional | header / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
session_idoptional | string · uuid | Session that owns this native input request. |
valuesrequired | array |
|
{
"$ref": "#/components/schemas/FillInputSubmission"
}
Responses
| Status | Response contract |
|---|---|
| 200 | Native result.
|
| 400, 401, 403, 404, 409, 422, 500, 502, 503, 413, 429 | Request rejected
|
GET/agents/{id}/action-reviews
ListActionReviews
Link to operationPython: client.list_action_reviews(...)
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
idrequired | path / string · uuid | SDK: |
session_idoptional | query / string · uuid | SDK: |
cursoroptional | query / string | SDK: |
limitoptional | query / integer | Requested upper bound on this page. The owner may return fewer items to satisfy its native response/transport bounds. Use the returned cursor to continue. SDK: |
statusoptional | query / string | SDK: |
X-Organization-IDoptional | header / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Native result.
|
| 400, 401, 403, 404, 409, 502, 503, 413, 422, 429, 500 | Request rejected
|
POST/agents/{id}/action-reviews
ReviewAgentAction
Link to operationPython: client.review_agent_action(...)
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
idrequired | path / string · uuid | SDK: |
X-Organization-IDoptional | header / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
session_idrequired | string · uuid | Session that owns this native task. Task IDs are local to its namespace store. |
task_idrequired | integer · int64 |
|
{
"$ref": "#/components/schemas/ActionReviewInput"
}
Responses
| Status | Response contract |
|---|---|
| 200 | Native result.
|
| 400, 401, 403, 404, 409, 502, 503, 413, 422, 429, 500 | Request rejected
|
DELETE/agents/{id}/action-reviews/{review_id}
CancelActionReview
Link to operationPython: client.cancel_action_review(...)
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
idrequired | path / string · uuid | SDK: |
review_idrequired | path / string · uuid | SDK: |
X-Organization-IDoptional | header / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Native result.
|
| 400, 401, 403, 404, 409, 502, 503, 413, 422, 429, 500 | Request rejected
|
GET/agents/{id}/action-reviews/{review_id}
GetActionReview
Link to operationPython: client.get_action_review(...)
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
idrequired | path / string · uuid | SDK: |
review_idrequired | path / string · uuid | SDK: |
X-Organization-IDoptional | header / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Native result.
|
| 400, 401, 403, 404, 409, 502, 503, 413, 422, 429, 500 | Request rejected
|
POST/agents/{id}/action-reviews/{review_id}/decision
DecideActionReview
Link to operationPython: client.decide_action_review(...)
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
idrequired | path / string · uuid | SDK: |
review_idrequired | path / string · uuid | SDK: |
X-Organization-IDoptional | header / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
decisionrequired | string |
|
{
"$ref": "#/components/schemas/ActionReviewDecision"
}
Responses
| Status | Response contract |
|---|---|
| 200 | Native result.
|
| 400, 401, 403, 404, 409, 502, 503, 413, 422, 429, 500 | Request rejected
|
MCP connections and tools
GET/mcp-connections
ListMcpConnections
Link to operationPython: client.list_mcp_connections(...)
List the remote MCP connections declared by the Agent's mcp.json, ordered by name. Requires Agent read authority.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
agent_idrequired | query / string · uuid | SDK: |
cursoroptional | query / string | SDK: |
limitoptional | query / integer | SDK: |
X-Organization-IDoptional | header / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Native result.
|
| 400, 401, 403, 404, 500, 503 | Request rejected
|
POST/mcp-connections/{connection}/authorization
AuthorizeMcpConnection
Link to operationPython: client.authorize_mcp_connection(...)
Connect the Agent's configured remote MCP server. Returns ready with its tool catalog, or authorization_required with the provider's OAuth authorization URL. Requires Agent write authority and, with computer_id, Computer use.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
connectionrequired | path / string | SDK: |
X-Organization-IDoptional | header / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Native result.
|
| 400, 401, 403, 404, 409, 500, 502, 503 | Request rejected
|
DELETE/mcp-connections/{connection}/authorization
DisconnectMcpConnection
Link to operationPython: client.disconnect_mcp_connection(...)
Forget the connection's OAuth grant and ask the provider to revoke it. revoked reports the provider's answer. Requires Agent write authority.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
connectionrequired | path / string | SDK: |
X-Organization-IDoptional | header / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Native result.
|
| 400, 401, 403, 404, 500, 502, 503 | Request rejected
|
GET/mcp-connections/{connection}/client-metadata
ReadMcpClientMetadata
Link to operationPython: client.read_mcp_client_metadata(...)
Public OAuth client metadata document for this connection. It contains fixed Completion redirect URLs and no grant data.
Authentication: None declared.
Parameters
| Name | Location / type | Description |
|---|---|---|
connectionrequired | path / string | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Native result.
|
| 400, 409, 500 | Request rejected
|
GET/mcp-connections/{connection}/oauth-callbacks
CompleteMcpAuthorization
Link to operationPython: client.complete_mcp_authorization(...)
OAuth redirect target. The provider's code and state must match the saved authorization attempt.
Authentication: None declared.
Parameters
| Name | Location / type | Description |
|---|---|---|
connectionrequired | path / string | SDK: |
coderequired | query / string | SDK: |
staterequired | query / string | SDK: |
issoptional | query / string | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Native result.
|
| 400, 500, 502, 503 | Request rejected
|
GET/agents/{id}/remote-mcp-tools
ListRemoteMcpTools
Link to operationPython: client.list_remote_mcp_tools(...)
Connect each remote MCP server in the Agent's mcp.json, ordered by name, and return its state and tool catalog. A connection that fails returns state error. Requires Agent read authority and, for a connection with computer_id, Computer use.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
idrequired | path / string · uuid | SDK: |
cursoroptional | query / string | SDK: |
limitoptional | query / integer | SDK: |
X-Organization-IDoptional | header / string · uuid | SDK: |
Responses
| Status | Response contract |
|---|---|
| 200 | Native result.
|
| 400, 401, 403, 404, 413, 500, 503 | Request rejected
|
POST/agents/{id}/remote-mcp-tool-calls
CallRemoteMcpTool
Link to operationPython: client.call_remote_mcp_tool(...)
Call one tool on a remote MCP connection declared by this Agent's mcp.json and return the native MCP CallToolResult. Requires Agent read authority and, with computer_id, Computer use. Vault placeholders in configured headers use the caller's current Vault authority.
Authentication: BearerAuth or BrowserSession.
Parameters
| Name | Location / type | Description |
|---|---|---|
idrequired | path / string · uuid | SDK: |
X-Organization-IDoptional | header / string · uuid | SDK: |
Request body
Required.
application/json
| Field | Type | Description |
|---|---|---|
connectionrequired | string |
|
namerequired | string |
|
argumentsrequired | object |
{
"$ref": "#/components/schemas/RemoteMcpToolCallInput"
}
Responses
| Status | Response contract |
|---|---|
| 200 | Native MCP CallToolResult.
|
| 400, 401, 403, 404, 409, 413, 500, 502, 503 | Request rejected
|
Schemas
APIKey
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
user_idrequired | string · uuid | |
native_scoperequired | NativeScope | |
expires_atrequired | string · date-time · nullable | |
revoked_atrequired | string · date-time · nullable | |
created_atrequired | string · date-time |
{
"type": "object",
"additionalProperties": false,
"required": [
"id",
"user_id",
"native_scope",
"expires_at",
"revoked_at",
"created_at"
],
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"user_id": {
"type": "string",
"format": "uuid"
},
"native_scope": {
"$ref": "#/components/schemas/NativeScope"
},
"expires_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"revoked_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
}
}
}APIKeyCreated
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
native_scoperequired | NativeScope | |
revoked_atrequired | string · date-time · nullable |
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"native_scope": {
"$ref": "#/components/schemas/NativeScope"
},
"revoked_at": {
"type": "string",
"format": "date-time",
"nullable": true
}
},
"required": [
"id",
"native_scope",
"revoked_at"
]
}APIKeyPage
| Field | Type | Description |
|---|---|---|
itemsrequired | array | |
next_cursorrequired | string · nullable | |
has_morerequired | boolean |
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/APIKey"
}
},
"next_cursor": {
"type": "string",
"nullable": true
},
"has_more": {
"type": "boolean"
}
},
"required": [
"items",
"next_cursor",
"has_more"
]
}Account
| Field | Type | Description |
|---|---|---|
deletion_idoptional | string · uuid · nullable | |
userrequired | User | |
organizationrequired | composed schema · nullable |
{
"type": "object",
"properties": {
"deletion_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"user": {
"$ref": "#/components/schemas/User"
},
"organization": {
"allOf": [
{
"$ref": "#/components/schemas/OrganizationIdentity"
}
],
"nullable": true
}
},
"required": [
"user",
"organization"
]
}AccountSettingsResult
| Field | Type | Description |
|---|---|---|
userrequired | User |
{
"type": "object",
"additionalProperties": false,
"required": [
"user"
],
"properties": {
"user": {
"$ref": "#/components/schemas/User"
}
}
}ActionReview
| Field | Type | Description |
|---|---|---|
task_idoptional | integer · int64 |
|
input_idoptional | string · uuid | |
idrequired | string · uuid | |
session_idrequired | string · uuid · nullable | |
action_idoptional | string | |
statusrequired | ActionReviewStatus | |
created_atrequired | string · date-time | |
updated_atrequired | string · date-time | |
decided_byoptional | string · uuid · nullable | |
decided_atoptional | string · date-time · nullable |
{
"type": "object",
"additionalProperties": false,
"required": [
"id",
"session_id",
"status",
"created_at",
"updated_at"
],
"properties": {
"task_id": {
"type": "integer",
"format": "int64",
"minimum": 1
},
"input_id": {
"type": "string",
"format": "uuid"
},
"id": {
"type": "string",
"format": "uuid"
},
"session_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"action_id": {
"type": "string"
},
"status": {
"$ref": "#/components/schemas/ActionReviewStatus"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"decided_by": {
"type": "string",
"format": "uuid",
"nullable": true
},
"decided_at": {
"type": "string",
"format": "date-time",
"nullable": true
}
}
}ActionReviewDecision
| Field | Type | Description |
|---|---|---|
decisionrequired | string |
|
{
"type": "object",
"additionalProperties": false,
"required": [
"decision"
],
"properties": {
"decision": {
"type": "string",
"enum": [
"approve",
"deny"
]
}
}
}ActionReviewInput
| Field | Type | Description |
|---|---|---|
session_idrequired | string · uuid | Session that owns this native task. Task IDs are local to its namespace store. |
task_idrequired | integer · int64 |
|
{
"type": "object",
"additionalProperties": false,
"required": [
"session_id",
"task_id"
],
"properties": {
"session_id": {
"type": "string",
"format": "uuid",
"description": "Session that owns this native task. Task IDs are local to its namespace store."
},
"task_id": {
"type": "integer",
"format": "int64",
"minimum": 1
}
}
}ActionReviewPage
| Field | Type | Description |
|---|---|---|
itemsrequired | array | |
has_morerequired | boolean | |
next_cursoroptional | string |
{
"type": "object",
"additionalProperties": false,
"required": [
"items",
"has_more"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ActionReview"
}
},
"has_more": {
"type": "boolean"
},
"next_cursor": {
"type": "string"
}
}
}ActionReviewResult
| Field | Type | Description |
|---|---|---|
decisionrequired | GuardrailDecision | |
reviewoptional | ActionReview |
{
"type": "object",
"additionalProperties": false,
"required": [
"decision"
],
"properties": {
"decision": {
"$ref": "#/components/schemas/GuardrailDecision"
},
"review": {
"$ref": "#/components/schemas/ActionReview"
}
}
}ActionReviewStatus
{
"type": "string",
"enum": [
"pending",
"approved",
"denied",
"cancelled",
"consumed"
]
}Agent
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
organization_idrequired | string · uuid | |
owner_member_idrequired | string · uuid · nullable | Owning organization membership. Membership deletion sets this to null without deleting the resource. Organization administrators retain resource management authority regardless of ownership, subject to credential scope ceilings; access does not assign ownership. |
created_atrequired | string · date-time | |
updated_atrequired | string · date-time | |
allowed_permissionsrequired | array | |
titlerequired | string | |
archivedrequired | boolean | |
parent_agent_idrequired | string · uuid · nullable | |
agent_template_idrequired | string · uuid · nullable | |
agent_template_version_idrequired | string · uuid · nullable | |
namespace_idrequired | string |
|
computer_idrequired | string · uuid · nullable | |
browser_idrequired | string · uuid · nullable | |
statusrequired | string |
|
last_errorrequired | string · nullable |
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"organization_id": {
"type": "string",
"format": "uuid"
},
"owner_member_id": {
"type": "string",
"format": "uuid",
"nullable": true,
"description": "Owning organization membership. Membership deletion sets this to null without deleting the resource. Organization administrators retain resource management authority regardless of ownership, subject to credential scope ceilings; access does not assign ownership."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"allowed_permissions": {
"type": "array",
"items": {
"type": "string"
}
},
"title": {
"type": "string"
},
"archived": {
"type": "boolean"
},
"parent_agent_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"agent_template_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"agent_template_version_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"namespace_id": {
"type": "string",
"minLength": 1
},
"computer_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"browser_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"status": {
"type": "string",
"enum": [
"allocated",
"preparing",
"ready",
"failed"
]
},
"last_error": {
"type": "string",
"nullable": true
}
},
"required": [
"id",
"organization_id",
"owner_member_id",
"created_at",
"updated_at",
"allowed_permissions",
"title",
"archived",
"parent_agent_id",
"agent_template_id",
"agent_template_version_id",
"namespace_id",
"computer_id",
"browser_id",
"status",
"last_error"
]
}AgentConfiguration
| Field | Type | Description |
|---|---|---|
pluginsoptional | array | |
modeloptional | string |
|
reasoning_effortoptional | string |
|
priorityoptional | boolean | |
instructionsoptional | string | |
toolsoptional | array · nullable | |
skillsoptional | array · nullable | |
mcp_serversoptional | array · nullable | |
voiceoptional | composed schema · nullable | |
max_goal_token_budgetoptional | integer · int64 |
|
{
"type": "object",
"additionalProperties": false,
"properties": {
"plugins": {
"type": "array",
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1
}
},
"model": {
"type": "string",
"minLength": 1
},
"reasoning_effort": {
"type": "string",
"enum": [
"off",
"minimal",
"low",
"medium",
"high",
"xhigh",
"max"
]
},
"priority": {
"type": "boolean"
},
"instructions": {
"type": "string"
},
"tools": {
"type": "array",
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1
},
"nullable": true
},
"skills": {
"type": "array",
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1
},
"nullable": true
},
"mcp_servers": {
"type": "array",
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1
},
"nullable": true
},
"voice": {
"allOf": [
{
"$ref": "#/components/schemas/VoiceSettings"
}
],
"nullable": true
},
"max_goal_token_budget": {
"type": "integer",
"format": "int64",
"minimum": 1
}
},
"description": "Agent program settings, owned by the program store rather than copied into resource metadata."
}AgentInputReceipt
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
agent_idrequired | string · uuid | |
session_idrequired | string · uuid | |
namespace_idrequired | string |
|
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"agent_id": {
"type": "string",
"format": "uuid"
},
"session_id": {
"type": "string",
"format": "uuid"
},
"namespace_id": {
"type": "string",
"minLength": 1
}
},
"required": [
"id",
"agent_id",
"session_id",
"namespace_id"
]
}AgentPage
| Field | Type | Description |
|---|---|---|
itemsrequired | array | |
next_cursorrequired | string · nullable | |
has_morerequired | boolean |
{
"type": "object",
"additionalProperties": false,
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Agent"
}
},
"next_cursor": {
"type": "string",
"nullable": true
},
"has_more": {
"type": "boolean"
}
},
"required": [
"items",
"next_cursor",
"has_more"
]
}AgentPermission
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
agent_idrequired | string · uuid | |
member_idrequired | string · uuid · nullable | |
grantee_agent_idrequired | string · uuid · nullable | |
rolerequired | string |
|
expires_atrequired | string · date-time · nullable | |
created_atrequired | string · date-time |
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"agent_id": {
"type": "string",
"format": "uuid"
},
"member_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"grantee_agent_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"role": {
"type": "string",
"enum": [
"viewer",
"writer"
]
},
"expires_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
}
},
"required": [
"id",
"agent_id",
"member_id",
"grantee_agent_id",
"role",
"expires_at",
"created_at"
]
}AgentPermissionPage
| Field | Type | Description |
|---|---|---|
itemsrequired | array | |
next_cursorrequired | string · nullable | |
has_morerequired | boolean |
{
"type": "object",
"additionalProperties": false,
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AgentPermission"
}
},
"next_cursor": {
"type": "string",
"nullable": true
},
"has_more": {
"type": "boolean"
}
},
"required": [
"items",
"next_cursor",
"has_more"
]
}AgentSession
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
organization_idrequired | string · uuid | |
agent_idrequired | string · uuid | |
parent_session_idrequired | string · uuid · nullable | |
namespace_idrequired | string |
|
computer_idrequired | string · uuid · nullable | |
browser_idrequired | string · uuid · nullable | |
settingsrequired | AgentSettings | |
created_atrequired | string · date-time |
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"organization_id": {
"type": "string",
"format": "uuid"
},
"agent_id": {
"type": "string",
"format": "uuid"
},
"parent_session_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"namespace_id": {
"type": "string",
"minLength": 1
},
"computer_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"browser_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"settings": {
"$ref": "#/components/schemas/AgentSettings"
},
"created_at": {
"type": "string",
"format": "date-time"
}
},
"required": [
"id",
"organization_id",
"agent_id",
"parent_session_id",
"namespace_id",
"computer_id",
"browser_id",
"settings",
"created_at"
]
}AgentSessionEventPage
| Field | Type | Description |
|---|---|---|
itemsrequired | array | |
next_cursorrequired | string · nullable | Continuation after the last returned native entry. Retain it while polling, including when has_more is false. Empty pages preserve the supplied continuation. |
has_morerequired | boolean | More entries are currently committed after this page; false does not end polling. |
{
"type": "object",
"additionalProperties": false,
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/NativeEntry"
}
},
"next_cursor": {
"type": "string",
"nullable": true,
"description": "Continuation after the last returned native entry. Retain it while polling, including when has_more is false. Empty pages preserve the supplied continuation."
},
"has_more": {
"type": "boolean",
"description": "More entries are currently committed after this page; false does not end polling."
}
},
"required": [
"items",
"next_cursor",
"has_more"
]
}AgentSessionPage
| Field | Type | Description |
|---|---|---|
itemsrequired | array | |
next_cursorrequired | string · nullable | |
has_morerequired | boolean |
{
"type": "object",
"additionalProperties": false,
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AgentSession"
}
},
"next_cursor": {
"type": "string",
"nullable": true
},
"has_more": {
"type": "boolean"
}
},
"required": [
"items",
"next_cursor",
"has_more"
]
}AgentSettings
| Field | Type | Description |
|---|---|---|
pluginsoptional | array | |
modeloptional | string |
|
reasoning_effortoptional | string |
|
priorityoptional | boolean | |
instructionsoptional | string | |
toolsoptional | array · nullable | |
skillsoptional | array · nullable | |
mcp_serversoptional | array · nullable | |
voiceoptional | composed schema · nullable |
{
"type": "object",
"additionalProperties": false,
"properties": {
"plugins": {
"type": "array",
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1
}
},
"model": {
"type": "string",
"minLength": 1
},
"reasoning_effort": {
"type": "string",
"enum": [
"off",
"minimal",
"low",
"medium",
"high",
"xhigh",
"max"
]
},
"priority": {
"type": "boolean"
},
"instructions": {
"type": "string"
},
"tools": {
"type": "array",
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1
},
"nullable": true
},
"skills": {
"type": "array",
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1
},
"nullable": true
},
"mcp_servers": {
"type": "array",
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1
},
"nullable": true
},
"voice": {
"allOf": [
{
"$ref": "#/components/schemas/VoiceSettings"
}
],
"nullable": true
}
},
"description": "Behavior settings. Omission preserves/inherits a field. Supplied arrays replace it. Null tool/skill/MCP selections select all eligible entries; empty arrays select none. Null voice clears voice settings. Settings do not grant authority."
}AgentTemplate
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
organization_idrequired | string · uuid | |
owner_member_idrequired | string · uuid · nullable | Owning organization membership. Membership deletion sets this to null without deleting the resource. Organization administrators retain resource management authority regardless of ownership, subject to credential scope ceilings; access does not assign ownership. |
created_atrequired | string · date-time | |
updated_atrequired | string · date-time | |
allowed_permissionsrequired | array | |
namerequired | string |
|
source_agent_idrequired | string · uuid · nullable | |
computer_template_idrequired | string · uuid · nullable | |
browser_template_idrequired | string · uuid · nullable | |
current_version_idrequired | string · uuid · nullable | |
program_refrequired | composed schema · nullable | |
statusrequired | string |
|
last_errorrequired | string · nullable |
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"organization_id": {
"type": "string",
"format": "uuid"
},
"owner_member_id": {
"type": "string",
"format": "uuid",
"nullable": true,
"description": "Owning organization membership. Membership deletion sets this to null without deleting the resource. Organization administrators retain resource management authority regardless of ownership, subject to credential scope ceilings; access does not assign ownership."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"allowed_permissions": {
"type": "array",
"items": {
"type": "string"
}
},
"name": {
"type": "string",
"minLength": 1
},
"source_agent_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"computer_template_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"browser_template_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"current_version_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"program_ref": {
"allOf": [
{
"$ref": "#/components/schemas/ProgramReference"
}
],
"nullable": true
},
"status": {
"type": "string",
"enum": [
"draft",
"publishing",
"ready",
"failed"
]
},
"last_error": {
"type": "string",
"nullable": true
}
},
"required": [
"id",
"organization_id",
"owner_member_id",
"created_at",
"updated_at",
"allowed_permissions",
"name",
"source_agent_id",
"computer_template_id",
"browser_template_id",
"current_version_id",
"program_ref",
"status",
"last_error"
]
}AgentTemplatePage
| Field | Type | Description |
|---|---|---|
itemsrequired | array | |
next_cursorrequired | string · nullable | |
has_morerequired | boolean |
{
"type": "object",
"additionalProperties": false,
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AgentTemplate"
}
},
"next_cursor": {
"type": "string",
"nullable": true
},
"has_more": {
"type": "boolean"
}
},
"required": [
"items",
"next_cursor",
"has_more"
]
}AgentTemplateVersion
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
agent_template_idrequired | string · uuid | |
request_idrequired | string · uuid | |
statusrequired | string |
|
created_atrequired | string · date-time | |
last_errorrequired | string · nullable | |
program_refrequired | composed schema · nullable |
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"agent_template_id": {
"type": "string",
"format": "uuid"
},
"request_id": {
"type": "string",
"format": "uuid"
},
"status": {
"type": "string",
"enum": [
"pending",
"ready",
"failed"
]
},
"created_at": {
"type": "string",
"format": "date-time"
},
"last_error": {
"type": "string",
"nullable": true
},
"program_ref": {
"allOf": [
{
"$ref": "#/components/schemas/ProgramReference"
}
],
"nullable": true
}
},
"required": [
"id",
"agent_template_id",
"request_id",
"status",
"created_at",
"last_error",
"program_ref"
]
}BashResult
| Field | Type | Description |
|---|---|---|
stdoutrequired | string | |
stderrrequired | string | |
exit_coderequired | integer |
{
"type": "object",
"additionalProperties": false,
"properties": {
"stdout": {
"type": "string"
},
"stderr": {
"type": "string"
},
"exit_code": {
"type": "integer"
}
},
"required": [
"stdout",
"stderr",
"exit_code"
]
}Browser
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
organization_idrequired | string · uuid | |
owner_member_idrequired | string · uuid · nullable | Owning organization membership. Membership deletion sets this to null without deleting the resource. Organization administrators retain resource management authority regardless of ownership, subject to credential scope ceilings; access does not assign ownership. |
created_atrequired | string · date-time | |
updated_atrequired | string · date-time | |
allowed_permissionsrequired | array | |
namerequired | string |
|
providerrequired | string |
|
browser_template_idrequired | string · uuid · nullable | |
statusrequired | string |
|
last_errorrequired | string · nullable | |
start_urlrequired | string · nullable |
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"organization_id": {
"type": "string",
"format": "uuid"
},
"owner_member_id": {
"type": "string",
"format": "uuid",
"nullable": true,
"description": "Owning organization membership. Membership deletion sets this to null without deleting the resource. Organization administrators retain resource management authority regardless of ownership, subject to credential scope ceilings; access does not assign ownership."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"allowed_permissions": {
"type": "array",
"items": {
"type": "string"
}
},
"name": {
"type": "string",
"minLength": 1
},
"provider": {
"type": "string",
"minLength": 1
},
"browser_template_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"status": {
"type": "string",
"enum": [
"allocated",
"provisioning",
"ready",
"failed",
"closed"
]
},
"last_error": {
"type": "string",
"nullable": true
},
"start_url": {
"type": "string",
"nullable": true
}
},
"required": [
"id",
"organization_id",
"owner_member_id",
"created_at",
"updated_at",
"allowed_permissions",
"name",
"provider",
"browser_template_id",
"status",
"last_error",
"start_url"
]
}BrowserPage
| Field | Type | Description |
|---|---|---|
itemsrequired | array | |
next_cursorrequired | string · nullable | |
has_morerequired | boolean |
{
"type": "object",
"additionalProperties": false,
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Browser"
}
},
"next_cursor": {
"type": "string",
"nullable": true
},
"has_more": {
"type": "boolean"
}
},
"required": [
"items",
"next_cursor",
"has_more"
]
}BrowserTemplate
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
organization_idrequired | string · uuid | |
owner_member_idrequired | string · uuid · nullable | Owning organization membership. Membership deletion sets this to null without deleting the resource. Organization administrators retain resource management authority regardless of ownership, subject to credential scope ceilings; access does not assign ownership. |
created_atrequired | string · date-time | |
updated_atrequired | string · date-time | |
allowed_permissionsrequired | array | |
namerequired | string |
|
providerrequired | string |
|
current_capture_idrequired | string · uuid · nullable | |
statusrequired | string |
|
last_errorrequired | string · nullable | |
source_browser_idrequired | string · uuid | |
start_urlrequired | string · nullable |
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"organization_id": {
"type": "string",
"format": "uuid"
},
"owner_member_id": {
"type": "string",
"format": "uuid",
"nullable": true,
"description": "Owning organization membership. Membership deletion sets this to null without deleting the resource. Organization administrators retain resource management authority regardless of ownership, subject to credential scope ceilings; access does not assign ownership."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"allowed_permissions": {
"type": "array",
"items": {
"type": "string"
}
},
"name": {
"type": "string",
"minLength": 1
},
"provider": {
"type": "string",
"minLength": 1
},
"current_capture_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"status": {
"type": "string",
"enum": [
"pending",
"ready",
"failed"
]
},
"last_error": {
"type": "string",
"nullable": true
},
"source_browser_id": {
"type": "string",
"format": "uuid"
},
"start_url": {
"type": "string",
"nullable": true
}
},
"required": [
"id",
"organization_id",
"owner_member_id",
"created_at",
"updated_at",
"allowed_permissions",
"name",
"provider",
"current_capture_id",
"status",
"last_error",
"source_browser_id",
"start_url"
]
}BrowserTemplateCapture
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
browser_template_idrequired | string · uuid | |
request_idrequired | string · uuid | |
statusrequired | string |
|
created_atrequired | string · date-time | |
last_errorrequired | string · nullable |
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"browser_template_id": {
"type": "string",
"format": "uuid"
},
"request_id": {
"type": "string",
"format": "uuid"
},
"status": {
"type": "string",
"enum": [
"pending",
"ready",
"failed"
]
},
"created_at": {
"type": "string",
"format": "date-time"
},
"last_error": {
"type": "string",
"nullable": true
}
},
"required": [
"id",
"browser_template_id",
"request_id",
"status",
"created_at",
"last_error"
]
}BrowserTemplatePage
| Field | Type | Description |
|---|---|---|
itemsrequired | array | |
next_cursorrequired | string · nullable | |
has_morerequired | boolean |
{
"type": "object",
"additionalProperties": false,
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BrowserTemplate"
}
},
"next_cursor": {
"type": "string",
"nullable": true
},
"has_more": {
"type": "boolean"
}
},
"required": [
"items",
"next_cursor",
"has_more"
]
}Computer
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
organization_idrequired | string · uuid | |
owner_member_idrequired | string · uuid · nullable | Owning organization membership. Membership deletion sets this to null without deleting the resource. Organization administrators retain resource management authority regardless of ownership, subject to credential scope ceilings; access does not assign ownership. |
created_atrequired | string · date-time | |
updated_atrequired | string · date-time | |
allowed_permissionsrequired | array | |
namerequired | string |
|
providerrequired | string |
|
computer_template_idrequired | string · uuid · nullable | |
statusrequired | string |
|
last_errorrequired | string · nullable | |
platformrequired | string · nullable | |
architecturerequired | string · nullable | |
os_userrequired | string · nullable | |
runtime_buildrequired | string · nullable | |
installed_versionrequired | string · nullable | |
resume_expires_atrequired | string · date-time · nullable | |
connectionoptional | ComputerConnection | Live native relay observation for an attached Computer. Managed Computers omit this field. Relay errors fail the read instead of reporting an offline device. |
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"organization_id": {
"type": "string",
"format": "uuid"
},
"owner_member_id": {
"type": "string",
"format": "uuid",
"nullable": true,
"description": "Owning organization membership. Membership deletion sets this to null without deleting the resource. Organization administrators retain resource management authority regardless of ownership, subject to credential scope ceilings; access does not assign ownership."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"allowed_permissions": {
"type": "array",
"items": {
"type": "string"
}
},
"name": {
"type": "string",
"minLength": 1
},
"provider": {
"type": "string",
"minLength": 1
},
"computer_template_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"status": {
"type": "string",
"enum": [
"allocated",
"provisioning",
"running",
"paused",
"failed",
"closed"
]
},
"last_error": {
"type": "string",
"nullable": true
},
"platform": {
"type": "string",
"nullable": true
},
"architecture": {
"type": "string",
"nullable": true
},
"os_user": {
"type": "string",
"nullable": true
},
"runtime_build": {
"type": "string",
"nullable": true
},
"installed_version": {
"type": "string",
"nullable": true
},
"resume_expires_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"connection": {
"description": "Live native relay observation for an attached Computer. Managed Computers omit this field. Relay errors fail the read instead of reporting an offline device.",
"$ref": "#/components/schemas/ComputerConnection"
}
},
"required": [
"id",
"organization_id",
"owner_member_id",
"created_at",
"updated_at",
"allowed_permissions",
"name",
"provider",
"computer_template_id",
"status",
"last_error",
"platform",
"architecture",
"os_user",
"runtime_build",
"installed_version",
"resume_expires_at"
]
}ComputerCommandInput
| Field | Type | Description |
|---|---|---|
commandrequired | string |
|
cwdoptional | string |
|
timeout_msoptional | integer |
|
{
"type": "object",
"additionalProperties": false,
"properties": {
"command": {
"type": "string",
"minLength": 1,
"maxLength": 32768
},
"cwd": {
"type": "string",
"minLength": 1,
"maxLength": 4096
},
"timeout_ms": {
"type": "integer",
"minimum": 1,
"maximum": 300000,
"default": 30000
}
},
"required": [
"command"
]
}ComputerCommandResult
| Field | Type | Description |
|---|---|---|
stdoutrequired | string | |
stderrrequired | string | |
exit_coderequired | integer |
{
"type": "object",
"additionalProperties": false,
"properties": {
"stdout": {
"type": "string"
},
"stderr": {
"type": "string"
},
"exit_code": {
"type": "integer"
}
},
"required": [
"stdout",
"stderr",
"exit_code"
]
}ComputerConnection
| Field | Type | Description |
|---|---|---|
onlinerequired | boolean | |
runtime_buildrequired | string · nullable | |
observationsrequired | array |
{
"type": "object",
"additionalProperties": false,
"properties": {
"online": {
"type": "boolean"
},
"runtime_build": {
"type": "string",
"nullable": true
},
"observations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ComputerFeatureObservation"
}
}
},
"required": [
"online",
"runtime_build",
"observations"
]
}ComputerCredentialReference
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
version_idrequired | string |
|
{
"type": "object",
"additionalProperties": false,
"required": [
"id",
"version_id"
],
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"version_id": {
"type": "string",
"minLength": 1
}
}
}ComputerFeatureObservation
| Field | Type | Description |
|---|---|---|
featurerequired | string |
|
resultrequired | string |
|
reasonoptional | string |
{
"type": "object",
"additionalProperties": false,
"properties": {
"feature": {
"type": "string",
"enum": [
"terminal",
"bash",
"desktop",
"control"
]
},
"result": {
"type": "string",
"enum": [
"ready",
"not_checked",
"unavailable"
]
},
"reason": {
"type": "string"
}
},
"required": [
"feature",
"result"
]
}ComputerPage
| Field | Type | Description |
|---|---|---|
itemsrequired | array | |
next_cursorrequired | string · nullable | |
has_morerequired | boolean |
{
"type": "object",
"additionalProperties": false,
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Computer"
}
},
"next_cursor": {
"type": "string",
"nullable": true
},
"has_more": {
"type": "boolean"
}
},
"required": [
"items",
"next_cursor",
"has_more"
]
}ComputerPairing
| Field | Type | Description |
|---|---|---|
computer_idrequired | string · uuid · nullable | |
organization_idrequired | string · uuid · nullable | |
idrequired | string · uuid | |
user_coderequired | string | |
namerequired | string | |
platformrequired | string |
|
architecturerequired | string |
|
os_userrequired | string | |
runtime_buildrequired | string | |
expires_atrequired | string · date-time | |
verification_urirequired | string · uri |
{
"type": "object",
"additionalProperties": false,
"required": [
"computer_id",
"organization_id",
"id",
"user_code",
"name",
"platform",
"architecture",
"os_user",
"runtime_build",
"expires_at",
"verification_uri"
],
"properties": {
"computer_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"organization_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"id": {
"type": "string",
"format": "uuid"
},
"user_code": {
"type": "string"
},
"name": {
"type": "string"
},
"platform": {
"type": "string",
"enum": [
"darwin",
"linux",
"windows"
]
},
"architecture": {
"type": "string",
"enum": [
"amd64",
"arm64"
]
},
"os_user": {
"type": "string"
},
"runtime_build": {
"type": "string"
},
"expires_at": {
"type": "string",
"format": "date-time"
},
"verification_uri": {
"type": "string",
"format": "uri"
}
}
}ComputerPairingApproval
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
organization_idrequired | string · uuid |
{
"type": "object",
"additionalProperties": false,
"required": [
"id",
"organization_id"
],
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"organization_id": {
"type": "string",
"format": "uuid"
}
}
}ComputerPairingCodeInput
| Field | Type | Description |
|---|---|---|
user_coderequired | string |
|
{
"type": "object",
"additionalProperties": false,
"required": [
"user_code"
],
"properties": {
"user_code": {
"type": "string",
"pattern": "^[A-Z2-7]{4}-?[A-Z2-7]{4}$",
"maxLength": 9
}
}
}ComputerSoftwareUpdateInput
| Field | Type | Description |
|---|---|---|
request_idrequired | string · uuid | |
target_buildrequired | string |
|
{
"type": "object",
"additionalProperties": false,
"required": [
"request_id",
"target_build"
],
"properties": {
"request_id": {
"type": "string",
"format": "uuid"
},
"target_build": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
}
}
}ComputerSoftwareUpdateStatus
| Field | Type | Description |
|---|---|---|
can_updaterequired | boolean | |
selected_buildrequired | string | |
selected_versionrequired | string | |
available_buildrequired | string | |
available_versionrequired | string | |
update_availablerequired | boolean |
{
"type": "object",
"additionalProperties": false,
"required": [
"can_update",
"selected_build",
"selected_version",
"available_build",
"available_version",
"update_available"
],
"properties": {
"can_update": {
"type": "boolean"
},
"selected_build": {
"type": "string"
},
"selected_version": {
"type": "string"
},
"available_build": {
"type": "string"
},
"available_version": {
"type": "string"
},
"update_available": {
"type": "boolean"
}
}
}ComputerTemplate
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
organization_idrequired | string · uuid | |
owner_member_idrequired | string · uuid · nullable | Owning organization membership. Membership deletion sets this to null without deleting the resource. Organization administrators retain resource management authority regardless of ownership, subject to credential scope ceilings; access does not assign ownership. |
created_atrequired | string · date-time | |
updated_atrequired | string · date-time | |
allowed_permissionsrequired | array | |
namerequired | string |
|
providerrequired | string |
|
current_capture_idrequired | string · uuid · nullable | |
statusrequired | string |
|
last_errorrequired | string · nullable | |
source_computer_idrequired | string · uuid |
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"organization_id": {
"type": "string",
"format": "uuid"
},
"owner_member_id": {
"type": "string",
"format": "uuid",
"nullable": true,
"description": "Owning organization membership. Membership deletion sets this to null without deleting the resource. Organization administrators retain resource management authority regardless of ownership, subject to credential scope ceilings; access does not assign ownership."
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"allowed_permissions": {
"type": "array",
"items": {
"type": "string"
}
},
"name": {
"type": "string",
"minLength": 1
},
"provider": {
"type": "string",
"minLength": 1
},
"current_capture_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"status": {
"type": "string",
"enum": [
"pending",
"ready",
"failed",
"closed"
]
},
"last_error": {
"type": "string",
"nullable": true
},
"source_computer_id": {
"type": "string",
"format": "uuid"
}
},
"required": [
"id",
"organization_id",
"owner_member_id",
"created_at",
"updated_at",
"allowed_permissions",
"name",
"provider",
"current_capture_id",
"status",
"last_error",
"source_computer_id"
]
}ComputerTemplateCapture
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
computer_template_idrequired | string · uuid | |
request_idrequired | string · uuid | |
statusrequired | string |
|
created_atrequired | string · date-time | |
last_errorrequired | string · nullable | |
interrupts_computeroptional | boolean | |
retention_secondsoptional | integer · int64 | |
expires_atoptional | string · date-time | |
source_statusoptional | string |
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"computer_template_id": {
"type": "string",
"format": "uuid"
},
"request_id": {
"type": "string",
"format": "uuid"
},
"status": {
"type": "string",
"enum": [
"pending",
"ready",
"failed"
]
},
"created_at": {
"type": "string",
"format": "date-time"
},
"last_error": {
"type": "string",
"nullable": true
},
"interrupts_computer": {
"type": "boolean"
},
"retention_seconds": {
"type": "integer",
"format": "int64"
},
"expires_at": {
"type": "string",
"format": "date-time"
},
"source_status": {
"type": "string"
}
},
"required": [
"id",
"computer_template_id",
"request_id",
"status",
"created_at",
"last_error"
]
}ComputerTemplatePage
| Field | Type | Description |
|---|---|---|
itemsrequired | array | |
next_cursorrequired | string · nullable | |
has_morerequired | boolean |
{
"type": "object",
"additionalProperties": false,
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ComputerTemplate"
}
},
"next_cursor": {
"type": "string",
"nullable": true
},
"has_more": {
"type": "boolean"
}
},
"required": [
"items",
"next_cursor",
"has_more"
]
}ContinueSignInInput
| Field | Type | Description |
|---|---|---|
coderequired | string | Six decimal digits from the delivered email. Never log this value.
|
{
"type": "object",
"additionalProperties": false,
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"minLength": 6,
"maxLength": 6,
"writeOnly": true,
"description": "Six decimal digits from the delivered email. Never log this value."
}
}
}CreateAgentInput
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
agent_template_idoptional | string · uuid | |
computer_template_idoptional | string · uuid · nullable | |
browser_template_idoptional | string · uuid · nullable | |
computer_idoptional | string · uuid · nullable | |
browser_idoptional | string · uuid · nullable | |
parent_agent_idoptional | string · uuid · nullable | |
titleoptional | string | |
settingsoptional | AgentConfiguration | |
permissionsoptional | array |
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"agent_template_id": {
"type": "string",
"format": "uuid"
},
"computer_template_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"browser_template_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"computer_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"browser_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"parent_agent_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"title": {
"type": "string"
},
"settings": {
"$ref": "#/components/schemas/AgentConfiguration"
},
"permissions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CreateAgentPermissionInput"
}
}
},
"required": [
"id"
],
"description": "Define an Agent allocation. Select an existing Computer/Browser or a Template for that resource, never both. No model input is submitted. Published Template selection is resolved and pinned internally.",
"not": {
"anyOf": [
{
"required": [
"computer_id",
"computer_template_id"
]
},
{
"required": [
"browser_id",
"browser_template_id"
]
}
]
}
}CreateAgentMessageInput
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
contentrequired | string |
|
modeoptional | string | Delivery of a new message. Queue follows the current run; steer joins it after the current tool round; restart interrupts the active run and submits this input without resetting history. Reusing a message ID changes content only and retains its original mode.
|
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"content": {
"type": "string",
"minLength": 1
},
"mode": {
"type": "string",
"enum": [
"queue",
"steer",
"restart"
],
"default": "queue",
"description": "Delivery of a new message. Queue follows the current run; steer joins it after the current tool round; restart interrupts the active run and submits this input without resetting history. Reusing a message ID changes content only and retains its original mode."
}
},
"required": [
"id",
"content"
]
}CreateAgentPermissionInput
| Field | Type | Description |
|---|---|---|
member_idoptional | string · uuid · nullable | |
grantee_agent_idoptional | string · uuid · nullable | |
rolerequired | string |
|
expires_atoptional | string · date-time · nullable |
{
"type": "object",
"additionalProperties": false,
"description": "At most one subject may be non-null. Both null grant organization-wide access. Subjects must belong to this organization.",
"properties": {
"member_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"grantee_agent_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"role": {
"type": "string",
"enum": [
"viewer",
"writer"
]
},
"expires_at": {
"type": "string",
"format": "date-time",
"nullable": true
}
},
"required": [
"role"
]
}CreateAgentSessionInput
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
parent_session_idoptional | string · uuid · nullable | |
namespace_idoptional | string | Authorized namespace node ID. Omit to inherit the Agent or parent selection; null is invalid.
|
computer_idoptional | string · uuid | |
browser_idoptional | string · uuid | |
settingsoptional | AgentSettings |
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"parent_session_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"namespace_id": {
"type": "string",
"minLength": 1,
"description": "Authorized namespace node ID. Omit to inherit the Agent or parent selection; null is invalid."
},
"computer_id": {
"type": "string",
"format": "uuid"
},
"browser_id": {
"type": "string",
"format": "uuid"
},
"settings": {
"$ref": "#/components/schemas/AgentSettings"
}
},
"required": [
"id"
],
"description": "Allocate Session metadata without submitting work. Omitted selections inherit from the Agent or parent; explicit selections require authority. Namespace binding is immutable. No fork or checkpoint input is accepted."
}CreateAgentTemplateInput
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
namerequired | string |
|
source_agent_idoptional | string · uuid | |
computer_template_idoptional | string · uuid · nullable | |
browser_template_idoptional | string · uuid · nullable |
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string",
"minLength": 1
},
"source_agent_id": {
"type": "string",
"format": "uuid"
},
"computer_template_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"browser_template_id": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"required": [
"id",
"name"
]
}CreateBrowserInput
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
browser_template_idoptional | string · uuid | |
provideroptional | string |
|
nameoptional | string |
|
sourceoptional | object |
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"browser_template_id": {
"type": "string",
"format": "uuid"
},
"provider": {
"type": "string",
"minLength": 1
},
"name": {
"type": "string",
"minLength": 1
},
"source": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"id"
],
"description": "Allocate a fresh independent Kernel profile without a live Browser. Set provider=\"kernel\" and omit source and browser_template_id. Existing native profile import, Template instantiation and other providers return 422 because Kernel has no profile-only clone or import operation. A raw native identifier does not establish Completion authority.",
"not": {
"anyOf": [
{
"required": [
"browser_template_id",
"provider"
]
},
{
"required": [
"browser_template_id",
"source"
]
},
{
"not": {
"anyOf": [
{
"required": [
"browser_template_id"
]
},
{
"required": [
"provider"
]
}
]
}
}
]
}
}CreateBrowserTemplateInput
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
source_browser_idrequired | string · uuid | |
namerequired | string |
|
start_urloptional | string |
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"source_browser_id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string",
"minLength": 1
},
"start_url": {
"type": "string"
}
},
"required": [
"id",
"source_browser_id",
"name"
]
}CreateComputerInput
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
computer_template_idoptional | string · uuid | |
provideroptional | string |
|
nameoptional | string |
|
sourceoptional | object | Native image or snapshot selection only. E2B accepts templateID; Daytona accepts snapshot or image, with an optional native target region; Modal accepts image_id or image; Boat accepts from and type; Vercel accepts snapshot_id or image; Archil accepts image_id or base_image. Vercel and Archil identifiers must be nonempty strings. An empty object selects the configured native image default. API destinations, account/app/environment settings and credentials belong to the immutable Vault connection and are rejected in source. Native source overrides require explicitly supplied authorized Vault references. Completion-default creation accepts an empty source; other copies use an authorized Computer or Template. |
computer_idoptional | string · uuid | |
credential_referencesoptional | object | Exact Vault version references keyed by E2B_SANDBOX, DAYTONA_SANDBOX, MODAL_SANDBOX, BOAT_SANDBOX, VERCEL_SANDBOX or ARCHIL_SANDBOX. Each provider takes exactly one JSON text Vault value containing its credentials and connection/account settings. E2B/Daytona use api_key and optional api_url; Modal uses token_id, token_secret and optional app_name and environment; Boat uses api_key and optional api_url and org. Vercel uses token, team_id and project_id; Archil uses api_key and api_url. Omission on a fresh provider source selects its configured Completion Vault connection with an empty source. Explicit empty references do not select a default. Derived creation retains the exact source binding. |
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"computer_template_id": {
"type": "string",
"format": "uuid"
},
"provider": {
"type": "string",
"minLength": 1
},
"name": {
"type": "string",
"minLength": 1
},
"source": {
"type": "object",
"additionalProperties": true,
"description": "Native image or snapshot selection only. E2B accepts templateID; Daytona accepts snapshot or image, with an optional native target region; Modal accepts image_id or image; Boat accepts from and type; Vercel accepts snapshot_id or image; Archil accepts image_id or base_image. Vercel and Archil identifiers must be nonempty strings. An empty object selects the configured native image default. API destinations, account/app/environment settings and credentials belong to the immutable Vault connection and are rejected in source. Native source overrides require explicitly supplied authorized Vault references. Completion-default creation accepts an empty source; other copies use an authorized Computer or Template."
},
"computer_id": {
"type": "string",
"format": "uuid"
},
"credential_references": {
"type": "object",
"description": "Exact Vault version references keyed by E2B_SANDBOX, DAYTONA_SANDBOX, MODAL_SANDBOX, BOAT_SANDBOX, VERCEL_SANDBOX or ARCHIL_SANDBOX. Each provider takes exactly one JSON text Vault value containing its credentials and connection/account settings. E2B/Daytona use api_key and optional api_url; Modal uses token_id, token_secret and optional app_name and environment; Boat uses api_key and optional api_url and org. Vercel uses token, team_id and project_id; Archil uses api_key and api_url. Omission on a fresh provider source selects its configured Completion Vault connection with an empty source. Explicit empty references do not select a default. Derived creation retains the exact source binding.",
"additionalProperties": {
"$ref": "#/components/schemas/ComputerCredentialReference"
}
}
},
"required": [
"id"
],
"description": "Create an independent Computer from an explicit native provider source, current Template capture, or caller-authorized source Computer. Computer forks automatically preserve memory when the provider advertises memory capture; otherwise they use a disk snapshot clone. Template copies restore the captured state. Provider credentials are authorized Vault version references. Fresh provider sources use the configured Completion connection when references are omitted, and supplied references select the customer's connection. No model turn is started. Creation from a Computer or Template retains the source's exact provider Vault binding. If credential_references is supplied for derived creation, it must match that binding; cross-account copying is unsupported.",
"oneOf": [
{
"required": [
"computer_template_id"
],
"not": {
"anyOf": [
{
"required": [
"provider"
]
},
{
"required": [
"source"
]
},
{
"required": [
"computer_id"
]
}
]
}
},
{
"required": [
"provider",
"source"
],
"not": {
"anyOf": [
{
"required": [
"computer_template_id"
]
},
{
"required": [
"computer_id"
]
}
]
}
},
{
"required": [
"computer_id"
],
"not": {
"anyOf": [
{
"required": [
"provider"
]
},
{
"required": [
"source"
]
},
{
"required": [
"computer_template_id"
]
}
]
}
}
]
}CreateComputerPairingInput
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
credentialrequired | string · password |
|
namerequired | string |
|
platformrequired | string |
|
architecturerequired | string |
|
os_userrequired | string |
|
runtime_buildrequired | string |
|
{
"type": "object",
"description": "Retain the ID and private device credential for pairing renewal. An unexpired pairing also requires unchanged device details. After expiry, an unapproved pairing can renew its code, expiry and device details. Never use renewal to reset an approved Computer.",
"additionalProperties": false,
"required": [
"id",
"credential",
"name",
"platform",
"architecture",
"os_user",
"runtime_build"
],
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"credential": {
"type": "string",
"format": "password",
"writeOnly": true,
"pattern": "^[A-Za-z0-9_-]{43}$",
"minLength": 43,
"maxLength": 43
},
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"platform": {
"type": "string",
"enum": [
"darwin",
"linux",
"windows"
]
},
"architecture": {
"type": "string",
"enum": [
"amd64",
"arm64"
]
},
"os_user": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"runtime_build": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
}
}
}CreateComputerTemplateInput
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
computer_idrequired | string · uuid | |
namerequired | string |
|
{
"description": "Capture the source Computer automatically with memory when the provider supports it, otherwise capture disk state.",
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"computer_id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string",
"minLength": 1
}
},
"required": [
"id",
"computer_id",
"name"
]
}CreateFilesystemPermissionInput
| Field | Type | Description |
|---|---|---|
member_idrequired | string · uuid · nullable | Same-organization membership; null grants organization-wide access. |
rolerequired | string |
|
expires_atoptional | string · date-time · nullable |
{
"type": "object",
"additionalProperties": false,
"properties": {
"member_id": {
"type": "string",
"format": "uuid",
"nullable": true,
"description": "Same-organization membership; null grants organization-wide access."
},
"role": {
"type": "string",
"enum": [
"reader",
"writer"
]
},
"expires_at": {
"type": "string",
"format": "date-time",
"nullable": true
}
},
"required": [
"member_id",
"role"
]
}CreateNamespacePermissionInput
| Field | Type | Description |
|---|---|---|
member_idoptional | string · uuid · nullable | |
grantee_agent_idoptional | string · uuid · nullable | |
rolerequired | string |
|
expires_atoptional | string · date-time · nullable |
{
"type": "object",
"additionalProperties": false,
"description": "At most one subject may be non-null. Both null grant organization-wide access. Subjects must belong to this organization.",
"properties": {
"member_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"grantee_agent_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"role": {
"type": "string",
"enum": [
"reader",
"writer"
]
},
"expires_at": {
"type": "string",
"format": "date-time",
"nullable": true
}
},
"required": [
"role"
]
}CreateOrganizationInput
| Field | Type | Description |
|---|---|---|
namerequired | string |
|
request_idrequired | string |
|
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"request_id": {
"type": "string",
"minLength": 1
}
},
"required": [
"name",
"request_id"
],
"additionalProperties": false
}DesktopAccess
| Field | Type | Description |
|---|---|---|
urlrequired | string | |
protocolrequired | string |
|
passwordoptional | string |
{
"type": "object",
"additionalProperties": false,
"required": [
"url",
"protocol"
],
"properties": {
"url": {
"type": "string"
},
"protocol": {
"type": "string",
"enum": [
"rfb",
"png"
]
},
"password": {
"type": "string"
}
}
}ErrorBody
| Field | Type | Description |
|---|---|---|
errorrequired | string | |
codeoptional | string | |
detailsoptional | object |
{
"type": "object",
"additionalProperties": false,
"required": [
"error"
],
"properties": {
"error": {
"type": "string"
},
"code": {
"type": "string"
},
"details": {
"type": "object",
"additionalProperties": true
}
}
}FilesystemCommand
| Field | Type | Description |
|---|---|---|
agent_idrequired | string · uuid | Agent whose persistent Archil sandbox runs the command. Selection requires current Agent write authority and does not grant filesystem access. |
commandrequired | string | One offline Bash script, within the HTTP request body transport limit. File paths are relative to the caller view mounted at /workspace.
|
{
"type": "object",
"additionalProperties": false,
"properties": {
"agent_id": {
"type": "string",
"format": "uuid",
"description": "Agent whose persistent Archil sandbox runs the command. Selection requires current Agent write authority and does not grant filesystem access."
},
"command": {
"type": "string",
"minLength": 1,
"description": "One offline Bash script, within the HTTP request body transport limit. File paths are relative to the caller view mounted at /workspace."
}
},
"required": [
"agent_id",
"command"
]
}FilesystemPermission
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
node_idrequired | string |
|
member_idrequired | string · uuid · nullable | |
rolerequired | string |
|
expires_atrequired | string · date-time · nullable | |
created_atrequired | string · date-time |
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"node_id": {
"type": "string",
"minLength": 1
},
"member_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"role": {
"type": "string",
"enum": [
"reader",
"writer"
]
},
"expires_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
}
},
"required": [
"id",
"node_id",
"member_id",
"role",
"expires_at",
"created_at"
]
}FilesystemPermissionPage
| Field | Type | Description |
|---|---|---|
itemsrequired | array | |
next_cursorrequired | string · nullable | |
has_morerequired | boolean |
{
"type": "object",
"additionalProperties": false,
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FilesystemPermission"
}
},
"next_cursor": {
"type": "string",
"nullable": true
},
"has_more": {
"type": "boolean"
}
},
"required": [
"items",
"next_cursor",
"has_more"
]
}FilesystemReference
| Field | Type | Description |
|---|---|---|
pathrequired | string |
{
"type": "object",
"additionalProperties": false,
"properties": {
"path": {
"type": "string"
}
},
"required": [
"path"
]
}FillAction
| Field | Type | Description |
|---|---|---|
kindrequired | string |
|
resource_idrequired | string · uuid | |
targetrequired | string | |
action_idrequired | string · uuid | |
session_idoptional | string · uuid | |
statusrequired | string |
|
fieldsoptional | array | |
erroroptional | string | |
detailsoptional | array | |
inputsoptional | array |
{
"type": "object",
"additionalProperties": false,
"properties": {
"kind": {
"type": "string",
"enum": [
"browser",
"desktop"
]
},
"resource_id": {
"type": "string",
"format": "uuid"
},
"target": {
"type": "string"
},
"action_id": {
"type": "string",
"format": "uuid"
},
"session_id": {
"type": "string",
"format": "uuid"
},
"status": {
"type": "string",
"enum": [
"waiting_for_input",
"running",
"completed",
"failed",
"unknown",
"cancelled"
]
},
"fields": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FillFieldOutcome"
}
},
"error": {
"type": "string"
},
"details": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"target": {
"type": "string"
},
"label": {
"type": "string"
},
"vault_ref": {
"type": "string"
},
"vault_name": {
"type": "string"
}
},
"required": [
"target"
]
}
},
"inputs": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MissingInput"
}
}
},
"required": [
"kind",
"resource_id",
"target",
"action_id",
"status"
]
}FillFieldOutcome
| Field | Type | Description |
|---|---|---|
indexrequired | integer | |
statusrequired | string | |
error_codeoptional | string |
{
"type": "object",
"additionalProperties": false,
"properties": {
"index": {
"type": "integer"
},
"status": {
"type": "string"
},
"error_code": {
"type": "string"
}
},
"required": [
"index",
"status"
]
}FillInputSubmission
| Field | Type | Description |
|---|---|---|
session_idoptional | string · uuid | Session that owns this native input request. |
valuesrequired | array |
|
{
"type": "object",
"additionalProperties": false,
"properties": {
"session_id": {
"type": "string",
"format": "uuid",
"description": "Session that owns this native input request."
},
"values": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FillInputValue"
},
"minItems": 1
}
},
"required": [
"values"
]
}FillInputValue
| Field | Type | Description |
|---|---|---|
saveoptional | VaultInputSave | |
input_idrequired | string · uuid | |
valuerequired | string |
|
{
"type": "object",
"additionalProperties": false,
"properties": {
"save": {
"$ref": "#/components/schemas/VaultInputSave"
},
"input_id": {
"type": "string",
"format": "uuid"
},
"value": {
"type": "string",
"minLength": 1,
"maxLength": 65536
}
},
"required": [
"input_id",
"value"
]
}GuardrailDecision
HTTPNetworkRule
| Field | Type | Description |
|---|---|---|
kindrequired | string |
|
moderequired | NetworkRuleMode | |
methodsoptional | array | Case-sensitive native HTTP method tokens. Omitted means every method.
|
targetsoptional | array | HTTP or HTTPS origin with optional path pattern and *. hostname suffix. No user information, query or fragment. Omitted path matches every path; * matches one nonempty segment and final ** matches the remaining path.
|
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"mode"
],
"properties": {
"kind": {
"type": "string",
"enum": [
"http"
]
},
"mode": {
"$ref": "#/components/schemas/NetworkRuleMode"
},
"methods": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"description": "Case-sensitive native HTTP method tokens. Omitted means every method."
},
"targets": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 4096
},
"description": "HTTP or HTTPS origin with optional path pattern and *. hostname suffix. No user information, query or fragment. Omitted path matches every path; * matches one nonempty segment and final ** matches the remaining path."
}
}
}InboundConnectionRule
| Field | Type | Description |
|---|---|---|
kindrequired | string |
|
directionrequired | string |
|
moderequired | NetworkRuleMode | |
protocolsoptional | NetworkRuleProtocols | |
portsoptional | array |
|
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"direction",
"mode"
],
"properties": {
"kind": {
"type": "string",
"enum": [
"connection"
]
},
"direction": {
"type": "string",
"enum": [
"inbound"
]
},
"mode": {
"$ref": "#/components/schemas/NetworkRuleMode"
},
"protocols": {
"$ref": "#/components/schemas/NetworkRuleProtocols"
},
"ports": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "integer",
"minimum": 1,
"maximum": 65535
}
}
}
}McpAuthorization
| Field | Type | Description |
|---|---|---|
staterequired | string |
|
{
"type": "object",
"additionalProperties": false,
"required": [
"state"
],
"properties": {
"state": {
"type": "string",
"enum": [
"authorized"
]
}
}
}McpClientMetadata
| Field | Type | Description |
|---|---|---|
client_idrequired | string | |
client_namerequired | string | |
redirect_urisrequired | array | |
grant_typesrequired | array | |
response_typesrequired | array | |
token_endpoint_auth_methodrequired | string |
{
"type": "object",
"additionalProperties": false,
"required": [
"client_id",
"client_name",
"redirect_uris",
"grant_types",
"response_types",
"token_endpoint_auth_method"
],
"description": "OAuth client ID metadata document; field names are the native OAuth names.",
"properties": {
"client_id": {
"type": "string"
},
"client_name": {
"type": "string"
},
"redirect_uris": {
"type": "array",
"items": {
"type": "string"
}
},
"grant_types": {
"type": "array",
"items": {
"type": "string"
}
},
"response_types": {
"type": "array",
"items": {
"type": "string"
}
},
"token_endpoint_auth_method": {
"type": "string"
}
}
}McpConnection
| Field | Type | Description |
|---|---|---|
connectionrequired | string | Opaque canonical connection reference. |
agent_idrequired | string · uuid | |
namerequired | string | |
urlrequired | string | |
computer_idoptional | string · uuid | The connection's HTTP is carried through this Computer, so localhost is the Computer. |
headersoptional | object | Configured header templates. Values are Vault placeholders, never secret values. |
{
"type": "object",
"additionalProperties": false,
"required": [
"connection",
"agent_id",
"name",
"url"
],
"properties": {
"connection": {
"type": "string",
"description": "Opaque canonical connection reference."
},
"agent_id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"url": {
"type": "string"
},
"computer_id": {
"type": "string",
"format": "uuid",
"description": "The connection's HTTP is carried through this Computer, so localhost is the Computer."
},
"headers": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "Configured header templates. Values are Vault placeholders, never secret values."
}
}
}McpConnectionPage
| Field | Type | Description |
|---|---|---|
itemsrequired | array | |
has_morerequired | boolean | |
next_cursoroptional | string |
{
"type": "object",
"additionalProperties": false,
"required": [
"items",
"has_more"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/McpConnection"
}
},
"has_more": {
"type": "boolean"
},
"next_cursor": {
"type": "string"
}
}
}McpConnectionState
| Field | Type | Description |
|---|---|---|
connectionrequired | string | |
namerequired | string | |
urlrequired | string | |
computer_idoptional | string · uuid | |
staterequired | string |
|
auth_urloptional | string | Provider authorization URL when state is authorization_required. |
authorization_request_idoptional | string | Identifies this authorization attempt. |
erroroptional | string | |
toolsoptional | array | Native MCP tool definitions when state is ready. |
{
"type": "object",
"additionalProperties": false,
"required": [
"connection",
"name",
"url",
"state"
],
"properties": {
"connection": {
"type": "string"
},
"name": {
"type": "string"
},
"url": {
"type": "string"
},
"computer_id": {
"type": "string",
"format": "uuid"
},
"state": {
"type": "string",
"enum": [
"ready",
"not_connected",
"disconnected",
"authorization_required",
"error"
]
},
"auth_url": {
"type": "string",
"description": "Provider authorization URL when state is authorization_required."
},
"authorization_request_id": {
"type": "string",
"description": "Identifies this authorization attempt."
},
"error": {
"type": "string"
},
"tools": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "Native MCP tool definitions when state is ready."
}
}
}McpDisconnection
| Field | Type | Description |
|---|---|---|
staterequired | string |
|
revokedrequired | boolean | Whether the provider accepted token revocation. False when it has no revocation endpoint or refused. |
{
"type": "object",
"additionalProperties": false,
"required": [
"state",
"revoked"
],
"properties": {
"state": {
"type": "string",
"enum": [
"disconnected"
]
},
"revoked": {
"type": "boolean",
"description": "Whether the provider accepted token revocation. False when it has no revocation endpoint or refused."
}
}
}Member
| Field | Type | Description |
|---|---|---|
user_idoptional | string · uuid | |
nameoptional | string | |
profile_image_urloptional | string · nullable | |
idrequired | string · uuid | |
emailrequired | string | |
rolerequired | string |
|
created_atrequired | string · date-time | |
is_yourequired | boolean | |
assignable_rolesrequired | array |
{
"type": "object",
"properties": {
"user_id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"profile_image_url": {
"type": "string",
"nullable": true
},
"id": {
"type": "string",
"format": "uuid"
},
"email": {
"type": "string"
},
"role": {
"type": "string",
"enum": [
"primary_owner",
"owner",
"admin",
"member"
]
},
"created_at": {
"type": "string",
"format": "date-time"
},
"is_you": {
"type": "boolean"
},
"assignable_roles": {
"type": "array",
"items": {
"type": "string",
"enum": [
"owner",
"admin",
"member"
]
}
}
},
"required": [
"id",
"email",
"role",
"created_at",
"is_you",
"assignable_roles"
]
}MemberPage
| Field | Type | Description |
|---|---|---|
itemsrequired | array | |
next_cursorrequired | string · nullable | |
has_morerequired | boolean |
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Member"
}
},
"next_cursor": {
"type": "string",
"nullable": true
},
"has_more": {
"type": "boolean"
}
},
"required": [
"items",
"next_cursor",
"has_more"
]
}MemberRoleInput
| Field | Type | Description |
|---|---|---|
rolerequired | string |
|
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"owner",
"admin",
"member"
]
}
},
"required": [
"role"
],
"additionalProperties": false
}MissingInput
| Field | Type | Description |
|---|---|---|
input_idrequired | string · uuid | |
labelrequired | string | |
originrequired | string | |
pathrequired | string | |
save_asoptional | VaultDestination |
{
"type": "object",
"additionalProperties": false,
"properties": {
"input_id": {
"type": "string",
"format": "uuid"
},
"label": {
"type": "string"
},
"origin": {
"type": "string"
},
"path": {
"type": "string"
},
"save_as": {
"$ref": "#/components/schemas/VaultDestination"
}
},
"required": [
"input_id",
"label",
"origin",
"path"
]
}NamespacePermission
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
namespace_idrequired | string |
|
member_idrequired | string · uuid · nullable | |
grantee_agent_idrequired | string · uuid · nullable | |
rolerequired | string |
|
expires_atrequired | string · date-time · nullable | |
created_atrequired | string · date-time |
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"namespace_id": {
"type": "string",
"minLength": 1
},
"member_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"grantee_agent_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"role": {
"type": "string",
"enum": [
"reader",
"writer"
]
},
"expires_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
}
},
"required": [
"id",
"namespace_id",
"member_id",
"grantee_agent_id",
"role",
"expires_at",
"created_at"
]
}NamespacePermissionPage
| Field | Type | Description |
|---|---|---|
itemsrequired | array | |
next_cursorrequired | string · nullable | |
has_morerequired | boolean |
{
"type": "object",
"additionalProperties": false,
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/NamespacePermission"
}
},
"next_cursor": {
"type": "string",
"nullable": true
},
"has_more": {
"type": "boolean"
}
},
"required": [
"items",
"next_cursor",
"has_more"
]
}NativeEntry
{
"type": "object",
"description": "A committed Pi Durable EntryRecord, returned unchanged from its native store.",
"additionalProperties": true
}NativeScope
| Field | Type | Description |
|---|---|---|
resourcesrequired | array |
{
"type": "object",
"additionalProperties": false,
"properties": {
"resources": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ScopeResource"
}
}
},
"required": [
"resources"
]
}NetworkRule
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
organization_idrequired | string · uuid | |
namerequired | string | |
definitionrequired | NetworkRuleDefinition | |
scoperequired | NetworkRuleScope | |
scope_idrequired | string · uuid | |
scope_namerequired | string | |
can_editrequired | boolean | |
created_atrequired | string · date-time | |
updated_atrequired | string · date-time |
{
"type": "object",
"additionalProperties": false,
"required": [
"id",
"organization_id",
"name",
"definition",
"scope",
"scope_id",
"scope_name",
"can_edit",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"organization_id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"definition": {
"$ref": "#/components/schemas/NetworkRuleDefinition"
},
"scope": {
"$ref": "#/components/schemas/NetworkRuleScope"
},
"scope_id": {
"type": "string",
"format": "uuid"
},
"scope_name": {
"type": "string"
},
"can_edit": {
"type": "boolean"
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
}
}
}NetworkRuleDefinition
{
"description": "Gateway-enforced Computer network restrictions when the Organization Computer VPN is enabled. Computer command proxies and Computer HTTP MCP enforce the same selected policy before and after Vault substitution. Generic trusted Agent runtime HTTP, remote HTTP MCP without a Computer route, Workflows and builds are outside these rules. Values in a selector combine with OR; selectors combine with AND. Omitted selectors mean any. block_matches denies matches; block_except denies nonmatches and requires a selector. Any denial wins; approval cannot override it. Connection targets accept IPs, standalone CIDRs, IP endpoints, DNS hostnames and optional-port hostname endpoints. A leading *. matches subdomains but not the apex. Names are case-insensitive IDNA and lose one trailing dot. IPs are canonicalized and CIDR host bits masked. Duplicate canonical targets, zones, mapped IPv6 and port zero are invalid. Inbound ports are sandbox-local. DNS rejects names only when no protocol, port or address alternative can affect the connection decision; final endpoint and hostname checks run at connection establishment. Hostname policies inspect native TLS SNI and plaintext HTTP authority. Protocol selectors and explicit IP alternatives are evaluated first. When they cannot decide the rule, missing or numeric hostname evidence, ECH and opaque UDP/other protocols are denied. HTTP targets match scheme, host, effective port and canonical escaped path. Query and fragment are not selectors. An omitted path matches all paths; * matches one nonempty segment and a final ** matches the remaining path. Methods are case-sensitive HTTP tokens. HTTP rules inspect plain HTTP directly. HTTPS with method/path policy must use the existing command HTTP proxy; uninspected raw ciphertext and opaque protocols are denied. Native policy application confirms the current database revision before reporting success.",
"oneOf": [
{
"$ref": "#/components/schemas/OutboundConnectionRule"
},
{
"$ref": "#/components/schemas/InboundConnectionRule"
},
{
"$ref": "#/components/schemas/HTTPNetworkRule"
}
]
}NetworkRuleInput
| Field | Type | Description |
|---|---|---|
namerequired | string |
|
definitionrequired | NetworkRuleDefinition | |
scoperequired | NetworkRuleScope | |
scope_idrequired | string · uuid |
{
"type": "object",
"additionalProperties": false,
"required": [
"name",
"definition",
"scope",
"scope_id"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"pattern": "\\S"
},
"definition": {
"$ref": "#/components/schemas/NetworkRuleDefinition"
},
"scope": {
"$ref": "#/components/schemas/NetworkRuleScope"
},
"scope_id": {
"type": "string",
"format": "uuid"
}
}
}NetworkRuleMode
NetworkRulePage
| Field | Type | Description |
|---|---|---|
itemsrequired | array | |
next_cursorrequired | string · nullable | |
has_morerequired | boolean |
{
"type": "object",
"additionalProperties": false,
"required": [
"items",
"next_cursor",
"has_more"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/NetworkRule"
}
},
"next_cursor": {
"type": "string",
"nullable": true
},
"has_more": {
"type": "boolean"
}
}
}NetworkRuleProtocols
{
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string",
"enum": [
"tcp",
"udp"
]
}
}NetworkRuleScope
{
"type": "string",
"enum": [
"organization",
"user",
"agent_template",
"agent"
],
"description": "The nearest owner with configured rules supplies the complete policy, in Agent then Agent Template then User then Organization order. User scope_id is an Organization User membership ID. The User is the selected Agent owner or otherwise the Computer owner. Mutation requires Organization update authority. Scope grants no execution authority."
}NetworkRuleTargets
{
"type": "array",
"minItems": 1,
"uniqueItems": true,
"description": "IP addresses, standalone CIDRs, address-and-port endpoints, hostnames or *.subdomain suffixes with an optional port. Names use lowercase IDNA; wildcard does not match the apex. Addresses and prefixes are canonicalized; duplicates are rejected.",
"items": {
"type": "string",
"minLength": 1
}
}Organization
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
namerequired | string | |
rolerequired | string · nullable |
|
agent_settingsrequired | OrganizationAgentSettings | |
deleting_atrequired | string · date-time · nullable | |
deletion_idrequired | string · uuid · nullable | |
membersrequired | integer | |
adminsrequired | integer | |
filesystem_refrequired | FilesystemReference | |
network_control_enabledrequired | boolean | Whether Computer workload traffic requires the protected WireGuard route and gateway enforcement of the selected Agent, Agent Template or Organization Network Rules. False preserves rule definitions. Authorized Vault substitution is available in both modes independently of tunnel enrollment. Vercel Computers do not support the protected WireGuard route. |
private_networkoptional | PrivateNetwork | |
network_appliedoptional | boolean | All affected native controls confirmed the saved network configuration. This records application, not current network health.
|
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"role": {
"type": "string",
"nullable": true,
"enum": [
"primary_owner",
"owner",
"admin",
"member"
]
},
"agent_settings": {
"$ref": "#/components/schemas/OrganizationAgentSettings"
},
"deleting_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"deletion_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"members": {
"type": "integer"
},
"admins": {
"type": "integer"
},
"filesystem_ref": {
"$ref": "#/components/schemas/FilesystemReference"
},
"network_control_enabled": {
"type": "boolean",
"description": "Whether Computer workload traffic requires the protected WireGuard route and gateway enforcement of the selected Agent, Agent Template or Organization Network Rules. False preserves rule definitions. Authorized Vault substitution is available in both modes independently of tunnel enrollment. Vercel Computers do not support the protected WireGuard route."
},
"private_network": {
"$ref": "#/components/schemas/PrivateNetwork"
},
"network_applied": {
"type": "boolean",
"readOnly": true,
"description": "All affected native controls confirmed the saved network configuration. This records application, not current network health."
}
},
"required": [
"id",
"name",
"role",
"agent_settings",
"deleting_at",
"deletion_id",
"members",
"admins",
"filesystem_ref",
"network_control_enabled"
]
}OrganizationAgentSettings
| Field | Type | Description |
|---|---|---|
modeloptional | string |
|
reasoning_effortoptional | string |
|
priorityoptional | boolean |
{
"type": "object",
"properties": {
"model": {
"type": "string",
"pattern": "^[^/\\s]+\\/\\S+$"
},
"reasoning_effort": {
"type": "string",
"enum": [
"off",
"minimal",
"low",
"medium",
"high",
"xhigh",
"max"
]
},
"priority": {
"type": "boolean"
}
},
"additionalProperties": false
}OrganizationCreated
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
namerequired | string | |
rolerequired | string |
|
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"role": {
"type": "string",
"enum": [
"primary_owner",
"owner",
"admin",
"member"
]
}
},
"required": [
"id",
"name",
"role"
]
}OrganizationIdentity
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
namerequired | string | |
filesystem_refrequired | FilesystemReference |
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"filesystem_ref": {
"$ref": "#/components/schemas/FilesystemReference"
}
},
"required": [
"id",
"name",
"filesystem_ref"
]
}OrganizationListItem
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
namerequired | string | |
rolerequired | string |
|
deleting_atrequired | string · date-time · nullable | |
created_atrequired | string · date-time |
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"role": {
"type": "string",
"enum": [
"primary_owner",
"owner",
"admin",
"member"
]
},
"deleting_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
}
},
"required": [
"id",
"name",
"role",
"deleting_at",
"created_at"
]
}OrganizationListItemPage
| Field | Type | Description |
|---|---|---|
itemsrequired | array | |
next_cursorrequired | string · nullable | |
has_morerequired | boolean |
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OrganizationListItem"
}
},
"next_cursor": {
"type": "string",
"nullable": true
},
"has_more": {
"type": "boolean"
}
},
"required": [
"items",
"next_cursor",
"has_more"
]
}OutboundConnectionRule
| Field | Type | Description |
|---|---|---|
kindrequired | string |
|
directionrequired | string |
|
moderequired | NetworkRuleMode | |
protocolsoptional | NetworkRuleProtocols | |
targetsoptional | NetworkRuleTargets |
{
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"direction",
"mode"
],
"properties": {
"kind": {
"type": "string",
"enum": [
"connection"
]
},
"direction": {
"type": "string",
"enum": [
"outbound"
]
},
"mode": {
"$ref": "#/components/schemas/NetworkRuleMode"
},
"protocols": {
"$ref": "#/components/schemas/NetworkRuleProtocols"
},
"targets": {
"$ref": "#/components/schemas/NetworkRuleTargets"
}
}
}PermissionSubject
| Field | Type | Description |
|---|---|---|
typerequired | string |
|
idrequired | string · nullable | Membership UUID. Organization subjects use null. |
namerequired | string | |
emailrequired | string · nullable | |
profile_image_urlrequired | string · nullable |
{
"type": "object",
"additionalProperties": false,
"properties": {
"type": {
"type": "string",
"enum": [
"member",
"organization"
]
},
"id": {
"type": "string",
"nullable": true,
"description": "Membership UUID. Organization subjects use null."
},
"name": {
"type": "string"
},
"email": {
"type": "string",
"nullable": true
},
"profile_image_url": {
"type": "string",
"nullable": true
}
},
"required": [
"type",
"id",
"name",
"email",
"profile_image_url"
]
}PrivateNetwork
| Field | Type | Description |
|---|---|---|
auth_keyrequired | string | Vault reference. The API never returns the enrollment value.
|
auth_key_nameoptional | string | Name of the selected Organization Vault entry.
|
exit_noderequired | string | Canonical Tailscale IP of an existing approved exit node. Enrollment alone does not select or approve an exit. Native setup verifies this exact node and its protected route. |
{
"type": "object",
"nullable": true,
"additionalProperties": false,
"required": [
"auth_key",
"exit_node"
],
"description": "One Organization private-network attachment. The trusted gateway enrolls with a reusable, preauthorized Tailscale auth key from an Organization-owned Vault secret and selects the explicit, administratively approved exit node. Null removes the attachment and cancels its private connections. Reachability does not grant resource, MCP, Vault or Network Rule authority.",
"properties": {
"auth_key": {
"type": "string",
"minLength": 53,
"pattern": "^completion-vault:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "Vault reference. The API never returns the enrollment value."
},
"auth_key_name": {
"type": "string",
"readOnly": true,
"description": "Name of the selected Organization Vault entry."
},
"exit_node": {
"type": "string",
"anyOf": [
{
"format": "ipv4"
},
{
"format": "ipv6"
}
],
"description": "Canonical Tailscale IP of an existing approved exit node. Enrollment alone does not select or approve an exit. Native setup verifies this exact node and its protected route."
}
}
}ProgramReference
| Field | Type | Description |
|---|---|---|
idrequired | string |
|
pathoptional | string |
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1
},
"path": {
"type": "string"
}
},
"required": [
"id"
]
}RegisterAPIKey
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
secret_hashrequired | string |
|
native_scoperequired | NativeScope | |
expires_atoptional | string · date-time |
{
"type": "object",
"additionalProperties": false,
"description": "Register a client-generated key hash and an explicit resource/operation scope. Human user ownership only; identity, secret hash and expiry are immutable.",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"secret_hash": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"native_scope": {
"$ref": "#/components/schemas/NativeScope"
},
"expires_at": {
"type": "string",
"format": "date-time"
}
},
"required": [
"id",
"secret_hash",
"native_scope"
]
}RegisterVaultSecret
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
namerequired | string |
|
valuerequired | string |
|
scope_refrequired | VaultScopeRef | |
consumer_constraintsrequired | VaultConsumerConstraints | |
http_targetsoptional | VaultHTTPDestinations |
{
"type": "object",
"additionalProperties": false,
"required": [
"id",
"name",
"value",
"scope_ref",
"consumer_constraints"
],
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"value": {
"type": "string",
"maxLength": 65536,
"writeOnly": true
},
"scope_ref": {
"$ref": "#/components/schemas/VaultScopeRef"
},
"consumer_constraints": {
"$ref": "#/components/schemas/VaultConsumerConstraints"
},
"http_targets": {
"$ref": "#/components/schemas/VaultHTTPDestinations"
}
}
}RemoteMcpToolCallInput
| Field | Type | Description |
|---|---|---|
connectionrequired | string |
|
namerequired | string |
|
argumentsrequired | object |
{
"type": "object",
"additionalProperties": false,
"required": [
"connection",
"name",
"arguments"
],
"properties": {
"connection": {
"type": "string",
"minLength": 1,
"maxLength": 8192
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"arguments": {
"type": "object",
"additionalProperties": true
}
}
}RemoteMcpToolPage
| Field | Type | Description |
|---|---|---|
itemsrequired | array | |
has_morerequired | boolean | |
next_cursoroptional | string |
{
"type": "object",
"additionalProperties": false,
"required": [
"items",
"has_more"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/McpConnectionState"
}
},
"has_more": {
"type": "boolean"
},
"next_cursor": {
"type": "string"
}
}
}ResourceOwner
| Field | Type | Description |
|---|---|---|
member_idrequired | string · uuid | |
namerequired | string | |
emailrequired | string | |
profile_image_urlrequired | string · nullable |
{
"type": "object",
"additionalProperties": false,
"properties": {
"member_id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"profile_image_url": {
"type": "string",
"nullable": true
}
},
"required": [
"member_id",
"name",
"email",
"profile_image_url"
]
}ResourcePermission
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
organization_idrequired | string · uuid | |
resource_idrequired | string · uuid | |
subjectrequired | PermissionSubject | |
rolerequired | string |
|
expires_atrequired | string · date-time · nullable | |
created_atrequired | string · date-time | |
updated_atrequired | string · date-time |
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"organization_id": {
"type": "string",
"format": "uuid"
},
"resource_id": {
"type": "string",
"format": "uuid"
},
"subject": {
"$ref": "#/components/schemas/PermissionSubject"
},
"role": {
"type": "string",
"enum": [
"viewer",
"writer"
]
},
"expires_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
}
},
"required": [
"id",
"organization_id",
"resource_id",
"subject",
"role",
"expires_at",
"created_at",
"updated_at"
]
}ResourcePermissionPage
| Field | Type | Description |
|---|---|---|
itemsrequired | array | |
has_morerequired | boolean | |
next_cursorrequired | string · nullable | |
ownerrequired | composed schema · nullable | |
automatic_accessrequired | string |
{
"type": "object",
"additionalProperties": false,
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ResourcePermission"
}
},
"has_more": {
"type": "boolean"
},
"next_cursor": {
"type": "string",
"nullable": true
},
"owner": {
"nullable": true,
"allOf": [
{
"$ref": "#/components/schemas/ResourceOwner"
}
]
},
"automatic_access": {
"type": "string"
}
},
"required": [
"items",
"has_more",
"next_cursor",
"owner",
"automatic_access"
]
}SSHKey
| Field | Type | Description |
|---|---|---|
api_key_idrequired | string · uuid · nullable | The API credential this key authenticates. Null identifies a User key.
|
idrequired | string · uuid | |
public_keyrequired | string | |
created_atrequired | string · date-time |
{
"type": "object",
"properties": {
"api_key_id": {
"type": "string",
"format": "uuid",
"nullable": true,
"readOnly": true,
"description": "The API credential this key authenticates. Null identifies a User key."
},
"id": {
"type": "string",
"format": "uuid"
},
"public_key": {
"type": "string"
},
"created_at": {
"type": "string",
"format": "date-time"
}
},
"required": [
"api_key_id",
"id",
"public_key",
"created_at"
]
}SSHKeyInput
| Field | Type | Description |
|---|---|---|
public_keyrequired | string |
|
{
"type": "object",
"properties": {
"public_key": {
"type": "string",
"minLength": 1,
"maxLength": 16384
}
},
"required": [
"public_key"
],
"additionalProperties": false
}SSHKeyPage
| Field | Type | Description |
|---|---|---|
itemsrequired | array | |
next_cursorrequired | string · nullable | |
has_morerequired | boolean |
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SSHKey"
}
},
"next_cursor": {
"type": "string",
"nullable": true
},
"has_more": {
"type": "boolean"
}
},
"required": [
"items",
"next_cursor",
"has_more"
]
}SaveAgentTemplateSnapshotInput
| Field | Type | Description |
|---|---|---|
request_idrequired | string · uuid | |
source_agent_idoptional | string · uuid |
{
"type": "object",
"additionalProperties": false,
"properties": {
"request_id": {
"type": "string",
"format": "uuid"
},
"source_agent_id": {
"type": "string",
"format": "uuid"
}
},
"required": [
"request_id"
]
}SaveBrowserTemplateSnapshotInput
| Field | Type | Description |
|---|---|---|
request_idrequired | string · uuid | |
source_browser_idrequired | string · uuid |
{
"type": "object",
"additionalProperties": false,
"properties": {
"request_id": {
"type": "string",
"format": "uuid"
},
"source_browser_id": {
"type": "string",
"format": "uuid"
}
},
"required": [
"request_id",
"source_browser_id"
]
}SaveComputerTemplateSnapshotInput
| Field | Type | Description |
|---|---|---|
request_idrequired | string · uuid | |
computer_idrequired | string · uuid |
{
"description": "Capture and publish source state using memory when the provider supports it, otherwise a disk snapshot. The capture mode is not a caller option.",
"type": "object",
"additionalProperties": false,
"properties": {
"request_id": {
"type": "string",
"format": "uuid"
},
"computer_id": {
"type": "string",
"format": "uuid"
}
},
"required": [
"request_id",
"computer_id"
]
}ScopeResource
| Field | Type | Description |
|---|---|---|
idrequired | string | Native resource identity. For filesystem operations on managed resources, use the canonical root /namespaces/{namespace_id}, /agents/{agent_id}, or /agent-templates/{template_id}; ordinary shared files use their filesystem node ID. Non-filesystem operations use the canonical lowercase hyphenated resource UUID, such as the Agent UUID for agent.share, the Computer UUID for computer.read/use/update/share/delete, or the Computer Template UUID for computer_template.use/update/share/delete. Delegation requires the issuer's credential ceiling and current resource authority; updates to another member's key also require that member's current authority.
|
operationsrequired | array |
|
{
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "Native resource identity. For filesystem operations on managed resources, use the canonical root /namespaces/{namespace_id}, /agents/{agent_id}, or /agent-templates/{template_id}; ordinary shared files use their filesystem node ID. Non-filesystem operations use the canonical lowercase hyphenated resource UUID, such as the Agent UUID for agent.share, the Computer UUID for computer.read/use/update/share/delete, or the Computer Template UUID for computer_template.use/update/share/delete. Delegation requires the issuer's credential ceiling and current resource authority; updates to another member's key also require that member's current authority."
},
"operations": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"uniqueItems": true
}
},
"required": [
"id",
"operations"
]
}SetResourcePermissionInput
| Field | Type | Description |
|---|---|---|
rolerequired | string |
|
expires_atoptional | string · date-time · nullable |
{
"type": "object",
"additionalProperties": false,
"required": [
"role"
],
"properties": {
"role": {
"type": "string",
"enum": [
"viewer",
"writer"
]
},
"expires_at": {
"type": "string",
"format": "date-time",
"nullable": true
}
}
}SignInStep
| Field | Type | Description |
|---|---|---|
statusrequired | string |
|
user_idoptional | string · uuid | |
urloptional | string · uri | Completion authorization URL for a redirect step. |
{
"type": "object",
"additionalProperties": false,
"required": [
"status"
],
"properties": {
"status": {
"type": "string",
"enum": [
"redirect",
"code",
"verify_email",
"authenticated"
]
},
"user_id": {
"type": "string",
"format": "uuid"
},
"url": {
"type": "string",
"format": "uri",
"description": "Completion authorization URL for a redirect step."
}
}
}StartSignInInput
| Field | Type | Description |
|---|---|---|
emailrequired | string · email |
|
ssooptional | boolean | Require an existing company SSO connection for this email domain. |
{
"type": "object",
"additionalProperties": false,
"required": [
"email"
],
"properties": {
"email": {
"type": "string",
"format": "email",
"maxLength": 254
},
"sso": {
"type": "boolean",
"description": "Require an existing company SSO connection for this email domain."
}
}
}TransferOrganizationOwnershipInput
| Field | Type | Description |
|---|---|---|
member_idrequired | string · uuid |
{
"type": "object",
"additionalProperties": false,
"properties": {
"member_id": {
"type": "string",
"format": "uuid"
}
},
"required": [
"member_id"
]
}UpdateAPIKeyInput
| Field | Type | Description |
|---|---|---|
native_scoperequired | composed schema | Replace the complete resource/operation allowlist. Empty resources grants no operations. Requires key-management authority and cannot grant authority the caller lacks or let a scoped key expand its own permissions. The key ID, secret hash, owner and expiry are unchanged. New requests use this scope; accepted turns retain admitted authority. |
{
"type": "object",
"additionalProperties": false,
"required": [
"native_scope"
],
"properties": {
"native_scope": {
"allOf": [
{
"$ref": "#/components/schemas/NativeScope"
}
],
"description": "Replace the complete resource/operation allowlist. Empty resources grants no operations. Requires key-management authority and cannot grant authority the caller lacks or let a scoped key expand its own permissions. The key ID, secret hash, owner and expiry are unchanged. New requests use this scope; accepted turns retain admitted authority."
}
}
}UpdateAgentInput
| Field | Type | Description |
|---|---|---|
titleoptional | string · nullable | |
archivedoptional | boolean | |
namespace_idoptional | string |
|
computer_idoptional | string · uuid · nullable | |
browser_idoptional | string · uuid · nullable |
{
"type": "object",
"additionalProperties": false,
"properties": {
"title": {
"type": "string",
"nullable": true
},
"archived": {
"type": "boolean"
},
"namespace_id": {
"type": "string",
"minLength": 1
},
"computer_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"browser_id": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"minProperties": 1
}UpdateAgentPermissionInput
| Field | Type | Description |
|---|---|---|
roleoptional | string |
|
expires_atoptional | string · date-time · nullable |
{
"type": "object",
"additionalProperties": false,
"description": "Set supplied role or expiry. Omission retains the value; null expiry clears it. Subject is immutable.",
"properties": {
"role": {
"type": "string",
"enum": [
"viewer",
"writer"
]
},
"expires_at": {
"type": "string",
"format": "date-time",
"nullable": true
}
},
"minProperties": 1
}UpdateAgentTemplateInput
| Field | Type | Description |
|---|---|---|
nameoptional | string |
|
computer_template_idoptional | string · uuid · nullable | |
browser_template_idoptional | string · uuid · nullable |
{
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"computer_template_id": {
"type": "string",
"format": "uuid",
"nullable": true
},
"browser_template_id": {
"type": "string",
"format": "uuid",
"nullable": true
}
},
"minProperties": 1
}UpdateBrowserInput
| Field | Type | Description |
|---|---|---|
nameoptional | string |
|
start_urloptional | string · nullable |
{
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"start_url": {
"type": "string",
"nullable": true
}
},
"minProperties": 1
}UpdateBrowserTemplateInput
| Field | Type | Description |
|---|---|---|
nameoptional | string |
|
start_urloptional | string · nullable |
{
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"start_url": {
"type": "string",
"nullable": true
}
},
"minProperties": 1
}UpdateComputerInput
| Field | Type | Description |
|---|---|---|
nameoptional | string |
|
{
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"minLength": 1
}
},
"minProperties": 1
}UpdateComputerTemplateInput
| Field | Type | Description |
|---|---|---|
nameoptional | string |
|
{
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"minLength": 1
}
},
"minProperties": 1
}UpdateFilesystemPermissionInput
| Field | Type | Description |
|---|---|---|
roleoptional | string |
|
expires_atoptional | string · date-time · nullable |
{
"type": "object",
"additionalProperties": false,
"properties": {
"role": {
"type": "string",
"enum": [
"reader",
"writer"
]
},
"expires_at": {
"type": "string",
"format": "date-time",
"nullable": true
}
},
"minProperties": 1
}UpdateNamespacePermissionInput
| Field | Type | Description |
|---|---|---|
roleoptional | string |
|
expires_atoptional | string · date-time · nullable |
{
"type": "object",
"additionalProperties": false,
"description": "Set supplied role or expiry. Omission retains the value; null expiry clears it. Subject is immutable.",
"properties": {
"role": {
"type": "string",
"enum": [
"reader",
"writer"
]
},
"expires_at": {
"type": "string",
"format": "date-time",
"nullable": true
}
},
"minProperties": 1
}UpdateNetworkRuleInput
| Field | Type | Description |
|---|---|---|
nameoptional | string |
|
definitionoptional | NetworkRuleDefinition | |
scopeoptional | NetworkRuleScope | |
scope_idoptional | string · uuid |
{
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"minLength": 1,
"pattern": "\\S"
},
"definition": {
"$ref": "#/components/schemas/NetworkRuleDefinition"
},
"scope": {
"$ref": "#/components/schemas/NetworkRuleScope"
},
"scope_id": {
"type": "string",
"format": "uuid"
}
},
"minProperties": 1,
"description": "Set only the supplied top-level writable fields to their absolute values. Omitted fields retain their saved values. Supplied arrays and objects replace that field's value; this is not a recursive merge or JSON Patch operation. Explicit null is valid only where the field schema permits it. Validate the resulting effective resource, including coupled scope and policy fields, before committing. Repeating the same update has the same resource-state effect; never interpret values as increment, toggle or append commands."
}UpdateOrganizationInput
| Field | Type | Description |
|---|---|---|
nameoptional | string |
|
network_control_enabledoptional | boolean | Route Computer workload traffic through the protected WireGuard gateway and enforce the selected scoped Network Rules when true. False uses ordinary networking and retains rule definitions without enforcing them. Supported HTTP tools and command proxies resolve authorized Vault references in both modes; false does not intercept arbitrary application connections. Vercel uses its native firewall independently; enabling the protected VPN for Vercel returns unsupported rather than broadening its policy. |
private_networkoptional | composed schema · nullable | Omit to preserve the attachment. Supply the complete reference and approved exit to replace it, or null to detach. The current native Vault version is pinned when this update is admitted. |
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"network_control_enabled": {
"type": "boolean",
"description": "Route Computer workload traffic through the protected WireGuard gateway and enforce the selected scoped Network Rules when true. False uses ordinary networking and retains rule definitions without enforcing them. Supported HTTP tools and command proxies resolve authorized Vault references in both modes; false does not intercept arbitrary application connections. Vercel uses its native firewall independently; enabling the protected VPN for Vercel returns unsupported rather than broadening its policy."
},
"private_network": {
"allOf": [
{
"$ref": "#/components/schemas/PrivateNetwork"
}
],
"nullable": true,
"description": "Omit to preserve the attachment. Supply the complete reference and approved exit to replace it, or null to detach. The current native Vault version is pinned when this update is admitted."
}
},
"minProperties": 1,
"additionalProperties": false
}UpdateResourceOwnerInput
| Field | Type | Description |
|---|---|---|
owner_member_idrequired | string · uuid · nullable | Current organization membership to own the resource. Null clears ownership. |
{
"type": "object",
"additionalProperties": false,
"properties": {
"owner_member_id": {
"type": "string",
"format": "uuid",
"nullable": true,
"description": "Current organization membership to own the resource. Null clears ownership."
}
},
"required": [
"owner_member_id"
],
"description": "Set the owner to an explicit same-organization membership, or clear it. Does not change creation provenance or sharing grants."
}User
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
emailrequired | string | |
profile_image_urlrequired | string · nullable | |
namerequired | string |
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"email": {
"type": "string"
},
"profile_image_url": {
"type": "string",
"nullable": true
},
"name": {
"type": "string"
}
},
"required": [
"id",
"email",
"profile_image_url",
"name"
]
}VaultConsumerConstraints
| Field | Type | Description |
|---|---|---|
consumerrequired | string | mcp_oauth marks a remote MCP OAuth grant that Completion saves for an Agent connection; it cannot be created through this API.
|
destinationoptional | string | Immutable consumer destination. For browser, the exact HTTPS top-level page URL with no embedded user information, including its path, query and fragment. For provider or enrollment credentials, the exact HTTPS destination. For desktop, the exact native application launch path. Omit for HTTP substitution. |
{
"type": "object",
"additionalProperties": false,
"required": [
"consumer"
],
"properties": {
"consumer": {
"type": "string",
"enum": [
"computer_provider",
"http",
"tailscale_enrollment",
"desktop",
"browser",
"mcp_oauth"
],
"description": "mcp_oauth marks a remote MCP OAuth grant that Completion saves for an Agent connection; it cannot be created through this API."
},
"destination": {
"type": "string",
"description": "Immutable consumer destination. For browser, the exact HTTPS top-level page URL with no embedded user information, including its path, query and fragment. For provider or enrollment credentials, the exact HTTPS destination. For desktop, the exact native application launch path. Omit for HTTP substitution."
}
}
}VaultDestination
| Field | Type | Description |
|---|---|---|
namerequired | string |
|
scoperequired | string |
|
scope_idoptional | string · uuid |
{
"type": "object",
"additionalProperties": false,
"required": [
"name",
"scope"
],
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"scope": {
"type": "string",
"enum": [
"user",
"agent",
"agent_template",
"organization"
]
},
"scope_id": {
"type": "string",
"format": "uuid"
}
}
}VaultHTTPDestinations
{
"type": "array",
"items": {
"type": "string"
},
"description": "Replace the complete HTTPS target policy. Empty disables HTTP substitution. No plaintext value is returned."
}VaultInputSave
| Field | Type | Description |
|---|---|---|
namerequired | string |
|
scoperequired | string |
|
scope_idoptional | string · uuid | |
replace_refoptional | string |
|
{
"type": "object",
"additionalProperties": false,
"required": [
"name",
"scope"
],
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"scope": {
"type": "string",
"enum": [
"user",
"agent",
"agent_template",
"organization"
]
},
"scope_id": {
"type": "string",
"format": "uuid"
},
"replace_ref": {
"type": "string",
"pattern": "^completion-vault:[0-9a-fA-F-]{36}$"
}
}
}VaultScope
VaultScopeRef
| Field | Type | Description |
|---|---|---|
organization_idoptional | string · uuid | |
organization_user_idoptional | string · uuid | |
agent_idoptional | string · uuid | |
agent_template_idoptional | string · uuid |
{
"type": "object",
"additionalProperties": false,
"minProperties": 1,
"maxProperties": 1,
"description": "Exactly one immutable scope owner. organization_user_id is the current Organization membership UUID. Scope selection grants no authority.",
"properties": {
"organization_id": {
"type": "string",
"format": "uuid"
},
"organization_user_id": {
"type": "string",
"format": "uuid"
},
"agent_id": {
"type": "string",
"format": "uuid"
},
"agent_template_id": {
"type": "string",
"format": "uuid"
}
}
}VaultSecret
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
namerequired | string | |
scope_refrequired | VaultScopeRef | |
consumer_constraintsrequired | VaultConsumerConstraints | |
http_targetsrequired | VaultHTTPDestinations | |
version_idrequired | string · nullable | |
created_atrequired | string · date-time | |
updated_atrequired | string · date-time | |
revoked_atrequired | string · date-time · nullable | |
can_managerequired | boolean | |
can_userequired | boolean |
{
"type": "object",
"additionalProperties": false,
"required": [
"id",
"name",
"scope_ref",
"consumer_constraints",
"http_targets",
"version_id",
"created_at",
"updated_at",
"revoked_at",
"can_manage",
"can_use"
],
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"scope_ref": {
"$ref": "#/components/schemas/VaultScopeRef"
},
"consumer_constraints": {
"$ref": "#/components/schemas/VaultConsumerConstraints"
},
"http_targets": {
"$ref": "#/components/schemas/VaultHTTPDestinations"
},
"version_id": {
"type": "string",
"nullable": true
},
"created_at": {
"type": "string",
"format": "date-time"
},
"updated_at": {
"type": "string",
"format": "date-time"
},
"revoked_at": {
"type": "string",
"format": "date-time",
"nullable": true
},
"can_manage": {
"type": "boolean"
},
"can_use": {
"type": "boolean"
}
}
}VaultSecretInput
| Field | Type | Description |
|---|---|---|
nameoptional | string |
|
valueoptional | string |
|
http_targetsoptional | VaultHTTPDestinations |
{
"type": "object",
"additionalProperties": false,
"minProperties": 1,
"description": "Set supplied name, write-only value or HTTP targets. Omitted fields retain their values. Scope and native consumer/destination are immutable. Rotation preserves existing bound versions.",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"value": {
"type": "string",
"maxLength": 65536,
"writeOnly": true
},
"http_targets": {
"$ref": "#/components/schemas/VaultHTTPDestinations"
}
}
}VaultSecretPage
| Field | Type | Description |
|---|---|---|
itemsrequired | array | |
next_cursorrequired | string · nullable | |
has_morerequired | boolean |
{
"type": "object",
"additionalProperties": false,
"required": [
"items",
"next_cursor",
"has_more"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/VaultSecret"
}
},
"next_cursor": {
"type": "string",
"nullable": true
},
"has_more": {
"type": "boolean"
}
}
}VaultSecretReference
| Field | Type | Description |
|---|---|---|
idrequired | string · uuid | |
version_idrequired | string |
|
{
"$ref": "#/components/schemas/ComputerCredentialReference"
}VerifyCodeInput
| Field | Type | Description |
|---|---|---|
emailrequired | string · email |
|
coderequired | string | Six decimal digits from the delivered email. Never log this value.
|
{
"type": "object",
"additionalProperties": false,
"required": [
"email",
"code"
],
"properties": {
"email": {
"type": "string",
"format": "email",
"maxLength": 254
},
"code": {
"type": "string",
"minLength": 6,
"maxLength": 6,
"writeOnly": true,
"description": "Six decimal digits from the delivered email. Never log this value."
}
}
}VoiceSettings
| Field | Type | Description |
|---|---|---|
modelrequired | string |
|
voicerequired | string |
|
instructionsrequired | string |
{
"type": "object",
"additionalProperties": false,
"properties": {
"model": {
"type": "string",
"minLength": 1
},
"voice": {
"type": "string",
"minLength": 1
},
"instructions": {
"type": "string"
}
},
"required": [
"model",
"voice",
"instructions"
]
}