curl --request GET \
--url https://sg.sandbox.api.reap.global/cards/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Reap-Version: <reap-version>'const options = {
method: 'GET',
headers: {'Reap-Version': '<reap-version>', Authorization: 'Bearer <token>'}
};
fetch('https://sg.sandbox.api.reap.global/cards/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://sg.sandbox.api.reap.global/cards/{id}"
headers = {
"Reap-Version": "<reap-version>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text){
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"accountId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"userId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "VIRTUAL",
"cardDesignId": "<string>",
"status": "ACTIVE",
"blockReason": {
"type": "CLIENT_REQUESTED",
"message": "<string>"
},
"blockLiftable": true,
"frozen": true,
"cardholderName": "<string>",
"last4": "<string>",
"3dsChallengeMethod": "SMS",
"physicalCardStatus": "NOT_ORDERED",
"createdAt": "<string>",
"updatedAt": "<string>",
"policies": [
{
"id": "<string>",
"scope": {
"type": "PROJECT"
},
"status": "ACTIVE",
"name": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>",
"type": "MERCHANT_RESTRICTION",
"config": {
"match": {
"dimension": "MCC",
"codes": [
"<string>"
]
}
}
}
]
}{
"error": {
"code": "CARD_NOT_FOUND",
"message": "<string>",
"detail": {}
}
}Get card
Retrieves a single card by its unique identifier.
curl --request GET \
--url https://sg.sandbox.api.reap.global/cards/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Reap-Version: <reap-version>'const options = {
method: 'GET',
headers: {'Reap-Version': '<reap-version>', Authorization: 'Bearer <token>'}
};
fetch('https://sg.sandbox.api.reap.global/cards/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://sg.sandbox.api.reap.global/cards/{id}"
headers = {
"Reap-Version": "<reap-version>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text){
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"accountId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"userId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "VIRTUAL",
"cardDesignId": "<string>",
"status": "ACTIVE",
"blockReason": {
"type": "CLIENT_REQUESTED",
"message": "<string>"
},
"blockLiftable": true,
"frozen": true,
"cardholderName": "<string>",
"last4": "<string>",
"3dsChallengeMethod": "SMS",
"physicalCardStatus": "NOT_ORDERED",
"createdAt": "<string>",
"updatedAt": "<string>",
"policies": [
{
"id": "<string>",
"scope": {
"type": "PROJECT"
},
"status": "ACTIVE",
"name": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>",
"type": "MERCHANT_RESTRICTION",
"config": {
"match": {
"dimension": "MCC",
"codes": [
"<string>"
]
}
}
}
]
}{
"error": {
"code": "CARD_NOT_FOUND",
"message": "<string>",
"detail": {}
}
}Authorizations
API key as Bearer token
Headers
API version (YYYY-MM-DD)
2025-02-14 "2025-02-14"
Path Parameters
Response
Card resource with directly-attached spend policies
Unique card identifier
ID of the account the card belongs to
ID of the user the card belongs to
Card type (VIRTUAL or PHYSICAL)
VIRTUAL, PHYSICAL "VIRTUAL"
Design the card was issued with. For a physical card this is the design on the card record, which can differ from the one produced: the plastic is made from the design chosen on the shipment, returned as cardDesignId per card on the shipment endpoints.
Current card status
ACTIVE, FROZEN, BLOCKED, EXPIRED "ACTIVE"
Block reason details (only present when status is BLOCKED)
Show child attributes
Show child attributes
Whether the current block can be lifted with the unblock endpoint. false for blocks that need Reap support, and for a card that holds no block.
Whether the card is frozen. A block hides a freeze from status, so a card that is BLOCKED with frozen: true returns to FROZEN once the block lifts.
Cardholder name displayed on card
Last 4 digits of the card number. Use reveal endpoint for full details.
3DS challenge verification method
SMS, WEBHOOK "SMS"
Physical lifecycle of the card (production + shipping + activation rollup). Defaults to NOT_ORDERED for newly created physical cards. null for virtual cards, which have no physical lifecycle.
NOT_ORDERED, REQUESTED, IN_PRODUCTION, PRODUCTION_COMPLETED, IN_TRANSIT, OUT_FOR_DELIVERY, DELIVERED, ACTIVATED, CANCELED, DELIVERY_FAILED, EXCEPTION "NOT_ORDERED"
ISO 8601 timestamp of creation
ISO 8601 timestamp of last update
Active spend policies attached directly to this card. Only directly-attached policies are included - those attached at other scopes and platform-enforced limits are not.
Policy resource
- MerchantRestriction
- ChannelRestriction
- TransactionAmountLimit
- SpendLimit
- AuthorizationCountLimit
Show child attributes
Show child attributes