Revoke a card
Last updated: August 27, 2025
If your cardholder reports their card as lost or stolen, or if there's confirmed fraudulent activity, you can revoke the card to permanently freeze it and automatically decline any new transactions. You can also schedule cards to be revoked automatically after a specified lifetime or date.
You do not need to suspend an active card before revoking it.
Note
Revoking a card is a one-way action. The card cannot be reactivated.
You can revoke a card using:
You must have on of the following user roles:
- Admin
- A custom role with the
Manage Issuing data
permission
- Sign in to the Dashboard.
- Go to Issuing > Cards.
- Select the card you want to revoke.
- In the Card details page that appears, select Revoke card.
Call the Revoke a card endpoint, and provide the card ID prefixed with crd_
as the {cardId}
path parameter.
In the request body, set the reason
field to one of the following reasons for revoking the card:
expired
reported_lost
reported_stolen
post
https://api.checkout.com/issuing/cards/{cardId}/revoke
1{2"reason": "reported_lost"3}
1{2"_links": {3"self": {4"href": "https://api.checkout.com/issuing/cards/crd_fa6psq42dcdd6fdn5gifcq1491",5"actions": [6"GET"7],8"types": [9"application/json"10]11},12"controls": {13"href": "https://api.checkout.com/issuing/controls?target_id=crd_fa6psq42dcdd6fdn5gifcq1491",14"actions": [15"GET"16],17"types": [18"application/json"19]20}21}22}
To help decrease the likelihood of fraud, you can schedule cards to be revoked automatically using:
You can also set a revocation date or a lifetime value when you first issue a card.
Note
If you schedule a revocation date after the end of the card's lifetime, the card is revoked when it expires.
You must have on of the following user roles:
- Admin
- A custom role with the
Manage Issuing data
permission
- Sign in to the Dashboard.
- Go to Issuing > Cards, and select the card you want to auto-revoke.
- On the Card details page, select the Revoke card dropdown, and then select Schedule revoke date.
- Select the revocation date, and then select Confirm.
A revocation timer appears next to the card summary on the Card details page. - To update or remove the revocation date, select the date in the revocation timer.
To update, select a new date.
To remove, select Clear. - Select Confirm.
Call the Schedule card revocation endpoint, and provide the card ID prefixed with crd_
as the {cardId}
path parameter.
In the request body, set the revocation_date
field to the date when you want the card to be revoked, in YYYY-MM-DD
format.
You can also use this endpoint to update the revocation date any time before it arrives.
post
https://api.checkout.com/issuing/cards/{cardId}/schedule-revocation
1{2"revocation_date": "2025-01-27"3}
1{2"_links": {3"self": {4"href": "https://api.checkout.com/issuing/cards/crd_fa6psq42dcdd6fdn5gifcq1491",5"actions": [6"GET"7],8"types": [9"application/json"10]11},12"controls": {13"href": "https://api.checkout.com/issuing/controls?target_id=crd_fa6psq42dcdd6fdn5gifcq1491",14"actions": [15"GET"16],17"types": [18"application/json"19]20}21}22}
Call the Delete scheduled revocation endpoint, and provide the card ID prefixed with crd_
as the {cardId}
path parameter.
delete
https://api.checkout.com/issuing/cards/{cardId}/schedule-revocation
1{2"_links": {3"self": {4"href": "https://api.checkout.com/issuing/cards/crd_fa6psq42dcdd6fdn5gifcq1491",5"actions": [6"GET"7],8"types": [9"application/json"10]11},12"controls": {13"href": "https://api.checkout.com/issuing/controls?target_id=crd_fa6psq42dcdd6fdn5gifcq1491",14"actions": [15"GET"16],17"types": [18"application/json"19]20}21}22}
After you've integrated the Card Management Android SDK or iOS SDK, you can revoke cards in your mobile app.
Follow these steps:
- Call the
getCards()
method to get a list of the cardholder's cards:
1cardManager.getCards { result: Result<List<Card>> ->2result.onSuccess {3// You receive a list of the cardholder's cards that you can display in your UI4// The card details returned include the last four digits of the PAN, expiry date, cardholder name, card status, and card ID5}.onFailure {6// If something goes wrong, you receive an error with more information7}8}
- Call the
Card.possibleStateChanges()
method to request the possible statuses you can change the card to:
1// Returns a list of possible statuses you can change the card to2val possibleNewStates = card.possibleStateChanges34// You can revoke the card if the status was returned by possibleStateChanges5if (possibleNewStates.contains(CardState.REVOKED)) {6// This is a destructive and irreversible action - once revoked, the card cannot be reactivated7// We recommended requesting user confirmation in the UI that they intend to perform this action8// Optionally, you can pass the reason for revoking the card9val reason: CardRevokeReason? = CardRevokeReason.STOLEN10card.revoke(reason, completionHandler)11}
- Complete the change to
revoked
status:
1fun cardStateChangeCompletionHandler(result: Result<Unit>): Unit {2result3.onSuccess {4// The card status is successfully updated and reflected by both the back end and the SDK5}.onFailure {6// If something goes wrong, you receive an error with more details7}8}
You can configure webhooks to be notified when cards are revoked: