pub struct Revocation {
pub created_at: DateTime<Utc>,
pub error: Option<PaymentError>,
pub mandate_id: MandateId,
pub metadata: Option<Metadata>,
pub onchain_transactions: Vec<OnchainTransaction>,
pub revocation_id: RevocationId,
pub status: RevocationStatus,
pub updated_at: DateTime<Utc>,
}Expand description
A record of a wallet revocation: the customer removing the mandate’s spending allowance on-chain (see onchainTransactions). While it is confirming, the mandate’s status is revocation_pending; on success it becomes revocation_succeeded and the mandate’s revokedAt is set, and on failure it becomes revocation_failed. This applies regardless of whether the mandate was previously canceled: a revocation on an already-canceled mandate still moves status through the revocation_* values and sets revokedAt.
To check whether the spending allowance is still active, read the mandate: `revokedAt` is set once the allowance has been removed.JSON schema
{
"description": "A record of a wallet revocation: the customer removing the mandate's spending allowance on-chain (see `onchainTransactions`). While it is confirming, the mandate's `status` is `revocation_pending`; on success it becomes `revocation_succeeded` and the mandate's `revokedAt` is set, and on failure it becomes `revocation_failed`. This applies regardless of whether the mandate was previously canceled: a revocation on an already-canceled mandate still moves `status` through the `revocation_*` values and sets `revokedAt`.\n\nTo check whether the spending allowance is still active, read the mandate: `revokedAt` is set once the allowance has been removed.",
"examples": [
{
"createdAt": "2026-08-21T14:10:00.000Z",
"mandateId": "mandate_82c879c1-84e1-44ed-a8c2-1ac239cf09ad",
"onchainTransactions": [
{
"network": "base",
"transactionHash": "0xdef456789012345678901234567890abcdef1234567890abcdef1234567890ab"
}
],
"revocationId": "revocation_9d2e7c14-3b8a-4f21-9c66-2a1e5d7b8f03",
"status": "succeeded",
"updatedAt": "2026-08-21T14:12:00.000Z"
}
],
"type": "object",
"required": [
"createdAt",
"mandateId",
"revocationId",
"status",
"updatedAt"
],
"properties": {
"createdAt": {
"description": "The UTC ISO 8601 timestamp at which the revocation was created.",
"examples": [
"2026-08-21T14:10:00.000Z"
],
"type": "string",
"format": "date-time"
},
"error": {
"description": "Details of why the revocation failed. Only present when `status` is `failed`.",
"examples": [
{
"code": "transaction_reverted",
"message": "The revocation transaction reverted on-chain.",
"occurredAt": "2026-08-21T14:12:00.000Z"
}
],
"allOf": [
{
"$ref": "#/components/schemas/PaymentError"
}
]
},
"mandateId": {
"description": "The unique identifier of the mandate this revocation applies to.",
"examples": [
"mandate_82c879c1-84e1-44ed-a8c2-1ac239cf09ad"
],
"allOf": [
{
"$ref": "#/components/schemas/MandateId"
}
]
},
"metadata": {
"$ref": "#/components/schemas/Metadata"
},
"onchainTransactions": {
"description": "Network transactions that remove the spending allowance on-chain. Empty until the revocation has been submitted to the network.",
"examples": [
[
{
"network": "base",
"transactionHash": "0xdef456789012345678901234567890abcdef1234567890abcdef1234567890ab"
}
]
],
"type": "array",
"items": {
"$ref": "#/components/schemas/OnchainTransaction"
}
},
"revocationId": {
"description": "The unique identifier of the revocation.",
"examples": [
"revocation_9d2e7c14-3b8a-4f21-9c66-2a1e5d7b8f03"
],
"allOf": [
{
"$ref": "#/components/schemas/RevocationId"
}
]
},
"status": {
"description": "The current status of the revocation attempt.",
"examples": [
"succeeded"
],
"allOf": [
{
"$ref": "#/components/schemas/RevocationStatus"
}
]
},
"updatedAt": {
"description": "The UTC ISO 8601 timestamp at which the revocation was last updated.",
"examples": [
"2026-08-21T14:12:00.000Z"
],
"type": "string",
"format": "date-time"
}
}
}Fields§
§created_at: DateTime<Utc>The UTC ISO 8601 timestamp at which the revocation was created.
error: Option<PaymentError>Details of why the revocation failed. Only present when status is failed.
mandate_id: MandateIdThe unique identifier of the mandate this revocation applies to.
metadata: Option<Metadata>§onchain_transactions: Vec<OnchainTransaction>Network transactions that remove the spending allowance on-chain. Empty until the revocation has been submitted to the network.
revocation_id: RevocationIdThe unique identifier of the revocation.
status: RevocationStatusThe current status of the revocation attempt.
updated_at: DateTime<Utc>The UTC ISO 8601 timestamp at which the revocation was last updated.