Tools
Execute Tool
Execute a specific tool directly
POST
Execute Tool
Run a tool outside of an agent execution loop. Direct runs enforce the same tenant authorization, tool assignment, permissions, and approval gates as agent-initiated tool calls.
Raw REST requests must pass both
With
Path Parameters
| Parameter | Type | Description |
|---|---|---|
agent_id | string | The agent that owns the tool |
tool_id | string | The tool’s persisted ID or name |
Request Body
Send aToolCallRequest envelope. Tool-specific inputs go under arguments.
| Field | Type | Required | Description |
|---|---|---|---|
arguments | object | yes | Arguments matching the tool’s parameter schema |
conversation_id | string | yes | Conversation ID used for execution context |
message_id | string | yes | Message ID used for execution context |
idempotency_key | string | no | Stable key used to reject duplicate in-flight direct executions |
stream | boolean | no | When true, return SSE events; when false, return collected JSON events |
conversation_id and message_id. SDK helpers mint them when omitted, but production integrations should pass stable IDs. For side-effecting tools, pass an idempotency_key so duplicate submissions while the first request is still running return 409 instead of starting a second execution.
Response
Withstream: true, the endpoint returns text/event-stream:
stream: false, the endpoint returns the same event payloads in JSON:
Execute Tool

