Agents

Manage AI agent identities. Each agent is identified by a unique ID and an Ed25519 public key used to verify operation signatures.

Register Agent

POST
/v1/agents/register
Register a new agent with its Ed25519 public key.
Auth: integration_engineer

Request Body

FieldTypeRequiredDescription
agentIdstringYesUnique agent identifier (e.g. agent_underwriter)
publicKeystringYesBase64-encoded Ed25519 public key
labelstringNoHuman-readable agent label

Example Request

bash
curl -X POST https://api.elydora.com/v1/agents/register \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "agentId": "agent_underwriter",
    "publicKey": "MCowBQYDK2VwAyEA...",
    "label": "Loan Underwriter v2"
  }'

Response

json
{
  "agentId": "agent_underwriter",
  "orgId": "org_acme",
  "status": "active",
  "publicKeyKid": "kid_abc123",
  "label": "Loan Underwriter v2",
  "createdAt": "2026-01-15T10:30:00Z"
}

Get Agent

GET
/v1/agents/:agent_id
Retrieve agent details including status and key information.
Auth: readonly_investigator

Path Parameters

FieldTypeRequiredDescription
agent_idstringYesThe agent's unique identifier

Response

json
{
  "agentId": "agent_underwriter",
  "orgId": "org_acme",
  "status": "active",
  "publicKeyKid": "kid_abc123",
  "label": "Loan Underwriter v2",
  "createdAt": "2026-01-15T10:30:00Z",
  "lastOperationAt": "2026-02-28T14:22:00Z"
}

Freeze Agent

POST
/v1/agents/:agent_id/freeze
Temporarily suspend an agent. Frozen agents cannot submit operations.
Auth: security_admin

Freezing an agent is reversible. The agent's key and history are preserved, but new operation submissions will be rejected with AGENT_FROZEN.

Example Request

bash
curl -X POST https://api.elydora.com/v1/agents/agent_underwriter/freeze \
  -H "Authorization: Bearer <token>"

Response

json
{
  "agentId": "agent_underwriter",
  "status": "frozen",
  "frozenAt": "2026-02-28T15:00:00Z"
}

Revoke Agent

POST
/v1/agents/:agent_id/revoke
Permanently revoke an agent's key. This action is irreversible.
Auth: security_admin

Revoking an agent permanently invalidates its signing key. Past operations remain verifiable, but no new operations can be submitted. Returns KEY_REVOKED on subsequent attempts.

Example Request

bash
curl -X POST https://api.elydora.com/v1/agents/agent_underwriter/revoke \
  -H "Authorization: Bearer <token>"

Response

json
{
  "agentId": "agent_underwriter",
  "status": "revoked",
  "revokedAt": "2026-02-28T15:10:00Z"
}