Agent identity management endpoints. Agents are non-human identities within an Issuer, used for automated processes, bots, and machine-to-machine communication. Each agent can have wallet (CAIP-2) or secret verifiers for authentication.
Base URL: https://api.authpi.com — see the Core API overview for
authentication, pagination, and idempotency, or try these endpoints in the
interactive reference.
GET/v1/accounts/{account_id}/issuers/{issuer_id}/agentsList Agents
Lists all agents for an issuer with cursor-based pagination.
Agents are non-human identities within an issuer, used for automated processes, bots, and machine-to-machine communication. Each agent can have wallet or secret verifiers for authentication.
Filtering:
status - Filter by agent status (active, suspended, blocked)model - Filter by model name (exact match)provider - Filter by provider name (exact match)has_verifiers - Filter by whether the agent has any verifiers configuredlimit - Number of results per page (1-100, default 50)cursor - Cursor from previous response for next pageEach agent in the response includes a verifiers array listing which verifier types are configured (e.g. ["wallet", "secret"]).
| Name | Type | Required | Description |
|---|---|---|---|
account_id | string | Required | The unique identifier of the account |
issuer_id | string | Required | The unique identifier of the issuer |
| Name | Type | Required | Description |
|---|---|---|---|
limit | integer | Optional | Maximum number of items to return (1-100, default: 50) |
cursor | string | Optional | Pagination cursor from a previous response |
status | active | suspended | blocked | Optional | Filter by agent status |
model | string | Optional | Filter by model name (exact match) |
provider | string | Optional | Filter by provider name (exact match) |
has_verifiers | true | false | Optional | Filter by whether the agent has any verifiers configured |
| Code | Description | Schema |
|---|---|---|
| 200 | Agents retrieved successfully | object |
| 401 | Unauthorized - Authentication is required or has failed. | ApiError |
| 403 | Forbidden - You don't have permission to perform this action. | ApiError |
POST/v1/accounts/{account_id}/issuers/{issuer_id}/agentsCreate Agent
Creates a new agent identity under an issuer.
Agents are non-human identities used for automated processes, bots, and machine-to-machine communication. After creation, add verifiers (wallet or secret) to enable authentication.
Agent fields:
name (required) - Human-readable name for the agentdescription - What the agent doesmodel - AI model identifier (e.g., "gpt-4", "claude-3")provider - Model provider (e.g., "openai", "anthropic")version - Agent version stringmetadata - Arbitrary key-value metadata| Name | Type | Required | Description |
|---|---|---|---|
account_id | string | Required | The unique identifier of the account |
issuer_id | string | Required | The unique identifier of the issuer |
Content type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
name | string | Required | A name for the resource. |
description | string | null | Optional | A description for the resource. Markdown supported. |
model | string | null | Optional | |
provider | string | null | Optional | |
version | string | null | Optional | |
scopes | string[] | Optional | |
metadata | Metadata | Optional |
| Code | Description | Schema |
|---|---|---|
| 201 | Agent created successfully | object |
| 400 | Bad Request - The request is malformed or contains invalid data. | ApiError |
| 401 | Unauthorized - Authentication is required or has failed. | ApiError |
| 403 | Forbidden - You don't have permission to perform this action. | ApiError |
GET/v1/accounts/{account_id}/issuers/{issuer_id}/agents/{agent_id}Get Agent
Retrieves a single agent by ID.
Returns the agent's profile, status, and metadata. Use the agent verifiers endpoints to manage authentication credentials.
| Name | Type | Required | Description |
|---|---|---|---|
account_id | string | Required | The unique identifier of the account |
issuer_id | string | Required | The unique identifier of the issuer |
agent_id | string | Required | The unique identifier of the agent |
| Code | Description | Schema |
|---|---|---|
| 200 | Agent retrieved successfully | object |
| 401 | Unauthorized - Authentication is required or has failed. | ApiError |
| 403 | Forbidden - You don't have permission to perform this action. | ApiError |
| 404 | Not Found - The requested resource does not exist. | ApiError |
PATCH/v1/accounts/{account_id}/issuers/{issuer_id}/agents/{agent_id}Update Agent
Updates an existing agent's profile or status.
All fields are optional — only provided fields are updated. You can update the agent's name, description, model info, metadata, or status.
Status transitions:
active → suspended (requires status_reason)active → blocked (requires status_reason)suspended → activeSuspended or blocked agents cannot authenticate or have verifiers modified.
| Name | Type | Required | Description |
|---|---|---|---|
account_id | string | Required | The unique identifier of the account |
issuer_id | string | Required | The unique identifier of the issuer |
agent_id | string | Required | The unique identifier of the agent |
Content type: application/json
| Property | Type | Required | Description |
|---|---|---|---|
name | string | Optional | A name for the resource. |
description | string | null | Optional | A description for the resource. Markdown supported. |
model | string | null | Optional | |
provider | string | null | Optional | |
version | string | null | Optional | |
status | active | suspended | blocked | Optional | |
status_reason | string | null | Optional | |
scopes | string[] | Optional | |
metadata | Metadata | Optional |
| Code | Description | Schema |
|---|---|---|
| 200 | Agent updated successfully | object |
| 400 | Bad Request - The request is malformed or contains invalid data. | ApiError |
| 401 | Unauthorized - Authentication is required or has failed. | ApiError |
| 403 | Forbidden - You don't have permission to perform this action. | ApiError |
| 404 | Not Found - The requested resource does not exist. | ApiError |
| 412 | Precondition Failed - The resource has been modified since the provided ETag. | PreconditionFailedError |
DELETE/v1/accounts/{account_id}/issuers/{issuer_id}/agents/{agent_id}Delete Agent
Permanently deletes an agent and all its verifiers.
This action is irreversible. All associated data is removed:
Before deleting:
| Name | Type | Required | Description |
|---|---|---|---|
account_id | string | Required | The unique identifier of the account |
issuer_id | string | Required | The unique identifier of the issuer |
agent_id | string | Required | The unique identifier of the agent |
| Code | Description | Schema |
|---|---|---|
| 204 | No Content - The operation completed successfully with no response body. | — |
| 401 | Unauthorized - Authentication is required or has failed. | ApiError |
| 403 | Forbidden - You don't have permission to perform this action. | ApiError |
| 404 | Not Found - The requested resource does not exist. | ApiError |
| 412 | Precondition Failed - The resource has been modified since the provided ETag. | PreconditionFailedError |
GET/v1/accounts/{account_id}/issuers/{issuer_id}/agents/{agent_id}/verifiersList Agent Verifiers
Lists all verifiers attached to an agent.
Returns wallet and secret verifiers. For secret verifiers, only the algorithm is shown — the hash is never exposed.
| Name | Type | Required | Description |
|---|---|---|---|
account_id | string | Required | The unique identifier of the account |
issuer_id | string | Required | The unique identifier of the issuer |
agent_id | string | Required | The unique identifier of the agent |
| Code | Description | Schema |
|---|---|---|
| 200 | Verifiers retrieved successfully | object |
| 401 | Unauthorized - Authentication is required or has failed. | ApiError |
| 403 | Forbidden - You don't have permission to perform this action. | ApiError |
| 404 | Not Found - The requested resource does not exist. | ApiError |
POST/v1/accounts/{account_id}/issuers/{issuer_id}/agents/{agent_id}/verifiersAdd Agent Verifier
Adds an authentication verifier to an agent.
Verifier types:
wallet - Links a blockchain wallet address (CAIP-2 format) for x402 payment authentication. Requires address and network fields. A KV reverse lookup is created for wallet-to-agent resolution.
secret - Generates a high-entropy client secret for Client Credentials authentication. The plaintext secret is returned once in the response — store it securely. The secret is SHA-256 hashed before storage and cannot be retrieved again.
Limits: Maximum 20 verifiers per agent.
| Name | Type | Required | Description |
|---|---|---|---|
account_id | string | Required | The unique identifier of the account |
issuer_id | string | Required | The unique identifier of the issuer |
agent_id | string | Required | The unique identifier of the agent |
Content type: application/json
One of the following variants:
| Property | Type | Required | Description |
|---|---|---|---|
type | wallet | Required | |
name | string | null | Required | A name for the resource. |
address | string | Required | |
network | string | Required |
| Property | Type | Required | Description |
|---|---|---|---|
type | secret | Required | |
name | string | null | Required | A name for the resource. |
| Code | Description | Schema |
|---|---|---|
| 201 | Verifier added successfully | object |
| 400 | Bad Request - The request is malformed or contains invalid data. | ApiError |
| 401 | Unauthorized - Authentication is required or has failed. | ApiError |
| 403 | Forbidden - You don't have permission to perform this action. | ApiError |
| 404 | Not Found - The requested resource does not exist. | ApiError |
DELETE/v1/accounts/{account_id}/issuers/{issuer_id}/agents/{agent_id}/verifiers/{verifier_id}Remove Agent Verifier
Removes an authentication verifier from an agent.
For wallet verifiers, the KV reverse lookup entry is also cleaned up. For secret verifiers, the stored hash is deleted.
This action is immediate and irreversible.
| Name | Type | Required | Description |
|---|---|---|---|
account_id | string | Required | The unique identifier of the account |
issuer_id | string | Required | The unique identifier of the issuer |
agent_id | string | Required | The unique identifier of the agent |
verifier_id | string | Required | The unique identifier of the verifier |
| Code | Description | Schema |
|---|---|---|
| 204 | No Content - The operation completed successfully with no response body. | — |
| 401 | Unauthorized - Authentication is required or has failed. | ApiError |
| 403 | Forbidden - You don't have permission to perform this action. | ApiError |
| 404 | Not Found - The requested resource does not exist. | ApiError |