---
search:
  tags:
    - Agent
    - POST
seo:
  description: >-
    Idempotent registration of the verified AgentID agent against its human…
    Reference for the POST /v1/agents/register endpoint in the agentsub Gateway
    API.
sidebar:
  label: Register the authenticated agent
  badge: POST
title: Register the authenticated agent
type: openapi-operation
---
Idempotent registration of the verified AgentID agent against its human owner; returns the agent record and balance. Accepts an arbitrary JSON body.

`POST /v1/agents/register`

**Responses**

- `200` — Agent registered
- `401` — \`unauthorized\` problem; live 401s advertise \`WWW-Authenticate: Bearer resource\_metadata=...\`
- `403` — Identity, ownership, scope or policy denied (\`human\_required\`, \`owner\_claim\_required\`, \`scope\_required\`, \`FROZEN\`, \`CAP\_EXCEEDED\`, \`SCOPE\_FORBIDDEN\`)
- `503` — Runtime or provider configuration unavailable (\`runtime\_configuration\_required\`, \`signing\_configuration\_required\`, \`runtime\_unavailable\`, \`workspace\_unavailable\`, \`provider\_configuration\_required\`)

Response example, 200:

```json
{
  "agent": {
    "id": "string",
    "ownerId": "string",
    "name": "string",
    "status": "active",
    "caps": {
      "perTxMaxUc": "string",
      "dailyMaxUc": "string",
      "monthlyMaxUc": "string",
      "allowedAcceptors": [
        "string"
      ],
      "allowedCategories": [
        "string"
      ]
    },
    "profile": {
      "name": "string",
      "preset": "letter",
      "color": "string"
    }
  },
  "balance": {
    "availableUc": "string",
    "heldUc": "string",
    "spentUc": "string",
    "lots": [
      {}
    ]
  }
}
```
