Skip to main content
POST
Cancel an active or paused mandate to permanently stop future charges. The request takes no body and returns the updated mandate. POST /v1/mandates/{id}/cancel

Path parameters

string
required
The mandate id.

Response

Returns the updated mandate with status: "cancelled".

Notes

  • Cancellation is terminal and does not affect past charges.
  • Only an active or paused mandate can be cancelled. Any other transition returns 409 MANDATE_INVALID_TRANSITION.
  • Only the mandate’s owner can act on it; a mismatched caller gets 403 MANDATE_FORBIDDEN.

Authorizations

Authorization
string
header
required

Your secret key: sk_test_* (sandbox) or sk_live_* (production).

Path Parameters

id
string
required

The mandate id.

Response

Updated mandate.

A standing spending authorization (list view).

id
string

Mandate id (mdt_…).

agentId
string
customerId
string
externalUserId
string
state
enum<string>

Display-derived usability.

Available options:
available,
consumed,
expired,
paused,
cancelled,
pending
status
enum<string>
Available options:
pending,
active,
paused,
consumed,
cancelled,
expired
recurringFrequency
enum<string>
Available options:
one_time,
weekly,
monthly,
yearly
merchantScope
enum<string>
Available options:
any,
listed
merchantName
string
approvedAmount
string

The authorized per-charge cap.

remaining
string

Remaining spend in the current window (indicative; the network enforces the real cap).

currency
string
validUntil
string<date-time> | null
renewsAt
string<date-time> | null

Next cycle boundary for recurring mandates.

lastCharge
object | null
createdAt
string<date-time>
updatedAt
string<date-time>