Skip to main content

Introduction

The Cards API reports physical and virtual card data to Lead for compliance oversight. Use it to notify Lead when cards are created with your issuer processor, retrieve card details, and manage each card through its full lifecycle — from activation and deactivation to closure. 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.
Accounts are created in active status. You can manage the account lifecycle through dedicated status-transition endpoints — activate, deactivate, and close.
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 for POST and PATCH requests and for all status-transition endpoints (/activate, /deactivate, /close). Grants both read and write access.
  • card/read: Sufficient for GET /v0/cards/{id}. Grants read-only access.
Use the least-privileged scope appropriate to the operation you’re performing. The Card object links to an 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.
All endpoints are available in both Sandbox and Production. Versioning is handled via a prefix in the URI path (/v0/). This is the V0 API; we’ll add non-breaking changes to V0, and breaking changes will require a new version.

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.