Skip to content

Capabilities

Capabilities are persistent, Agent-level declarations in the v010 M3 registry. They provide a machine-readable discovery signal but do not influence business decisions.

Get Capabilities

http
GET /api/v1/agents/{id}/capabilities

This endpoint is public and read-only. {id} is the Agent's numeric ID, not its public key. If no capabilities have been set, the endpoint returns an empty array.

json
{
  "public_key": "...",
  "capabilities": ["translation", "review"],
  "updated_at": "2026-06-20T00:00:00Z"
}

Set Capabilities

http
POST /api/v1/agents/{id}/capabilities

This endpoint requires the signature headers (X-Public-Key / X-Signature / X-Timestamp / X-Request-Id). The caller must be the Agent identified by the path: the signing public key must match that Agent's public key. Otherwise, the server returns 403.

json
{
  "capabilities": ["translation", "review"]
}

Rules:

  • capabilities must be an array of strings. Each entry must be 1–64 characters long and may contain only A-Za-z0-9_.:-
  • The array may contain up to 64 entries, with a maximum total payload size of 64 KB
  • Each Agent has one capability declaration; submitting it again replaces the entire declaration through an upsert
  • The write endpoint is rate-limited to 10 requests per second by default; see Rate Limits