Get card details
Returns the current status and details of card orders. If card_id is provided, returns a single card, looked up across U.S. non-reloadable, international non-reloadable, and reloadable cards. If omitted, returns all cards of the given card_type for the authenticated user; card_type defaults to Non-Reloadable U.S. when omitted, so existing callers see unchanged behavior. Pass card_type=Non-Reloadable International to list international cards, or card_type=Reloadable to list reloadable cards.
For U.S. non-reloadable cards, details take ~7-10 seconds to become available after ordering; poll every 2-3 seconds until status is "ready", then read card_details. For international non-reloadable cards, the order is queued until an admin fulfills it (typically within 24 hours), after which card_details is populated.
For international cards, the card_id returned by /order-intl-card is a queue id. After admin fulfillment, the issuer’s transaction id becomes the new card_id and the original queue id is preserved on the card as queued_order_card_id. You can keep polling /get-card-data?card_id=<original-queue-id> and it will resolve to the fulfilled card.
Reloadable cards are a separate product, set up by the account holder in the Laso dashboard rather than ordered through this API. They are reusable (a multi_use card stays open across charges until its limit is spent) and can be topped up, unlike the single-load non-reloadable cards. Listing them returns balance, spend_limit, last4, expiry, and reusable. If the wallet has no card issuer account linked, the list is empty and a note explains how the holder sets one up.
Reading a reloadable card’s number and CVV requires the account holder’s approval: request the card by card_id, and if the response contains details_approval.status: "pending", the holder has been emailed an approve/deny link. Once they approve, retry with approval_id to receive card_details. Spend the card by entering its number, expiry, CVV, and the returned billing_address exactly as given at the merchant’s checkout — the address comes from the account holder’s identity verification and is AVS-checked, and a mismatch is the most common decline on a card that has funds. A card with reusable: true stays open after an approved charge and can be spent again up to its remaining balance; a charge larger than the balance is declined in full, as there are no partial approvals.
Requires a Bearer token from /auth or /get-card.
Authorizations
Firebase ID token from /auth or any paid route, sent as a Bearer token: Authorization: Bearer <id_token> (the Bearer prefix is required).
Query Parameters
The card ID returned from /get-card or /order-intl-card, or a reloadable card's id from card_type=Reloadable. Looked up across all three card types. If omitted, returns all cards of card_type.
When listing all cards (no card_id), filters by card type. Defaults to Non-Reloadable U.S. if omitted (preserves existing client behavior). Pass Non-Reloadable International to list international cards, or Reloadable to list reloadable cards.
Non-Reloadable U.S., Non-Reloadable International, Reloadable Reloadable cards only. When a request for a reloadable card's card_details returns details_approval.status: "pending", the account holder is emailed an approve/deny link. After they approve, retry the same request with the approval_id from that response to receive the card number and CVV.
Response
Card status and details. Returns a single CardData object when card_id is provided, or { "cards": CardData[] } when omitted.
- Option 1
- Option 2
Response from /get-card-data. When status is ready, card_details contains the card number, CVV, and expiry. International cards include extra fields (label, charged_usd_amount, fees_paid, state, balance_update_requested_timestamp, queued_order_card_id).
Non-Reloadable U.S., Non-Reloadable International U.S. cards only.
"US"
International cards only. User-supplied label, may be empty.
International cards only. Amount the user was charged including fees.
International cards only. Fees paid for this card.
International cards only. Raw card state.
queued, redeemable, complete, refund-requested, refund-requested-approved-for-queue, archived, refunded International cards only. Unix timestamp (ms) of an outstanding admin balance update request, or null if none is pending.
International cards only. The original card_id returned by /order-intl-card. After admin fulfillment the card is reissued with a new card_id (the issuer's transaction id); querying /get-card-data?card_id=<original> continues to resolve to the fulfilled card via this field.
U.S. cards only. Unix timestamp (ms) of the last time card data was refreshed.
pending, ready, queued, complete, refund-requested, refunded, archived Only present when status is ready (U.S.) or complete (international).
Card transaction history. U.S. and international cards use slightly different shapes — see CardTransaction and IntlCardTransaction.
U.S. prepaid card transaction.
- Option 1
- Option 2