API ReferenceTools
List tools
GET /api/v1/tools — list tools available to your organization, optionally filtered by status and category.
GET /api/v1/toolsReturn all tools belonging to your organization. Tools are referenced from agents (in agent.tools[]) by tool_uuid.
Query parameters
| Param | Type | Notes |
|---|---|---|
status | csv | One or more of active, archived, draft. Comma-separated. |
category | string | One of function, endCall, transferCall, calculator, query, native, integration (full ToolCategory enum). Filtered exactly — pass the value that matches definition.type for typed tools. |
Omit both to list active tools across all categories.
Response
200 OK with an array (no envelope — tool list is small):
[
{
"id": 12,
"tool_uuid": "abc12345-6789-0123-4567-89abcdef0123",
"name": "Lookup order status",
"description": "Fetches order status from internal API.",
"category": "function",
"icon": "package",
"icon_color": "#3B82F6",
"status": "active",
"definition": {
"schema_version": 1,
"type": "function",
"config": {
"method": "GET",
"url": "https://api.acme.com/orders/{orderId}",
"parameters": [
{ "name": "orderId", "type": "string", "description": "Order ID to look up", "required": true }
],
"timeout_ms": 5000
}
},
"created_at": "2026-05-12T10:00:00Z",
"updated_at": "2026-06-01T15:30:00Z"
}
]| Field | Notes |
|---|---|
id | Integer DB id. |
tool_uuid | UUID — reference this in agent.tools[]. |
definition | Shape depends on definition.type — see Tool types. |
Examples
curl "https://dashboard.zoxa.ai/api/v1/tools?status=active,draft&category=function" \
-H "X-API-Key: zsk_..."const params = new URLSearchParams({ status: "active", category: "function" });
const tools = await fetch(`https://dashboard.zoxa.ai/api/v1/tools?${params}`, {
headers: { "X-API-Key": "zsk_..." },
}).then((r) => r.json());import httpx
tools = httpx.get(
"https://dashboard.zoxa.ai/api/v1/tools",
headers={"X-API-Key": "zsk_..."},
params={"status": "active", "category": "function"},
).json()Errors
| Status | detail | When |
|---|---|---|
400 | "No organization selected for the user" | Auth missing org. |
400 | "Invalid status '...'. Must be one of: ..." | Unknown status value. |
400 | "Invalid category '...'. Must be one of: ..." | Unknown category. |
Related
POST /tools- Tool types — the 5 supported
definition.typevalues