Skip to main content
POST
/
v1
/
cards
/
{cardId}
/
freeze
curl --request POST \
  --url https://api.havn.finance/v1/cards/crd_8f7b2c9a1e3d4f5b/freeze \
  --header 'Authorization: Bearer havn_live_abc123def456' \
  --header 'Content-Type: application/json' \
  --data '{
    "reason": "suspicious_activity"
  }'
{
  "id": "crd_8f7b2c9a1e3d4f5b",
  "status": "frozen",
  "frozenAt": "2026-02-24T06:15:30Z"
}

Authorization

Authorization
string
required
Bearer token. Format: Bearer <token>

Path Parameters

cardId
string
required
The unique identifier of the virtual card to freeze. Format: crd_<16 chars>

Body Parameters

reason
string
Optional context for why the card is being frozen.Options: lost_device, suspicious_activity, temporary_pause

Responsibilities

Freezing a card immediately declines any new fiat authorizations. This action is instantaneous and propagates to the Visa®/Mastercard® networks within milliseconds. You can unfreeze the card later via the POST /v1/cards/{cardId}/unfreeze endpoint.

Response

id
string
Unique card identifier.
status
string
The new updated card status (will be frozen).
frozenAt
string
ISO 8601 timestamp indicating exactly when the freeze command was executed.
curl --request POST \
  --url https://api.havn.finance/v1/cards/crd_8f7b2c9a1e3d4f5b/freeze \
  --header 'Authorization: Bearer havn_live_abc123def456' \
  --header 'Content-Type: application/json' \
  --data '{
    "reason": "suspicious_activity"
  }'
{
  "id": "crd_8f7b2c9a1e3d4f5b",
  "status": "frozen",
  "frozenAt": "2026-02-24T06:15:30Z"
}