Skip to main content
1

Register the agent

Registration is idempotent by name within a workspace, so it is safe to call on every boot.
owner is a person, not a mailbox alias and not a team. Everything the agent later does walks back to this.
2

Draw the bounds

Write the sentence first, in words, and only then in JSON. If nobody can say it in one line, the grant is not ready and no software fixes that.
This agent may authorise settlement payments, on behalf of the claims function, up to 25,000 EUR in total, across at most 40 calls, for the next 7 days.
3

Issue it

budget_amount_minor is an integer in minor units. 25,000.00 EUR is 2500000. There is no float anywhere in the money path.
4

Leave it in observe

A grant issued in observe records what the check would have done and refuses nothing. Run it against real traffic for a fortnight before touching the mode. See Move up the ladder.

Preview before you issue

POST /v1/grants/preview returns what a grant of that shape would decide against a sample action, without creating anything. Useful for checking a policy expression does what you think before it exists as an authority.

If the grant needs approval

Grants can require a second person. Those sit in GET /v1/grants/pending until somebody calls POST /v1/grants/{grant_id}/approve, and the approving identity is the one recorded as accountable.

What to check afterwards

  • The grant appears under the agent in the console.
  • ttl_hours is a number somebody chose rather than the 24-hour default carried by accident.
  • delegation_policy is none unless this agent genuinely hands work onward.