Delete an agent tool

View as Markdown
Removes a tool from the agent. The row is soft-deleted (it disappears from every read and its name becomes available again) and the agent's remaining tools are pushed to the voice provider, so the model can no longer call it from the next conversation on. Conversations already in progress keep the configuration they started with. **Side effects.** Updates the agent in the voice engine. If that push fails, the tool is restored and the request answers 500. If a workflow phase references the tool through `toolIds`, update the workflow too (`PUT /api/agents/{agentId}/workflow`). The mutation is written to the audit log. **Idempotency.** Safe to retry: a repeat on an already deleted tool answers `404 TOOL_NOT_FOUND`. **Webhook events.** `audit.log_recorded` for endpoints subscribed to it. See [Webhooks](/webhooks). **Access** - **Required scope:** `write`. - **Rate limit:** Configuration mutations — 10 requests/min per workspace, shared with other agent configuration writes, in addition to the General API limit. See [Rate limits](/rate-limits). - **Plan:** Available on every plan.

Authentication

AuthorizationBearer
Workspace API key: `jl_` followed by 64 lowercase hex characters, created by the workspace owner in the dashboard (**Settings → API Keys**) and sent as `Authorization: Bearer jl_...`. The plaintext is shown once, at creation; Jelliu stores only a SHA-256 hash. A workspace can hold up to 25 active keys. | Scope | GET / HEAD | POST / PUT / PATCH / DELETE | Admin-only routes | | --- | --- | --- | --- | | `read` | Yes | No | No | | `write` | Yes | Yes | No | | `full` | Yes | Yes | Yes | Operations restricted to admins or owners reject keys without the `full` scope with `403`, and say so in their description. No key, whatever its scope, can mint or revoke API keys or rotate a webhook secret — that requires a signed-in owner session. A revoked key stops authenticating within about 10 seconds. See [Authentication](/authentication).

Path parameters

agentIdstringRequiredformat: "uuid"
UUID of the agent that owns the tool.
toolIdstringRequiredformat: "uuid"
UUID of the tool to delete.

Response

Deleted. No body.

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
429
Too Many Requests Error
500
Internal Server Error