Cancel a mandate
Changed onEnds the mandate off-chain. status becomes canceled, canceledAt is set, and new authorizations are blocked immediately; authorizations already in progress are not affected. Cancel can be called from any status except a fully revoked one (revokedAt set); canceling an already canceled mandate is a no-op that returns the mandate unchanged.
Canceling does not touch the on-chain spending allowance, which may still be live afterward. The customer removes it separately with Revoke a mandate with a wallet; that later revocation sets revokedAt while canceledAt remains set.
Request
- Base URL: https://api.cdp.coinbase.com/platform
- URL: https://api.cdp.coinbase.com/platform/v2/mandates/{mandateId}/cancel
- Auth: HTTP bearer
Path parameters
The ID of the mandate, a UUID prefixed by mandate_.
The unique identifier of the mandate to cancel.
Headers
An optional string request header for making requests safely retryable. When included, duplicate requests with the same key will return identical responses. Refer to our Idempotency docs for more information on using idempotency keys.
Request body
Example request
{
"reason": "Customer canceled their subscription."
}Response
Successfully canceled mandate.
Example response
{
"mandateId": "mandate_82c879c1-84e1-44ed-a8c2-1ac239cf09ad",
"asset": "usdc",
"source": {
"address": "0xAbC1234567890aBcDeF1234567890AbCdEf123456",
"network": "base",
"asset": "usdc"
},
"policy": {
"maxPerAuthorization": "50.00",
"maxPerPeriod": {
"amount": "500.00",
"period": "month"
}
},
"status": "approval_succeeded",
"expiresAt": "2027-06-15T12:00:00.000Z",
"revocationUrl": "https://payments.coinbase.com/mandates/mandate_82c879c1-84e1-44ed-a8c2-1ac239cf09ad/revoke",
"approvalRedirect": {
"failureUrl": "https://merchant.example.com/mandate/approval/failed",
"successUrl": "https://merchant.example.com/mandate/approval/success"
},
"revocationRedirect": {
"failureUrl": "https://merchant.example.com/mandate/revocation/failed",
"successUrl": "https://merchant.example.com/mandate/revocation/success"
},
"customerDisplay": {
"merchantName": "Acme Store"
},
"metadata": {
"customer_id": "cust_12345"
},
"approvedAt": "2025-06-15T12:05:00.000Z",
"createdAt": "2025-06-15T12:00:00.000Z",
"updatedAt": "2025-06-15T12:05:00.000Z"
}Changes
- info
endpoint added
- info