Delete an agent passport
Deprovisions an agent passport, addressed by id (uuid) or portable agentId (agt_...).
Deprovisions an agent passport, addressed by id (uuid) or portable agentId (agt_...). Nothing cascades: every reference to the passport — bound API keys, inboxes, sent messages, and audit entries — is retained with its agent attribution cleared to null, so historical sends stay intact but are no longer linked to the agent. Messages the agent already sent keep their signed provenance headers, but a later verify of those messages resolves unknown_agent once the attribution is gone. Returns a confirmation body { "object": "agent", "id", "agentId", "deleted": true } with HTTP 200. Requires the agents:write scope (a key restricted to specific inboxes cannot delete passports: 403), returns 404 when no in-scope passport matches, and records an agent.deleted entry in your audit log.
Scope: agents:write. Send the API key as a bearer token; Scopes lists what each one reaches.
Request
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | yes | Agent UUID or portable agentId (agt_...). |
Response
200 Success. Body: application/json, object.
| Field | Type | Required | Description |
|---|---|---|---|
object | "agent" | no | |
id | string | no | |
agentId | string | no | |
deleted | boolean | no |
Errors
Every error has the same body, {"error": {"type", "code", "message", "param"}}; branch on code. Errors lists every code.
| Status | Meaning |
|---|---|
400 | The request is malformed or a value is invalid (invalid_request, invalid_domain, idempotency_key_mismatch). |
401 | The API key is missing or invalid. |
403 | The key lacks the scope this endpoint needs (scope_missing) or may not do this (not_permitted). |
404 | No such resource in this account (resource_not_found). |
422 | The request is well-formed but a field failed validation (validation_failed). |
429 | Rate limit, plan limit, budget or spend cap reached (rate_limited, plan_limit_reached, budget_exceeded, spend_cap_reached). |
500 | An unexpected error; retry with backoff, then contact support (internal_error). |
Get an agent passport
Fetches one agent passport by either its id (uuid) or its portable agentId (agt_...); Dairo selects the lookup column from the agt_ prefix.
Bind an API key or inbox to an agent
Attaches an API key and/or an inbox you own to this passport, so every message that key authenticates — or that is sent from that inbox — is attributed to the agent and carries a signed X-Dairo-Provenance header recipients can verify.