Agent Registration

Register Endpoint

Changed on

Register a new agent client (RFC 7591).

post/register

Request

  • Base URL: / (relative, and the document was published on a file host, not at the API’s origin)
  • URL: /register
  • Auth: none required

Request body

client_namestring required

Name for the new agent.

grant_typesstring[] nullable

Accepted for RFC 7591 compatibility and ignored; the agent uses the JWT-bearer grant.

jwksobject required

A JSON Web Key Set containing at least one Ed25519 public key (kty=OKP, crv=Ed25519). RSA and other key types are not accepted.

scopestring nullable

Space-separated permissions requested for the agent (at most 100 tokens).

token_endpoint_auth_methodstring nullable

Accepted for RFC 7591 compatibility and ignored; the agent uses private_key_jwt.

Example request

{
  "client_name": "invoice-reconciler",
  "grant_types": [
    "urn:ietf:params:oauth:grant-type:jwt-bearer"
  ],
  "jwks": {
    "keys": [
      {
        "crv": "Ed25519",
        "kid": "agent-key-1",
        "kty": "OKP",
        "x": "11qYAYKxCrfVS_7TyWQHOg7hcvPapiMlrwIaaPcHURo"
      }
    ]
  },
  "scope": "apis:read capabilities:execute",
  "token_endpoint_auth_method": "private_key_jwt"
}

Response

Successful Response

claim_tokenstring nullable

Single-use token a human presents to POST /agents/{agent_id}:claim to take ownership; omitted when the deployment does not issue claim tokens.

client_idstring required

ID of the new agent, used as its OAuth client_id.

grant_typesstring[]

Grant types the agent may use; always the JWT-bearer grant.

registration_access_tokenstring required

Bearer token for polling registration_client_uri; shown once and expires after a configured time.

registration_client_uristring required

URL to poll for the registration status.

statusstring required

Lifecycle status of the new agent; pending until an operator approves it.

token_endpoint_auth_methodstring

How the agent authenticates at the token endpoint; always private_key_jwt.

Example response

{
  "claim_token": "dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk",
  "client_id": "agnt_6968b3984d1c238dbe7e2e29",
  "grant_types": [
    "urn:ietf:params:oauth:grant-type:jwt-bearer"
  ],
  "registration_access_token": "rat_example-secret",
  "registration_client_uri": "https://jentic.example.com/register/agnt_6968b3984d1c238dbe7e2e29",
  "status": "pending",
  "token_endpoint_auth_method": "private_key_jwt"
}

Changes

    • info

      added the optional property to the response with the status

    • breaking

      the request property's minLength was increased from 0 to 1

    • warning

      the request property's maxLength was set to 255