Skip to content

Agreement.terminate

POST /{namespace}/agreements/{agreement}/terminate

Terminate ends an Agreement under its own term, records the reason and the date, and keeps the signed record.

Mode
do
Event
Agreement.terminated

Inputs

InputTypeRequiredDescription
agreementAgreementrequiredThe Agreement in force.
reasontextrequiredThe term it ends under and why.

Outputs

OutputTypeRequiredDescription
agreementAgreementrequiredThe terminated Agreement, kept forever.

Effects

  • Emits Agreement.terminated.
  • Performed by the Legal Lead.
  • One-way (money, customer): it waits out its delay window, and runs in the send and do modes.
  • Notifies every bound Party.
  • Ends the Entitlements and recurring charges that depend on it.

Refuses when

CheckErrorFixThen call
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.Agreement.terminate
The record changed since it was read, so the write would overwrite a newer version.conflictRead the record again, then retry the write against its current state.Agreement.terminate
The record is not in a state that allows this Verb, so the call is refused.refusedRead the record, run the Verb that moves it to an allowed state, then retry.Agreement.terminate

When it waits

GateDefault
Decision classHigh: one-way, broad (money, customer)
Delay window1 business day, 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.