Docs · Reference
Cards
List the owner’s debit cards and freeze one. Unfreezing stays in the Novo app.
List debit cards
GET/v1/cards
The account owner's debit cards, with the last 4 digits and status. Full card numbers and expiry dates are never returned. Card field names are not final yet.
Authentication
Bearer token whose client has the scope cards:read
Response · a list of Card
dataThe page of results
Each item in data:
idrequiredThe card's id
nicknameuntrusted textCard nickname, when set
last_fourrequiredLast 4 digits of the card
statusrequiredCard status
typephysical or virtual, when available
Responses
200OK401The token is missing, expired or unknown, or the client was revoked or switched off403The client lacks the scope, the owner's standing changed, or the API isn't enabled for this business429Too many requests. Wait for Retry-After500Something failed unexpectedly on Novo's side. Not retryable: quote request_id to support503Something the answer depends on is unavailable. Retry after Retry-After
curl "https://$NOVO_API_HOST/v1/cards" \
-H "Authorization: Bearer $ACCESS_TOKEN"{
"data": [
{
"id": "00000000-0000-4000-8000-000000000001",
"nickname": "Ops card",
"last_four": "4321",
"status": "EXAMPLE_STATUS",
"type": "virtual"
}
]
}Freeze a debit card
POST/v1/cards/{card_id}/freeze
Freezes the card. Freezing a card that is already frozen returns 200 with the current state. There is no unfreeze endpoint: unfreezing stays in the Novo app. card_id must be a UUID. An Idempotency-Key is recommended, not required. A card that doesn't exist, or isn't the owner's, returns 404; a card in a state that can't be frozen returns 409.
Authentication
Bearer token whose client has the scope cards:freeze
Parameters
card_idrequiredThe card's id
Idempotency-KeyA key you choose, so that a retry is recognised as the same request
Response · FreezeResult
card_idrequiredThe card's id
statusrequiredfrozen, including when the card was already frozen
request_idSame as the Novo-Request-Id header
Responses
200The card is frozen400A parameter is invalid. Not retryable401The token is missing, expired or unknown, or the client was revoked or switched off403The client lacks the scope, the owner's standing changed, or the API isn't enabled for this business404Nothing with that id in the bound business409The Idempotency-Key was reused or is still in flight, or the card can't be frozen413The body is over the size limit. Not retryable415The operation doesn't accept the body's content type. Not retryable429Too many requests. Wait for Retry-After500Something failed unexpectedly on Novo's side. Not retryable: quote request_id to support503Something the answer depends on is unavailable. Retry after Retry-After
curl -X POST "https://$NOVO_API_HOST/v1/cards/00000000-0000-4000-8000-000000000001/freeze" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Authorization: Bearer $ACCESS_TOKEN"{
"card_id": "00000000-0000-4000-8000-000000000001",
"status": "frozen",
"request_id": "req_example_01"
}