The Cards API is in beta: the interface may change before general availability, and changes will be announced in Upcoming Changes. Talk to your Lead Technical Account Manager before building on it.
Introduction
The Cards API reports physical and virtual card issuance to Lead for compliance oversight. You use it to report card creation, update card details, and keep card status current throughout the card lifecycle — because you are the system of record, statuses here describe your report, which is why even a closed card can be corrected back to active through the API if it was reported in error. Cards are created in active status. You manage the card lifecycle through dedicated status-transition endpoints — activate, deactivate, and close. You’ll integrate with this API if you issue physical or virtual cards (for example, consumer, commercial, HSA, or FSA cards) to your customers. The Cards API sits downstream of the Entity and Accounts APIs in the compliance onboarding sequence:1
Entity API
Create the entity record for your cardholder.
2
Applications API
Submit the underwriting outcome during the cardholder’s onboarding.
Only certain programs will have an underwriting process; programs without underwriting can skip this step.
3
Accounts API
Create the account the card will be linked to, and link the cardholder entity to it as an
account_holder or authorized_user.4
Cards API
Create the card, referencing the
account_id and entity_id from the prior steps.A separate OpenAPI spec covers the full schema definition for request and response bodies. This page provides conceptual context for integrating with the API.
Authentication
Access is controlled via OAuth scopes:card/read_write: Required forPOSTandPATCHrequests and for all status-transition endpoints (/activate,/deactivate,/close). Grants both read and write access.card/read: Sufficient forGET /v0/cards/{id}. Grants read-only access.
account_id and an entity_id, which are sensitive tokens; the associated Entity objects (managed by the Entity API) hold the actual PII and are not exposed via the Cards API.
Endpoints
Card Object
details (sub-object)
Example Card Object
Key Concepts
Lifecycle and the Action-endpoint Status Model A card transitions through three states:active, inactive, and closed. When you create a card via POST /v0/cards, it starts directly in the active state. You make status changes exclusively through the dedicated action endpoints (/activate, /deactivate, /close) — you cannot set the status field via POST or PATCH.
The Closed State is Terminal
By default, closed is a terminal state. Support for moving a card from closed back to active or inactive is intended only to correct an accidental or erroneous closure. If a status was reported incorrectly, it can be corrected through the API. E.g., if a card was accidentally reported as closed, you can call the /activate endpoint to return it to an active status.
Entity and Account Prerequisites
The entity and account a card references must exist before you create the card, and the entity must already be linked to the account as an account_holder or authorized_user. Capture the account_id and entity_id from the Accounts and Entity APIs and supply them on your card creation request.
Replacement Cards
When you issue a replacement, set details.replacement_for on the new card to the card_id of the closed card it replaces. This replaces the pattern used in the prior version of Lead’s product based on file uploads, where you were requested to include the “replacing” card’s ID when closing the “replaced” card. This is so that you don’t need to create the new card first just to obtain its ID and then patch the old card’s status.
