Subako Public API
The public HTTP interface to Subako.
Every request carries a bearer credential, and the organization it acts in is the credential’s – no path names one. Work resources belong to a workspace, named by the Kikuvi-Workspace header where a user credential cannot imply one.
Listings are cursor paged: pass the next_cursor a page returns back as after, and order decides which way the walk continues. Writes that create something accept an Idempotency-Key, and a retry under the same key returns the saved receipt rather than acting twice.
https://api.us.cloud.subako.aiagents
The named lines a session runs, and the immutable versions that carry their config.
- GETList agents
/v1/agents - POSTCreate an agent
/v1/agents - GETGet an agent
/v1/agents/{agent_id} - DELETEDelete an agent
/v1/agents/{agent_id} - PATCHRename an agent
/v1/agents/{agent_id} - GETGet an agent's security document
/v1/agents/{agent_id}/security - PUTReplace an agent's security document
/v1/agents/{agent_id}/security - GETList an agent's versions
/v1/agents/{agent_id}/versions - POSTPublish an agent version
/v1/agents/{agent_id}/versions
api-keys
Long-lived credentials for a backend, scoped to one workspace and the permissions they were minted with.
- GETList API keys
/v1/api-keys - POSTMint an API key
/v1/api-keys - DELETERevoke an API key
/v1/api-keys/{api_key_id}
me
Who the presented credential belongs to.
model-providers
Where model calls are sent: a platform provider Subako publishes, or one bound to your own key.
- GETList model providers
/v1/model-providers - POSTCreate a model provider
/v1/model-providers - GETGet a model provider
/v1/model-providers/{model_provider_id} - DELETEDelete a model provider
/v1/model-providers/{model_provider_id} - PATCHUpdate a model provider
/v1/model-providers/{model_provider_id}
organization
The tenant a credential acts in: its members, its invitations, and what it has spent.
- GETGet the organization
/v1/organization - PATCHRename the organization
/v1/organization - GETGet the credit balance
/v1/organization/credits - GETList invitations
/v1/organization/invitations - POSTInvite a user
/v1/organization/invitations - DELETERevoke an invitation
/v1/organization/invitations/{invitation_id} - GETList organization members
/v1/organization/members - PUTChange a member's role
/v1/organization/members/{user_id} - DELETERemove a member
/v1/organization/members/{user_id} - GETList organization usage
/v1/organization/usage
sessions
One agent version running against one event log: its input, its transcript, its sandboxes, and its tokens.
- GETList sessions
/v1/sessions - POSTCreate a session
/v1/sessions - GETGet a session
/v1/sessions/{session_id} - DELETEDelete a session
/v1/sessions/{session_id} - POSTResolve an approval
/v1/sessions/{session_id}/approvals/{call_id} - POSTCancel the active run
/v1/sessions/{session_id}/cancel - GETList session events
/v1/sessions/{session_id}/events - POSTSend input to a session
/v1/sessions/{session_id}/events - GETStream session events
/v1/sessions/{session_id}/events/stream - GETList a session's sandboxes
/v1/sessions/{session_id}/sandboxes - GETGet a sandbox archive download
/v1/sessions/{session_id}/sandboxes/{name}/archive - DELETEDelete a sandbox archive
/v1/sessions/{session_id}/sandboxes/{name}/archive - POSTMint a session token
/v1/sessions/{session_id}/tokens
clients
A client offers tools of its own to a session’s agent, and answers the calls the model makes to them.
- POSTRegister a client
/v1/sessions/{session_id}/clients - DELETEUnregister a client
/v1/sessions/{session_id}/clients/{client_id} - POSTAcknowledge a tool call
/v1/sessions/{session_id}/clients/{client_id}/calls/{call_id}/ack - POSTAnswer a tool call
/v1/sessions/{session_id}/clients/{client_id}/calls/{call_id}/result - POSTKeep a client registration alive
/v1/sessions/{session_id}/clients/{client_id}/ping - PUTReplace a client's tools
/v1/sessions/{session_id}/clients/{client_id}/tools
skills
Versioned bundles an agent may be granted.
- GETList skills
/v1/skills - POSTCreate a skill
/v1/skills - GETGet a skill
/v1/skills/{skill_id} - DELETEDelete a skill
/v1/skills/{skill_id} - PATCHRename a skill
/v1/skills/{skill_id} - GETList a skill's versions
/v1/skills/{skill_id}/versions - POSTPush a skill version
/v1/skills/{skill_id}/versions
vaults
Credentials an agent presents to the services it reaches. A payload goes in and never comes back out.
- GETList vaults
/v1/vaults - POSTCreate a vault
/v1/vaults - GETGet a vault
/v1/vaults/{vault_id} - DELETEDelete a vault
/v1/vaults/{vault_id} - PATCHUpdate a vault
/v1/vaults/{vault_id} - GETList credentials
/v1/vaults/{vault_id}/credentials - POSTAdd a credential
/v1/vaults/{vault_id}/credentials - DELETEDelete a credential
/v1/vaults/{vault_id}/credentials/{credential_id}
workspaces
The scope every work resource belongs to, and who may reach it.
- GETList workspaces
/v1/workspaces - POSTCreate a workspace
/v1/workspaces - GETGet a workspace
/v1/workspaces/{workspace_id} - DELETEDelete a workspace
/v1/workspaces/{workspace_id} - PATCHRename a workspace
/v1/workspaces/{workspace_id} - GETList workspace members
/v1/workspaces/{workspace_id}/members - POSTAdd a workspace member
/v1/workspaces/{workspace_id}/members - PUTChange a workspace member's role
/v1/workspaces/{workspace_id}/members/{user_id} - DELETERemove a workspace member
/v1/workspaces/{workspace_id}/members/{user_id} - GETList workspace usage
/v1/workspaces/{workspace_id}/usage