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 inGET /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_hoursis a number somebody chose rather than the 24-hour default carried by accident.delegation_policyisnoneunless this agent genuinely hands work onward.

