Register agent and mandate
register_agentCreate your agent identity, bound to a principal (the wallet owner), with a spending mandate: the first call to make in this store. Use it when you have no agent_key yet, or to add another agent for a principal you already have. Returns agent_key once (store it and send it on every later call) and, for a brand-new principal_id, principal_key once. Example: {agent_id: "trip-planner-1", principal_id: "principal:acme", mandate: {max_per_tx: 3000, max_per_day: 6000, max_per_month: 20000, expiry: "2027-01-01T00:00:00Z"}} lets the agent spend up to 30.00 USD per purchase. Details: The first agent of a new principal_id also receives principal_key (once): the principal owns the wallet, and every later register_agent for that principal_id must present principal_key (argument or X-Principal-Key header), else PRINCIPAL_KEY_REQUIRED. New agents are capped by the registration policy (see get_policies); only active agents (not revoked, mandate unexpired) count toward max_agents_per_principal. To extend or change an existing agent's mandate, use renew_mandate. Agents brought by a partner of the store also send partner_id and partner_key (both or neither): a new principal is attributed to that partner for good. Invalid partner credentials give PARTNER_INVALID; an existing principal keeps the attribution it was created with (PARTNER_MISMATCH for another partner, PARTNER_ATTRIBUTION_LOCKED if it has none). Attribution changes nothing about prices or limits.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"agent_id": "<agent_id>",
"principal_id": "<principal_id>",
"mandate": "<mandate>"
},
"name": "register_agent"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mandate | Yes | Spending limits this agent is bound by, in minor units (cents); see get_policies for the caps the store allows | |
| agent_id | Yes | An id you choose for this agent: 3-128 characters, letters, digits and . _ : - (for example trip-planner-1) | |
| partner_id | No | Only if a partner of the store brought you: its partner_id (send with partner_key) | |
| partner_key | No | The partner's partner_key (send with partner_id) | |
| principal_id | Yes | The wallet owner you act for: 3-128 characters (for example principal:acme); all of its agents share one wallet | |
| principal_key | No | Required if the principal already exists (or X-Principal-Key header) |