Simulate card status
curl --request POST \
--url https://sg.sandbox.api.reap.global/simulation/cards/{id}/status \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Reap-Version: <reap-version>' \
--data '
{
"status": "ACTIVE",
"blockReason": "SUSPECTED_FRAUD_CVV"
}
'const options = {
method: 'POST',
headers: {
'Reap-Version': '<reap-version>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({status: 'ACTIVE', blockReason: 'SUSPECTED_FRAUD_CVV'})
};
fetch('https://sg.sandbox.api.reap.global/simulation/cards/{id}/status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://sg.sandbox.api.reap.global/simulation/cards/{id}/status"
payload = {
"status": "ACTIVE",
"blockReason": "SUSPECTED_FRAUD_CVV"
}
headers = {
"Reap-Version": "<reap-version>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"error": {
"code": "SIMULATION_INVALID_STATE",
"message": "<string>",
"detail": {}
}
}{
"error": {
"code": "CARD_NOT_FOUND",
"message": "<string>",
"detail": {}
}
}Simulation
Simulate card status
Simulates a card status change. ACTIVE unfreezes a frozen or blocked card. FROZEN freezes an active card. BLOCKED blocks an active or frozen card. EXPIRED expires a card.
POST
/
simulation
/
cards
/
{id}
/
status
Simulate card status
curl --request POST \
--url https://sg.sandbox.api.reap.global/simulation/cards/{id}/status \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Reap-Version: <reap-version>' \
--data '
{
"status": "ACTIVE",
"blockReason": "SUSPECTED_FRAUD_CVV"
}
'const options = {
method: 'POST',
headers: {
'Reap-Version': '<reap-version>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({status: 'ACTIVE', blockReason: 'SUSPECTED_FRAUD_CVV'})
};
fetch('https://sg.sandbox.api.reap.global/simulation/cards/{id}/status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://sg.sandbox.api.reap.global/simulation/cards/{id}/status"
payload = {
"status": "ACTIVE",
"blockReason": "SUSPECTED_FRAUD_CVV"
}
headers = {
"Reap-Version": "<reap-version>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"error": {
"code": "SIMULATION_INVALID_STATE",
"message": "<string>",
"detail": {}
}
}{
"error": {
"code": "CARD_NOT_FOUND",
"message": "<string>",
"detail": {}
}
}Authorizations
API key as Bearer token
Headers
API version (YYYY-MM-DD)
Available options:
2025-02-14 Example:
"2025-02-14"
Path Parameters
Body
application/jsonapplication/x-www-form-urlencodedmultipart/form-data
Simulate a card status change
Target card status
Available options:
ACTIVE, FROZEN, BLOCKED, EXPIRED Example:
"ACTIVE"
Reason to block with, allowed only when status is BLOCKED. Defaults to SUSPECTED_FRAUD_PIN, which the unblock endpoint can lift; pass OTHER to produce a block that only Reap support can lift. CLIENT_REQUESTED is not offered here - block the card through POST /cards/{id}/block to get it.
Available options:
SUSPECTED_FRAUD_CVV, SUSPECTED_FRAUD_EXPIRY, SUSPECTED_FRAUD_PIN, FRAUD_ALERT_CONFIRMED, OTHER Example:
"SUSPECTED_FRAUD_CVV"
Response
Response for status 204