List agent passports
Returns every agent passport in the active organization, newest first (ordered by creation time).
Returns every agent passport in the active organization, newest first (ordered by creation time). The response is a single unpaginated { "agents": [...] } array — there is no cursor and no limit, so one call returns the full set. Each item carries the passport's id (uuid), portable agentId (agt_...), display, description, status (active, suspended, or revoked), createdAt, and updatedAt. Requires the agents:read scope, and results are project-scoped — a key bound to one organization sees only that organization's passports.
Scope: agents:read. Send the API key as a bearer token; Scopes lists what each one reaches.
Request
Response
200 Success. Body: application/json, AgentListResponse.
| Field | Type | Required | Description |
|---|---|---|---|
object | "list" | yes | |
data | array of AgentPassport | yes | |
pagination | Pagination | yes |
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 erasure job + its signed deletion certificate
Returns one erasure job by id, including its kind, status (pending → running → completed or failed), timestamps, and a deleted tally of how many messages, threads, and attachments were destroyed.
Create an agent passport
Mints a durable agent passport with a freshly generated agentId — the literal prefix agt_ followed by 26 lowercase base32 characters — that stays stable for the passport's lifetime and appears in the provenance header of every message the agent signs.