Tools
Link a tool to an agent so the agent can call that tool during conversations. The relationship is many-to-many: a tool can be linked to many agents and an agent can have many tools. The response returns a link record whose id is the link_id — keep it, since it is how you later remove the link via DELETE /api/ext/tool/unlink/{link_id}. Authenticated with your API key.
curl --request POST \
--url 'https://api.nabrah.ai/api/ext/tool/link' \
--header 'X-API-Key: <your-api-key>' \
--header 'Content-Type: application/json' \
--data '{
"tool_id": "00000000-0000-4000-8000-000000000000",
"agent_id": "00000000-0000-4000-8000-000000000000"
}'{
"id": "00000000-0000-4000-8000-000000000000",
"tool_id": "00000000-0000-4000-8000-000000000000",
"agent_id": "00000000-0000-4000-8000-000000000000",
"project_id": "00000000-0000-4000-8000-000000000000",
"created_at": "2026-01-15T12:00:00.000Z",
"updated_at": "2026-01-15T12:00:00.000Z"
}tool_id is the tool to attach (from GET /api/ext/tool or the create-tool response). agent_id is the agent to attach it to (from GET /api/ext/agent). Both must belong to the project the API key is scoped to.
tool_idagent_idTypical lifecycle for making a tool callable by an agent.
1) Create a tool with POST /api/ext/tool (or pick one from GET /api/ext/tool). 2) Create or choose an agent with GET /api/ext/agent. 3) Link them here — the response id is the link_id. 4) Later, detach with DELETE /api/ext/tool/unlink/{link_id}.
id is the link_id used to unlink. tool_id and agent_id echo the linked pair, project_id is the owning project, and created_at / updated_at are the link timestamps.
idtool_idagent_idproject_idcreated_atupdated_atX-API-KeystringheaderrequiredYour workspace API key. Create one in the dashboard under API keys.
{
"tool_id": "00000000-0000-4000-8000-000000000000",
"agent_id": "00000000-0000-4000-8000-000000000000"
}Successful Response
application/json
Validation Error
application/json