Customer Preferences
Three endpoints to retrieve, upsert, and delete cardholder ATM preference profiles. Lookup key is Institution ID + Card PAN.
Retrieve Preferences
Retrieves the stored cardholder ATM preference profile. Lookup key is Institution ID + Card PAN. Terminal ID is not part of the lookup key.
Operation ID: GetPreferences
"000100""543100XXXXXXXXX0781"{
"institution": { "id": "000100" },
"card": { "pan": "543100XXXXXXXXX0781" }
}
0=Not set · 1=Active · 2=NeverAsk · 3=DeletedENG=English · SPA=Spanish"020" = $20.001=Print · 2=No print · 3=Ask1=Yes · 0=NoCHK=Checking · SAV=Savings"000" = success{
"status": { "responseCode": "000" },
"profileStatus": "1",
"profileData": {
"language": "ENG",
"fastCashAmount": "020",
"fastCashReceipt": "2",
"withdrawalReceipt": "2",
"otherReceipt": "1",
"receiptBalance": "1",
"account": "CHK"
}
}
Add / Update Preferences
Creates or updates a cardholder ATM preference profile. Supports two modes: full profile update (provide all profileData fields) or neverAsk mode (profileData.neverAsk: true suppresses all ATM prompts).
Operation ID: AddPreferences
profileData must contain either full profile fields or neverAsk: true — not both. Sending both returns 400 Bad Request.
"020"1=Print · 2=No print · 3=Ask1=Yes · 0=NoCHK · SAVtrue = suppress all ATM prompts. Mutually exclusive with other fields.{
"institution": { "id": "000100" },
"card": { "pan": "543100XXXXXXXXX0781" },
"deviceInfo": {
"terminalId": "00000162",
"terminalLoc": "100 Main St",
"acceptorId": "ACCEPTOR000001"
},
"profileData": {
"language": "ENG",
"fastCashAmount": "020",
"fastCashReceipt": "2",
"withdrawalReceipt": "2",
"otherReceipt": "1",
"receiptBalance": "1",
"account": "CHK"
}
}
"000" = profile saved.true if profile was created or updated."PREFERENCE ADD"{
"status": { "responseCode": "000" },
"success": true,
"message": "PREFERENCE ADD"
}
neverAsk Mode Example
{
"institution": { "id": "000100" },
"card": { "pan": "543100XXXXXXXXX0781" },
"deviceInfo": {
"terminalId": "00000162",
"terminalLoc": "100 Main St",
"acceptorId": "ACCEPTOR000001"
},
"profileData": { "neverAsk": true }
}Delete Preferences
Deletes the stored cardholder preference profile. Operation is idempotent — no error is returned if the profile does not exist.
Operation ID: DeletePreferences
{
"institution": { "id": "000100" },
"card": { "pan": "543100XXXXXXXXX0781" },
"deviceInfo": {
"terminalId": "00000162",
"terminalLoc": "100 Main St",
"acceptorId": "ACCEPTOR000001"
}
}
"000" = success.true even if no profile existed (idempotent)."PREFERENCE DELETE"{
"status": { "responseCode": "000" },
"success": true,
"message": "PREFERENCE DELETE"
}
Calling this endpoint on a card with no preference profile returns success: true without error. Safe to call multiple times.