Skip to main content
POST
Freeze a card
Freezing an already-frozen card returns the card unchanged rather than failing, so it is safe to call defensively.

Error codes

Authorizations

Authorization
string
header
required

A secret API key, sent as Authorization: Bearer sk_test_… in sandbox or Bearer sk_live_… in live.

Path Parameters

cardId
string
required

Card ULID. A 26-character ULID.

Required string length: 26
Pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
Example:

"01K2Z3AB4C5D6E7F8G9HJKMNPQ"

Body

application/json
externalReference
string
required
Required string length: 1 - 120

Response

Successful response.

id
string
required

A 26-character ULID.

Required string length: 26
Pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
Example:

"01K2Z3AB4C5D6E7F8G9HJKMNPQ"

label
string
required

Your own name for the card.

Maximum string length: 80
type
enum<string>
required
Available options:
virtual,
disposable
brand
enum<string>
required
Available options:
mastercard
currency
enum<string>
required

Cards are USD only.

Available options:
USD
status
enum<string>
required
Available options:
creating,
active,
frozen,
funding_failed,
terminating,
used,
terminated,
failed,
fraud
maskedPan
string
required

The masked number. The full PAN is only available from the credentials endpoint.

expiryMonth
integer
required
Required range: 1 <= x <= 12
expiryYear
integer
required
holder
object
required
balance
string
required

An integer number of the asset’s smallest unit. Use this value for arithmetic.

Pattern: ^-?\d+$
Example:

"2500000"

balanceFormatted
string
required

The same figure rendered for display. Never use it in a calculation.

spendingControls
object | null
required

Per-card limits, in USD minor units. Not available on a disposable card.

operations
object[]
required

Issuance, funding, withdrawal, and termination operations for this card. Empty on a list response.

createdAt
string<date-time>
required
Example:

"2026-08-14T09:00:00.000Z"

updatedAt
string<date-time>
required
Example:

"2026-08-14T09:00:00.000Z"