Skip to main content

Intents API

An intent is a signed, structured request to execute a named action on one or more agents. The control plane signs the intent with its VaultysId before routing it — agents verify this signature before executing.

Send an intent

POST /api/intents

Auth: Required. Non-admin users must have a capability grant for the action.

Returns 202 Accepted immediately. The intent is routed to the target agent(s) asynchronously.

Request body

{
"agentId": "did:vaultys:z6Mkf9x3TQ...",
"action": "summarise_document",
"params": {
"url": "https://internal.acme.com/reports/q1-2026.pdf",
"format": "bullet_points",
"maxWords": 300
}
}
FieldTypeRequiredDescription
agentIdstringNoTarget agent DID. Omit to broadcast.
actionstringYesThe action name to execute
paramsobjectYesAction-specific parameters
broadcastCapabilitystringNoWhen broadcasting (no agentId), only send to agents that have this capability

Broadcast to all capable agents

Omit agentId to broadcast to all connected agents:

{
"action": "health_check",
"params": {}
}

Or broadcast only to agents with a specific capability:

{
"broadcastCapability": "internet_access",
"action": "fetch_news",
"params": { "topic": "AI regulation" }
}

Response 202 Accepted

{
"intentId": "int_01HZABC...",
"action": "summarise_document",
"sentTo": ["did:vaultys:z6Mkf9x3TQ..."],
"count": 1
}
FieldDescription
intentIdUnique ID for this intent (used for replay prevention)
sentToArray of agent DIDs that received the intent
countNumber of agents the intent was sent to

Error: no capable agents online

{
"error": "No agents available",
"message": "No connected agents match the requested capability"
}

Error: insufficient permissions

{
"error": "Forbidden",
"message": "You do not have a capability grant for 'code_execution' on this agent"
}

List intents

GET /api/intents

Auth: Required.

Coming soon

Full intent history with results is currently in development. This endpoint returns a placeholder response.

{
"intents": [],
"message": "Intent history coming soon"
}

Action naming conventions

Actions are arbitrary strings — VaultysClaw does not enforce a naming scheme. By convention, use snake_case verbs:

Example actionDescription
echoBuilt-in test action; returns params as output
chat_completionAsk the agent's LLM a question
summarise_documentSummarise a document at a URL
send_emailSend an email (requires mail_send capability)
run_codeExecute a code snippet (requires code_execution)
fetch_urlFetch and return HTTP response (requires internet_access)
search_webWeb search (requires internet_access)
read_fileRead a local file (requires file_access)
write_fileWrite a local file (requires file_access)

Custom agents can define any action name. The CAPABILITY_MAP in the agent controller maps action names to the required capability.