Skip to content

List tool calls for an execution

GET
/api/tool-calls

Returns all MCP tool calls made during a specific agent execution, ordered chronologically. Each tool call shows what tool was invoked, what arguments were passed, what result was returned, and how long it took. Use this for debugging agent behavior and auditing MCP server interactions.

executionId
required
string format: uuid

The agent execution to list tool calls for.

Tool calls made during the execution.

List of tool calls made during a specific agent execution, ordered chronologically.

Array<object>

A record of a single MCP tool call made by an agent during execution. Tool calls show exactly what data the agent retrieved or what action it took on an external system.

object
id
required

Unique identifier for this tool call.

string format: uuid
Example
tc1a2b3c-5678-9abc-def0-1234567890ab
executionId
required

The agent execution this tool call belongs to.

string format: uuid
Example
ex1a2b3c-5678-9abc-def0-1234567890ab
toolName
required

Name of the MCP tool that was called.

string
Example
get_shipment_status
input

The arguments passed to the tool. Structure varies by tool.

Example
{
"order_id": "4521"
}
output

The result returned by the tool. Structure varies by tool.

Example
{
"status": "in_transit",
"tracking_number": "TRK-10123456784",
"estimated_delivery": "2026-03-27"
}
status
required

Outcome of the tool call. ‘success’ means the tool returned a result. ‘error’ means the tool returned an error. ‘timeout’ means the tool did not respond in time.

string
Example
success
durationMs

How long the tool call took in milliseconds.

integer | null
Example
245
createdAt
required

Timestamp when the tool call was initiated.

string format: date-time
Example
2026-03-25T11:42:06.000Z

The executionId query parameter is missing.

Standard error response returned by all endpoints on failure.

object
error
required

A human-readable error message describing what went wrong.

string
Example
Conversation not found
code

A machine-readable reason on some refusals, for example ‘key_lock’ when an API key’s brand or workspace restriction does not cover the action.

string
Example
key_lock
missing_scopes

On a 403 for an API key without a scope the endpoint requires: the scopes the key lacks.

Array<string>
Example
[
"mcp:write"
]
entryId

On a 409 with code duplicate_question or duplicate_rule_text: the knowledge base entry or policy that already holds the question or rule text.

string format: uuid
Example
11223344-5566-4788-99aa-bbccddeeff00
connectionId

On a 422 about one MCP connection a request names, from an assignment or an agent create or update (a connection that does not exist, one listed twice, or one that does not declare a tool named): the connection, as the request named it.

string
undeclaredTools

On the same 422: the tool names the connection does not declare.

Array<string>
Example
[
"get_orders"
]
declaredTools

On the same 422: the tools the connection declares.

Array<string>
Example
[
"get_order",
"search_orders"
]

An API key restricted to a brand or workspace receives code: "key_lock" for this request, before anything is read.

Standard error response returned by all endpoints on failure.

object
error
required

A human-readable error message describing what went wrong.

string
Example
Conversation not found
code

A machine-readable reason on some refusals, for example ‘key_lock’ when an API key’s brand or workspace restriction does not cover the action.

string
Example
key_lock
missing_scopes

On a 403 for an API key without a scope the endpoint requires: the scopes the key lacks.

Array<string>
Example
[
"mcp:write"
]
entryId

On a 409 with code duplicate_question or duplicate_rule_text: the knowledge base entry or policy that already holds the question or rule text.

string format: uuid
Example
11223344-5566-4788-99aa-bbccddeeff00
connectionId

On a 422 about one MCP connection a request names, from an assignment or an agent create or update (a connection that does not exist, one listed twice, or one that does not declare a tool named): the connection, as the request named it.

string
undeclaredTools

On the same 422: the tool names the connection does not declare.

Array<string>
Example
[
"get_orders"
]
declaredTools

On the same 422: the tools the connection declares.

Array<string>
Example
[
"get_order",
"search_orders"
]