Skip to content

Mandate.spend

POST /{namespace}/mandates/{mandate}/spend

Spend pays an outside party for a Startup with a single-use card, within a Mandate and its Limit.

Mode
do
Event
Mandate.spent

Inputs

InputTypeRequiredDescription
mandateMandaterequiredThe Mandate that covers the purchase.
amountmoneyrequiredThe amount to spend.
payeestringrequiredWho is paid.

Outputs

OutputTypeRequiredDescription
transactionTransactionrequiredThe card Transaction.
mandateMandaterequiredThe Mandate with its remaining Limit.

Effects

  • Emits Mandate.spent.
  • Performed by the Treasurer.
  • One-way (money): it waits out its delay window, and runs in the send and do modes.
  • Checks the Mandate’s Limit; above it, opens an Approval and the Action waits.
  • Posts a cost Entry against the Action that spent.

Refuses when

CheckErrorFixThen call
The operation is part of an Offer the caller has not accepted or paid for.payment-requiredAccept the Offer named in the response, then retry the call.Offer.accept
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.spend

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.