Cards
Block card
https://api.firstleeward.com/v0/cards/:id/blockBlocks a card. A block is the hard stop - a compromised card, a dispute, an account on hold - while freeze is the soft toggle a cardholder flips. A blocked card declines everything: online, in-store, and ATM. Blocking a frozen card keeps the freeze, so the card returns to FROZEN when the block lifts. Idempotent, and a block placed by First Leeward is never replaced: if the card already carries a block with blockLiftable: false, that reason stays and the card remains one only First Leeward support can unblock.
Authorizations
Authorizationstring · headerrequiredAPI key as Bearer token, e.g. Bearer YOUR_API_KEY
Headers
Leeward-Versionenum<string>requiredAPI version (YYYY-MM-DD). Available option: 2026-09-18
Path Parameters
idstring<uuid>requiredResponse
200Card resource
idstring<uuid>requiredUnique card identifier
accountIdstring<uuid>requiredID of the account the card belongs to
userIdstring<uuid>requiredID of the user the card belongs to
typestringrequiredCard type (VIRTUAL or PHYSICAL)
VIRTUALPHYSICALcardDesignIdstringrequiredDesign 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.
statusstringrequiredCurrent card status
ACTIVEFROZENBLOCKEDEXPIREDblockReasonobject | nullrequiredBlock reason details (only present when status is BLOCKED)
Show child attributes
typestringrequiredMachine-readable code for the block reason
CLIENT_REQUESTEDSUSPECTED_FRAUD_CVVSUSPECTED_FRAUD_EXPIRYSUSPECTED_FRAUD_PINFRAUD_ALERT_CONFIRMEDOTHERmessagestringrequiredHuman-readable message for the block reason
blockLiftablebooleanrequiredWhether 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.
frozenbooleanrequiredWhether 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.
cardholderNamestringrequiredCardholder name displayed on card
last4stringrequiredLast 4 digits of the card number. Use reveal endpoint for full details.
3dsChallengeMethodstringrequired3DS challenge verification method
SMSWEBHOOKphysicalCardStatusstring | nullrequiredPhysical 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.
NOT_ORDEREDREQUESTEDIN_PRODUCTIONPRODUCTION_COMPLETEDIN_TRANSITOUT_FOR_DELIVERYDELIVEREDACTIVATEDCANCELEDDELIVERY_FAILEDEXCEPTIONcreatedAtstringrequiredISO 8601 timestamp of creation
updatedAtstringrequiredISO 8601 timestamp of last update
400Card operation not allowed in current status
errorobjectrequiredShow child attributes
codestringrequiredmessagestringrequireddetailobject | nullrequired404Card not found
errorobjectrequiredShow child attributes
codestringrequiredmessagestringrequireddetailobject | nullrequired