Cards

Get card

GEThttps://api.firstleeward.com/v0/cards/:id

Retrieves a single card by its unique identifier.

Authorizations

Authorizationstring · headerrequired

API key as Bearer token, e.g. Bearer YOUR_API_KEY

Headers

Leeward-Versionenum<string>required

API version (YYYY-MM-DD). Available option: 2026-09-18

Path Parameters

idstring<uuid>required

Response

200Card resource with directly-attached spend policies
idstring<uuid>required

Unique card identifier

accountIdstring<uuid>required

ID of the account the card belongs to

userIdstring<uuid>required

ID of the user the card belongs to

typestringrequired

Card type (VIRTUAL or PHYSICAL)

Available options:VIRTUALPHYSICAL
cardDesignIdstringrequired

Design the card was issued with. For a physical card this is the design on the card record, which can differ from the one produced: the plastic is made from the design chosen on the shipment, returned as cardDesignId per card on the shipment endpoints.

statusstringrequired

Current card status

Available options:ACTIVEFROZENBLOCKEDEXPIRED
blockReasonobject | nullrequired

Block reason details (only present when status is BLOCKED)

Show child attributes
typestringrequired

Machine-readable code for the block reason

Available options:CLIENT_REQUESTEDSUSPECTED_FRAUD_CVVSUSPECTED_FRAUD_EXPIRYSUSPECTED_FRAUD_PINFRAUD_ALERT_CONFIRMEDOTHER
messagestringrequired

Human-readable message for the block reason

blockLiftablebooleanrequired

Whether the current block can be lifted with the unblock endpoint. false for blocks that need First Leeward support, and for a card that holds no block.

frozenbooleanrequired

Whether the card is frozen. A block hides a freeze from status, so a card that is BLOCKED with frozen: true returns to FROZEN once the block lifts.

cardholderNamestringrequired

Cardholder name displayed on card

last4stringrequired

Last 4 digits of the card number. Use reveal endpoint for full details.

3dsChallengeMethodstringrequired

3DS challenge verification method

Available options:SMSWEBHOOK
physicalCardStatusstring | nullrequired

Physical lifecycle of the card (production + shipping + activation rollup). Defaults to NOT_ORDERED for newly created physical cards. null for virtual cards, which have no physical lifecycle.

Available options:NOT_ORDEREDREQUESTEDIN_PRODUCTIONPRODUCTION_COMPLETEDIN_TRANSITOUT_FOR_DELIVERYDELIVEREDACTIVATEDCANCELEDDELIVERY_FAILEDEXCEPTION
createdAtstringrequired

ISO 8601 timestamp of creation

updatedAtstringrequired

ISO 8601 timestamp of last update

policiesobject[]required

Active spend policies attached directly to this card. Only directly-attached policies are included - those attached at other scopes and platform-enforced limits are not.

Show child attributes
Option 1 · MerchantRestrictionPolicy
idstringrequired

Policy ID. A UUID for your policies; a stable identifier for platform policies.

scopeobjectrequired

Where the policy attaches.

Show child attributes
Option 1 · Project
typestringrequired
Option 2 · User
typestringrequired
idstring<uuid>required
Option 3 · Card
typestringrequired
idstring<uuid>required
statusstringrequired
Available options:ACTIVEDISABLED
namestringrequired

Human-readable label.

createdAtstringrequired

ISO 8601 creation timestamp.

updatedAtstringrequired

ISO 8601 last-update timestamp.

typestringrequired
configobjectrequired

Block transactions whose merchant matches the criteria.

Show child attributes
matchobjectrequired
Show child attributes
Option 1 · Mcc
dimensionstringrequired
codesstring[]required
Option 2 · MerchantCountry
dimensionstringrequired
countriesstring[]required
Option 2 · ChannelRestrictionPolicy
idstringrequired

Policy ID. A UUID for your policies; a stable identifier for platform policies.

scopeobjectrequired

Where the policy attaches.

Show child attributes
Option 1 · Project
typestringrequired
Option 2 · User
typestringrequired
idstring<uuid>required
Option 3 · Card
typestringrequired
idstring<uuid>required
statusstringrequired
Available options:ACTIVEDISABLED
namestringrequired

Human-readable label.

createdAtstringrequired

ISO 8601 creation timestamp.

updatedAtstringrequired

ISO 8601 last-update timestamp.

typestringrequired
configobjectrequired

Block transactions on the listed channels.

Show child attributes
channelsstring[]required
Available options:ATMPOSECOMMERCEVISA_DIRECT
Option 3 · TransactionAmountLimitPolicy
idstringrequired

Policy ID. A UUID for your policies; a stable identifier for platform policies.

scopeobjectrequired

Where the policy attaches.

Show child attributes
Option 1 · Project
typestringrequired
Option 2 · User
typestringrequired
idstring<uuid>required
Option 3 · Card
typestringrequired
idstring<uuid>required
statusstringrequired
Available options:ACTIVEDISABLED
namestringrequired

Human-readable label.

createdAtstringrequired

ISO 8601 creation timestamp.

updatedAtstringrequired

ISO 8601 last-update timestamp.

typestringrequired
currencystringrequired

Currency of the policy's amounts - the billing currency of the project's card program.

configobjectrequired

Cap the amount of a single transaction.

Show child attributes
maxAmountnumberrequired

Amount in the project's billing currency.

Option 4 · SpendLimitPolicy
idstringrequired

Policy ID. A UUID for your policies; a stable identifier for platform policies.

scopeobjectrequired

Where the policy attaches.

Show child attributes
Option 1 · Project
typestringrequired
Option 2 · User
typestringrequired
idstring<uuid>required
Option 3 · Card
typestringrequired
idstring<uuid>required
statusstringrequired
Available options:ACTIVEDISABLED
namestringrequired

Human-readable label.

createdAtstringrequired

ISO 8601 creation timestamp.

updatedAtstringrequired

ISO 8601 last-update timestamp.

typestringrequired
currencystringrequired

Currency of the policy's amounts - the billing currency of the project's card program.

configobjectrequired

Cap cumulative spend over a calendar window.

Show child attributes
windowobjectrequired
Show child attributes
typestringrequired
periodstringrequired
Available options:DAILYWEEKLYMONTHLYYEARLYLIFETIME
maxAmountnumberrequired

Amount in the project's billing currency.

filterobject
Show child attributes
channelsstring[]
Available options:ATMPOSECOMMERCEVISA_DIRECT
merchantobject
Show child attributes
Option 1 · Mcc
dimensionstringrequired
codesstring[]required
Option 2 · MerchantCountry
dimensionstringrequired
countriesstring[]required
Option 5 · AuthorizationCountLimitPolicy
idstringrequired

Policy ID. A UUID for your policies; a stable identifier for platform policies.

scopeobjectrequired

Where the policy attaches.

Show child attributes
Option 1 · Project
typestringrequired
Option 2 · User
typestringrequired
idstring<uuid>required
Option 3 · Card
typestringrequired
idstring<uuid>required
statusstringrequired
Available options:ACTIVEDISABLED
namestringrequired

Human-readable label.

createdAtstringrequired

ISO 8601 creation timestamp.

updatedAtstringrequired

ISO 8601 last-update timestamp.

typestringrequired
configobjectrequired

Cap the number of transactions over a calendar window.

Show child attributes
windowobjectrequired
Show child attributes
typestringrequired
periodstringrequired
Available options:DAILYWEEKLYMONTHLYYEARLYLIFETIME
maxCountintegerrequired

Maximum number of transactions in the window.

filterobject
Show child attributes
channelsstring[]
Available options:ATMPOSECOMMERCEVISA_DIRECT
merchantobject
Show child attributes
Option 1 · Mcc
dimensionstringrequired
codesstring[]required
Option 2 · MerchantCountry
dimensionstringrequired
countriesstring[]required
404Card not found
errorobjectrequired
Show child attributes
codestringrequired
messagestringrequired
detailobject | nullrequired