Activate, suspend, or revoke a card
Last updated: March 12, 2025
A card’s status determines whether any restrictions are placed on it:
- Inactive – The card is awaiting activation and is unusable until activated.
- Active – The card can make payments.
- Suspended – Incoming authorizations are temporarily declined until the card is reactivated or revoked.
- Revoked – All payments are permanently declined and the card cannot be reactivated.
You can manage the status of a card at any time as follows:
- Activate a card that was inactive or suspended.
- Suspend an active card.
- Revoke an active or suspended card.
- Schedule a date for card revocation.
You can also receive webhooks about status changes.

The following cards must be activated before the cardholder can perform transactions:
- Newly created physical cards
- Virtual cards created using the API with
"activate_card": false
- Suspended cards
You can activate a card using:
Alternatively, the cardholder can activate the card by performing their first Chip and PIN transaction at a point of sale (POS), or by withdrawing cash at an ATM.
You need the Admin role or a custom role with the Manage Issuing data user permission.
- Sign in to the Dashboard.
- Go to Issuing > Cards.
- Select the card you want to activate.
- In the Card details screen, select Activate card.
Call the Activate a card endpoint, and provide the unique identifier for the card as the {cardId}
path parameter.
For example, crd_fa6psq242dcd6fdn5gifcq1491
.
post
https://api.checkout.com/issuing/cards/{cardId}/activate
1{2"_links": {3"self": {4"href": "https://api.checkout.com/issuing/cards/crd_fa6psq42dcdd6fdn5gifcq1491"5},6"revoke": {7"href": "https://api.checkout.com/issuing/cards/crd_fa6psq42dcdd6fdn5gifcq1491/revoke"8},9"suspend": {10"href": "https://api.checkout.com/issuing/cards/crd_fa6psq42dcdd6fdn5gifcq1491/suspend"11}12}13}
If you suspect your cardholder's card has been lost, stolen, or used for fraudulent activity, you can suspend the card to temporarily freeze it and automatically block any new transactions.
The following actions are still allowed on a suspended card:
- Authorization requests linked to a previous transaction, for example, an incremental authorization
- Recurring payments through merchant-initiated transactions (MITs)
- Refunds
- Reversals
- Chargebacks
You can suspend a card using:
You need the Admin role or a custom role with the Manage Issuing data user permission.
- Sign in to the Dashboard.
- Go to Issuing > Cards.
- Select the card you want to suspend.
- In the Card details screen that appears, select Suspend card.
Call the Suspend a card endpoint, and provide the unique identifier for the card as the {cardId}
path parameter.
For example, crd_fa6psq242dcd6fdn5gifcq1491
.
In the request body, set the reason
field to one of the following reasons for suspending the card:
suspected_lost
suspected_stolen
post
https://api.checkout.com/issuing/cards/{cardId}/suspend
1{2"reason": "suspected_lost"3}
1{2"_links": {3"self": {4"href": "https://api.checkout.com/issuing/cards/crd_fa6psq42dcdd6fdn5gifcq1491"5},6"activate": {7"href": "https://api.checkout.com/issuing/cards/crd_fa6psq42dcdd6fdn5gifcq1491/activate"8},9"revoke": {10"href": "https://api.checkout.com/issuing/cards/crd_fa6psq42dcdd6fdn5gifcq1491/revoke"11}12}13}
You can now either reactivate the suspended card, or permanently revoke it.
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 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 need the Admin role or a custom role with the Manage Issuing data user permission.
- Sign in to the Dashboard.
- Go to Issuing > Cards.
- Select the card you want to revoke.
- In the Card details screen that appears, select Revoke card.
Call the Revoke a card endpoint, and provide the unique identifier for the card as the {cardId}
path parameter.
For example, crd_fa6psq242dcd6fdn5gifcq1491
.
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 need the Admin role or a custom role with the Manage Issuing data user permission.
- Sign in to the Dashboard.
- Go to Issuing > Cards, and select the card you want to auto-revoke.
- On the Card details screen, 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 screen. - 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 unique identifier for the card as the {cardId}
path parameter.
For example, crd_fa6psq242dcd6fdn5gifcq1491
.
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 unique identifier for the card as the {cardId}
path parameter.
For example, crd_fa6psq242dcd6fdn5gifcq1491
.
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 activate, suspend, and revoke your cardholder's 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// Returned card details 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 states you can change the card to2val possibleNewStates = card.possibleStateChanges34// You can activate the card, if the state was returned by possibleStateChanges5if (possibleNewStates.contains(CardState.ACTIVE)) {6card.activate(completionHandler)7}89// You can suspend the card, if the state was returned by possibleStateChanges10if (possibleNewStates.contains(CardState.SUSPENDED)) {11// Optionally, you can pass the reason for suspending the card12val reason: CardSuspendReason? = CardSuspendReason.LOST13card.suspend(reason, completionHandler)14}1516// You can revoke the card, if the state was returned by possibleStateChanges17if (possibleNewStates.contains(CardState.REVOKED)) {18// This is a destructive and irreversible action - once revoked, the card cannot be reactivated19// We recommended requesting user confirmation in the UI that they intend to perform this action20// Optionally, you can pass the reason for revoking the card21val reason: CardRevokeReason? = CardRevokeReason.STOLEN22card.revoke(reason, completionHandler)23}
- Complete the change to the relevant status:
1fun cardStateChangeCompletionHandler(result: Result<Unit>): Unit {2result3.onSuccess {4// The card state 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 activated, suspended, or revoked: