Skip to content

Mandate.authorize

POST /{namespace}/mandates/authorize

Authorize grants an Agent a standing Mandate to perform a Verb within a Limit, without asking each time.

Mode
do
Event
Mandate.authorized

Inputs

InputTypeRequiredDescription
agentAgentrequiredThe agent that receives the Mandate.
verbstringrequiredThe Verb it covers, as Noun.verb.
limitLimitrequiredThe bound the Mandate holds to.
forPartyThe person the agent acts for, under delegation: the principal and author of record.
channelslist of ChannelThe Channels it may send through.
topicsstring[]What it may send about; a send outside them becomes an Approval.
approvejsonThe approval rule for one-way sends, such as the first 20 waiting for an Approval.
windowstringThe delay window each one-way send waits, as a duration.
expiresAtdatetimeWhen the Mandate lapses.

Outputs

OutputTypeRequiredDescription
mandateMandaterequiredThe active Mandate.

Effects

  • Emits Mandate.authorized.
  • Performed by the Treasurer.
  • One-way (money): it waits out its delay window, and runs in the send and do modes.
  • Never widens a Permission past the authorizer’s own.

Refuses when

CheckErrorFixThen call
The input does not match the schema of the operation.invalid-inputRead the schema of the operation, then send every required field with the right type.Mandate.authorize
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.Mandate.authorize

When it waits

GateDefault
Decision classMedium: one-way, bounded (money)
Delay window1 business hour, in which a watcher can pause, redirect or cancel it; then it runs.
LimitThe spend Limit of the Permission or Mandate it runs under.
Over the LimitIt waits pending for an Approval from the Founder. Approved, it runs; refused, it ends refused with limit-exceeded; unanswered by its deadline, it ends canceled.