curl https://api.60db.ai/agents/AGENT_ID/tool-events \
-H "Authorization: Bearer your-api-key"
const { events } = await client.agents.toolEvents(agentId);
events = client.agents.tool_events(agent_id)["events"]
Agents
List Tool Events
The last 50 tool calls an agent made during its calls
GET
/
agents
/
{agentId}
/
tool-events
curl https://api.60db.ai/agents/AGENT_ID/tool-events \
-H "Authorization: Bearer your-api-key"
const { events } = await client.agents.toolEvents(agentId);
events = client.agents.tool_events(agent_id)["events"]
List the most recent tool calls made by an agent, newest first. This is the same log as the Tool log in the dashboard. It keeps the last 50 entries, and logs older than 30 days are deleted.
Arguments and replies are stored with a size limit. A value over 8 KB is replaced by a short preview.
Request
Headers
string
required
Bearer token with your API key (scope
agents)Path
string
required
The agent
id (UUID)Response
200 OK{
"success": true,
"data": {
"events": [
{
"id": 418,
"call_id": "6b1f0c52-4d7e-4b8a-9d3e-2a1c8e7f0a11",
"tool": "book_table",
"arguments": { "date": "2026-11-05", "time": "19:30", "guests": 4 },
"result": { "booked": true, "reference": "BK-8f21c0" },
"status_code": 200,
"latency_ms": 840,
"error": null,
"created_at": "2026-11-03T10:16:52.000Z"
}
]
}
}
| Field | Meaning |
|---|---|
call_id | The call the tool was called on. null if the call is no longer linked |
status_code | Your endpoint’s HTTP status. null if it was not reached |
latency_ms | Time from receiving the agent’s request to replying |
error | null on success. Otherwise a short description, such as http_500, not_json or a timeout message |
Errors
| Status | Code | Meaning |
|---|---|---|
| 404 | AGENT_NOT_FOUND | No agent with this ID in your workspace |
Example
curl https://api.60db.ai/agents/AGENT_ID/tool-events \
-H "Authorization: Bearer your-api-key"
const { events } = await client.agents.toolEvents(agentId);
events = client.agents.tool_events(agent_id)["events"]