curl -X POST https://sandbox.api.prava.space/v1/mandates/mdt_123/pause \
-H "Authorization: Bearer sk_test_..."
import requests
resp = requests.post(
"https://sandbox.api.prava.space/v1/mandates/mdt_123/pause",
headers={"Authorization": "Bearer sk_test_..."},
)
const resp = await fetch("https://sandbox.api.prava.space/v1/mandates/mdt_123/pause", {
method: "POST",
headers: {
Authorization: "Bearer sk_test_...",
},
});
{ "id": "mdt_123", "status": "paused", "state": "paused", "merchantScope": "listed", "approvedAmount": "40.00", "currency": "USD" }
{
"error": { "code": "MANDATE_FORBIDDEN", "message": "Caller does not own this mandate" }
}
{
"error": { "code": "MANDATE_INVALID_TRANSITION", "message": "The mandate's current status forbids this action" }
}
Mandate lifecycle
Pause a Mandate
Suspend future charges on an active mandate.
POST
/
v1
/
mandates
/
{id}
/
pause
curl -X POST https://sandbox.api.prava.space/v1/mandates/mdt_123/pause \
-H "Authorization: Bearer sk_test_..."
import requests
resp = requests.post(
"https://sandbox.api.prava.space/v1/mandates/mdt_123/pause",
headers={"Authorization": "Bearer sk_test_..."},
)
const resp = await fetch("https://sandbox.api.prava.space/v1/mandates/mdt_123/pause", {
method: "POST",
headers: {
Authorization: "Bearer sk_test_...",
},
});
{ "id": "mdt_123", "status": "paused", "state": "paused", "merchantScope": "listed", "approvedAmount": "40.00", "currency": "USD" }
{
"error": { "code": "MANDATE_FORBIDDEN", "message": "Caller does not own this mandate" }
}
{
"error": { "code": "MANDATE_INVALID_TRANSITION", "message": "The mandate's current status forbids this action" }
}
Pause an active mandate so no new charges can be created until it is resumed. The request takes no body and returns the updated mandate.
POST /v1/mandates/{id}/pause
Need to create a mandate? Mandate creation is part of the Session APIs — create a mandate with a mandate_setup block on Create Session.
Path parameters
string
required
The mandate id.
Response
Returns the updated mandate object (see List Mandates).Notes
- Only an
activemandate can be paused. Any other transition returns409 MANDATE_INVALID_TRANSITION. - Only the mandate’s owner can act on it — a mismatched caller gets
403 MANDATE_FORBIDDEN. - To reactivate or permanently stop the mandate, use Resume a Mandate or Cancel a Mandate.
Error responses
| Status | Code | Cause |
|---|---|---|
| 403 | MANDATE_FORBIDDEN | Caller does not own this mandate |
| 409 | MANDATE_INVALID_TRANSITION | The mandate’s current status forbids this action |
curl -X POST https://sandbox.api.prava.space/v1/mandates/mdt_123/pause \
-H "Authorization: Bearer sk_test_..."
import requests
resp = requests.post(
"https://sandbox.api.prava.space/v1/mandates/mdt_123/pause",
headers={"Authorization": "Bearer sk_test_..."},
)
const resp = await fetch("https://sandbox.api.prava.space/v1/mandates/mdt_123/pause", {
method: "POST",
headers: {
Authorization: "Bearer sk_test_...",
},
});
{ "id": "mdt_123", "status": "paused", "state": "paused", "merchantScope": "listed", "approvedAmount": "40.00", "currency": "USD" }
{
"error": { "code": "MANDATE_FORBIDDEN", "message": "Caller does not own this mandate" }
}
{
"error": { "code": "MANDATE_INVALID_TRANSITION", "message": "The mandate's current status forbids this action" }
}
Authorizations
Your secret key: sk_test_* (sandbox) or sk_live_* (production).
Path Parameters
The mandate id.
Response
Updated mandate.
A standing spending authorization (list view).
Mandate id (mdt_…).
Display-derived usability.
Available options:
available, consumed, expired, paused, cancelled, pending Available options:
pending, active, paused, consumed, cancelled, expired Available options:
one_time, weekly, monthly, yearly Available options:
any, listed The authorized per-charge cap.
Remaining spend in the current window (indicative; the network enforces the real cap).
Next cycle boundary for recurring mandates.
Show child attributes
Show child attributes