{
"error": "card_type must be \"Non-Reloadable\" or \"Non-Reloadable International\" when provided. Received: foo"
}
{
"error": "Missing or invalid Authorization header"
}
{
"error": "Not authorized to view this card"
}
{
"error": "Card not found"
}
Cards
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 is gated by the card issuer, and which gate applies depends on who issued it. Request the card by card_id; the response carries exactly one of three fields. card_details is the normal result for a card created through /create-reloadable-card, which Laso issues on the holder’s behalf and can read for them directly — no approval step is involved. details_approval with status: "pending" and an approval_id appears only for a card the holder created in a DIFFERENT app: the issuer has emailed them an approve/deny link, and once they approve you retry as GET /get-card-data?card_id=<CARD_ID>&approval_id=<APPROVAL_ID> to receive card_details. details_error means the issuer could not return the number; retry shortly, and if it persists the holder can read the card in the dashboard. Spend the card by entering its number, expiry, and CVV at the merchant’s checkout. billing_address is null on these cards and always will be — the issuer holds no billing address for a card. If a merchant requires one, use the address the account holder gave at identity verification (ask them; do not guess), since these cards are AVS-checked against it 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.
GET
/
get-card-data
Get card details
curl --request GET \ --url https://laso.finance/get-card-data \ --header 'Authorization: <api-key>'
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.
Reloadable cards only, and only for a card the account holder created in a DIFFERENT app: pass the approval_id from a prior details_approval response once they have approved it. Cards created through /create-reloadable-card are Laso-issued and never require this.
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. Three card types share this shape and each populates a different subset.
Non-reloadable (U.S. and International): when status is ready, card_details carries the number, CVV, and expiry. International cards add label, charged_usd_amount, fees_paid, state, balance_update_requested_timestamp, and queued_order_card_id.
Reloadable: returns last4, expiry, balance, spend_limit, reusable, issuer_status, created_at, and expires_at instead of the usd_amount/timestamp fields above. Reading its number and CVV is gated by the card issuer, so exactly one of card_details, details_approval, or details_error is present on a single-card lookup.
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.
Reloadable cards only, and only for a card the holder created in ANOTHER app. The issuer has emailed them an approve/deny link; retry with approval_id once they approve. Cards created through /create-reloadable-card are Laso-issued and never take this path.
Reloadable cards only. Present when the issuer could not return the number, so a card with no card_details is never silently indistinguishable from one whose details are pending.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Laso Finance API","colors":{"primary":"#3182CE","light":"#63B3ED","dark":"#2B6CB0"},"logo":{"light":"https://mintcdn.com/lasofinance/ofpGRRSVLQ9V1OQK/logo/light.svg?fit=max\u0026auto=format\u0026n=ofpGRRSVLQ9V1OQK\u0026q=85\u0026s=bd9f84a4711475d24375fe444b276211","dark":"https://mintcdn.com/lasofinance/ofpGRRSVLQ9V1OQK/logo/dark.svg?fit=max\u0026auto=format\u0026n=ofpGRRSVLQ9V1OQK\u0026q=85\u0026s=02b9e95a41760833955f02322dd28520"},"favicon":"https://mintcdn.com/lasofinance/ofpGRRSVLQ9V1OQK/favicon.svg?fit=max\u0026auto=format\u0026n=ofpGRRSVLQ9V1OQK\u0026q=85\u0026s=b77639351bc9249b59a562d4ce64ac18","navbar":{"links":[{"href":"mailto:support@laso.finance","label":"Support"},{"icon":"github","href":"https://github.com/LasoFinance/docs","label":"GitHub"}],"primary":{"type":"button","label":"laso.finance","href":"https://laso.finance"}},"footer":{"socials":{"x":"https://x.com/intent/follow?screen_name=lasofinance","github":"https://github.com/LasoFinance/docs"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":true},"navigation":{"global":{},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"lasofinance","hasAudioNarration":false,"actualSubdomain":"lasofinance","customDomains":["docs.laso.finance"],"gitSource":{"type":"github","owner":"lasofinance","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"feedback":{"edits":true,"thumbs":true,"issues":true,"agentFeedback":true},"entitlements":{},"buildId":"6aee4de288ca07f8054a49d4","clientVersion":"0.0.4088","searchFilterCounts":[{"language":"default","tag":"API Reference","count":78},{"language":"default","tag":"Guides","count":38},{"language":"default","tag":"Cards","count":20},{"language":"default","tag":"Banking","count":19},{"language":"default","tag":"Agent Wallet","count":11},{"language":"default","tag":"Platform","count":8},{"language":"default","tag":"Spend","count":8},{"language":"default","tag":"Account","count":8},{"language":"default","tag":"Integrations","count":7},{"language":"default","tag":"How We Use","count":6}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/get-card-details","slug":"/api-reference/get-card-details","pageMetadata":{"title":"Get card details","description":"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.\n\nFor 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.\n\nFor 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=\u003coriginal-queue-id>` and it will resolve to the fulfilled card.\n\n**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.\n\nReading a reloadable card's **number and CVV** is gated by the card issuer, and which gate applies depends on who issued it. Request the card by `card_id`; the response carries exactly one of three fields. `card_details` is the normal result for a card created through `/create-reloadable-card`, which Laso issues on the holder's behalf and can read for them directly — no approval step is involved. `details_approval` with `status: \"pending\"` and an `approval_id` appears only for a card the holder created in a DIFFERENT app: the issuer has emailed them an approve/deny link, and once they approve you retry as `GET /get-card-data?card_id=\u003cCARD_ID>\u0026approval_id=\u003cAPPROVAL_ID>` to receive `card_details`. `details_error` means the issuer could not return the number; retry shortly, and if it persists the holder can read the card in the dashboard. Spend the card by entering its number, expiry, and CVV at the merchant's checkout. `billing_address` is null on these cards and always will be — the issuer holds no billing address for a card. If a merchant requires one, use the address the account holder gave at identity verification (ask them; do not guess), since these cards are AVS-checked against it 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.\n\nRequires a Bearer token from `/auth` or `/get-card`.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-card-data","href":"/api-reference/get-card-details","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Returns the current status and details of card orders. If \", _jsx(_components.code, {\n children: \"card_id\"\n }), \" 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 \", _jsx(_components.code, {\n children: \"card_type\"\n }), \" for the authenticated user; \", _jsx(_components.code, {\n children: \"card_type\"\n }), \" defaults to \", _jsx(_components.code, {\n children: \"Non-Reloadable U.S.\"\n }), \" when omitted, so existing callers see unchanged behavior. Pass \", _jsx(_components.code, {\n children: \"card_type=Non-Reloadable International\"\n }), \" to list international cards, or \", _jsx(_components.code, {\n children: \"card_type=Reloadable\"\n }), \" to list reloadable cards.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"For U.S. non-reloadable cards, details take ~7-10 seconds to become available after ordering; poll every 2-3 seconds until \", _jsx(_components.code, {\n children: \"status\"\n }), \" is \", _jsx(_components.code, {\n children: \"\\\"ready\\\"\"\n }), \", then read \", _jsx(_components.code, {\n children: \"card_details\"\n }), \". For international non-reloadable cards, the order is \", _jsx(_components.code, {\n children: \"queued\"\n }), \" until an admin fulfills it (typically within 24 hours), after which \", _jsx(_components.code, {\n children: \"card_details\"\n }), \" is populated.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"For international cards, the \", _jsx(_components.code, {\n children: \"card_id\"\n }), \" returned by \", _jsx(_components.code, {\n children: \"/order-intl-card\"\n }), \" is a queue id. After admin fulfillment, the issuer’s transaction id becomes the new \", _jsx(_components.code, {\n children: \"card_id\"\n }), \" and the original queue id is preserved on the card as \", _jsx(_components.code, {\n children: \"queued_order_card_id\"\n }), \". You can keep polling \", _jsx(_components.code, {\n children: \"/get-card-data?card_id=\u003coriginal-queue-id>\"\n }), \" and it will resolve to the fulfilled card.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Reloadable cards\"\n }), \" are a separate product, set up by the account holder in the Laso dashboard rather than ordered through this API. They are reusable (a \", _jsx(_components.code, {\n children: \"multi_use\"\n }), \" 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 \", _jsx(_components.code, {\n children: \"balance\"\n }), \", \", _jsx(_components.code, {\n children: \"spend_limit\"\n }), \", \", _jsx(_components.code, {\n children: \"last4\"\n }), \", \", _jsx(_components.code, {\n children: \"expiry\"\n }), \", and \", _jsx(_components.code, {\n children: \"reusable\"\n }), \". If the wallet has no card issuer account linked, the list is empty and a \", _jsx(_components.code, {\n children: \"note\"\n }), \" explains how the holder sets one up.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Reading a reloadable card’s \", _jsx(_components.strong, {\n children: \"number and CVV\"\n }), \" is gated by the card issuer, and which gate applies depends on who issued it. Request the card by \", _jsx(_components.code, {\n children: \"card_id\"\n }), \"; the response carries exactly one of three fields. \", _jsx(_components.code, {\n children: \"card_details\"\n }), \" is the normal result for a card created through \", _jsx(_components.code, {\n children: \"/create-reloadable-card\"\n }), \", which Laso issues on the holder’s behalf and can read for them directly — no approval step is involved. \", _jsx(_components.code, {\n children: \"details_approval\"\n }), \" with \", _jsx(_components.code, {\n children: \"status: \\\"pending\\\"\"\n }), \" and an \", _jsx(_components.code, {\n children: \"approval_id\"\n }), \" appears only for a card the holder created in a DIFFERENT app: the issuer has emailed them an approve/deny link, and once they approve you retry as \", _jsx(_components.code, {\n children: \"GET /get-card-data?card_id=\u003cCARD_ID>\u0026approval_id=\u003cAPPROVAL_ID>\"\n }), \" to receive \", _jsx(_components.code, {\n children: \"card_details\"\n }), \". \", _jsx(_components.code, {\n children: \"details_error\"\n }), \" means the issuer could not return the number; retry shortly, and if it persists the holder can read the card in the dashboard. Spend the card by entering its number, expiry, and CVV at the merchant’s checkout. \", _jsx(_components.code, {\n children: \"billing_address\"\n }), \" is null on these cards and always will be — the issuer holds no billing address for a card. If a merchant requires one, use the address the account holder gave at identity verification (ask them; do not guess), since these cards are AVS-checked against it and a mismatch is the most common decline on a card that has funds. A card with \", _jsx(_components.code, {\n children: \"reusable: true\"\n }), \" stays open after an approved charge and can be spent again up to its remaining \", _jsx(_components.code, {\n children: \"balance\"\n }), \"; a charge larger than the balance is declined in full, as there are no partial approvals.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Requires a Bearer token from \", _jsx(_components.code, {\n children: \"/auth\"\n }), \" or \", _jsx(_components.code, {\n children: \"/get-card\"\n }), \".\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Get card details","description":"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.\n\nFor 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.\n\nFor 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=\u003coriginal-queue-id>` and it will resolve to the fulfilled card.\n\n**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.\n\nReading a reloadable card's **number and CVV** is gated by the card issuer, and which gate applies depends on who issued it. Request the card by `card_id`; the response carries exactly one of three fields. `card_details` is the normal result for a card created through `/create-reloadable-card`, which Laso issues on the holder's behalf and can read for them directly — no approval step is involved. `details_approval` with `status: \"pending\"` and an `approval_id` appears only for a card the holder created in a DIFFERENT app: the issuer has emailed them an approve/deny link, and once they approve you retry as `GET /get-card-data?card_id=\u003cCARD_ID>\u0026approval_id=\u003cAPPROVAL_ID>` to receive `card_details`. `details_error` means the issuer could not return the number; retry shortly, and if it persists the holder can read the card in the dashboard. Spend the card by entering its number, expiry, and CVV at the merchant's checkout. `billing_address` is null on these cards and always will be — the issuer holds no billing address for a card. If a merchant requires one, use the address the account holder gave at identity verification (ask them; do not guess), since these cards are AVS-checked against it 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.\n\nRequires a Bearer token from `/auth` or `/get-card`.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-card-data","href":"/api-reference/get-card-details","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"getCardData","summary":"Get card details","description":"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.\n\nFor 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.\n\nFor 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=\u003coriginal-queue-id>` and it will resolve to the fulfilled card.\n\n**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.\n\nReading a reloadable card's **number and CVV** is gated by the card issuer, and which gate applies depends on who issued it. Request the card by `card_id`; the response carries exactly one of three fields. `card_details` is the normal result for a card created through `/create-reloadable-card`, which Laso issues on the holder's behalf and can read for them directly — no approval step is involved. `details_approval` with `status: \"pending\"` and an `approval_id` appears only for a card the holder created in a DIFFERENT app: the issuer has emailed them an approve/deny link, and once they approve you retry as `GET /get-card-data?card_id=\u003cCARD_ID>\u0026approval_id=\u003cAPPROVAL_ID>` to receive `card_details`. `details_error` means the issuer could not return the number; retry shortly, and if it persists the holder can read the card in the dashboard. Spend the card by entering its number, expiry, and CVV at the merchant's checkout. `billing_address` is null on these cards and always will be — the issuer holds no billing address for a card. If a merchant requires one, use the address the account holder gave at identity verification (ask them; do not guess), since these cards are AVS-checked against it 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.\n\nRequires a Bearer token from `/auth` or `/get-card`.","security":["17b7831f-64a0-42b7-a793-ea94c913db4f"],"parameters":["ff05616e-bc15-4930-8d33-601a55a77ed2","06eb678d-8e6d-496e-99b5-2dc617cd3a1f","11464b20-ad00-45bd-81c9-ea255db88527"],"responses":{"200":"0b7000a5-604a-4646-936a-1c1694ebcff0","400":"4e898383-37e7-4e87-81ae-1329220757ac","401":"ae71a2bb-40cf-417a-9575-e7c8f8b59a35","403":"a2659924-17ee-48dd-87c2-36d89b6015a3","404":"5b266263-80ed-4695-919f-672b148278e1"},"method":"get","type":"path","servers":["ac3eaebf-a471-45a2-a1e6-5b184b32c280"],"path":"/get-card-data","baseUrlOptions":["https://laso.finance"],"title":"Get card details","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"ff05616e-bc15-4930-8d33-601a55a77ed2":{"name":"card_id","in":"query","required":false,"description":"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`.","schema":{"type":"string","isRequired":false,"description":"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`.","uniqueKey":"","typeLabel":"string"}},"06eb678d-8e6d-496e-99b5-2dc617cd3a1f":{"name":"card_type","in":"query","required":false,"description":"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.","schema":{"type":"string","enum":["Non-Reloadable U.S.","Non-Reloadable International","Reloadable"],"default":"Non-Reloadable U.S.","isRequired":false,"description":"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.","uniqueKey":"","typeLabel":"enum\u003cstring>"}},"11464b20-ad00-45bd-81c9-ea255db88527":{"name":"approval_id","in":"query","required":false,"description":"Reloadable cards only, and only for a card the account holder created in a DIFFERENT app: pass the approval_id from a prior details_approval response once they have approved it. Cards created through /create-reloadable-card are Laso-issued and never require this.","schema":{"type":"string","isRequired":false,"description":"Reloadable cards only, and only for a card the account holder created in a DIFFERENT app: pass the approval_id from a prior details_approval response once they have approved it. Cards created through /create-reloadable-card are Laso-issued and never require this.","uniqueKey":"","typeLabel":"string"}}},"responses":{"0b7000a5-604a-4646-936a-1c1694ebcff0":{"description":"Card status and details. Returns a single `CardData` object when `card_id` is provided, or `{ \"cards\": CardData[] }` when omitted.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","description":"Response from `/get-card-data`. Three card types share this shape and each populates a different subset.\n\n**Non-reloadable (U.S. and International):** when `status` is `ready`, `card_details` carries the number, CVV, and expiry. International cards add `label`, `charged_usd_amount`, `fees_paid`, `state`, `balance_update_requested_timestamp`, and `queued_order_card_id`.\n\n**Reloadable:** returns `last4`, `expiry`, `balance`, `spend_limit`, `reusable`, `issuer_status`, `created_at`, and `expires_at` instead of the `usd_amount`/`timestamp` fields above. Reading its number and CVV is gated by the card issuer, so exactly one of `card_details`, `details_approval`, or `details_error` is present on a single-card lookup.","properties":{"card_id":{"type":"string","uniqueKey":"oneOf.0.card_id","typeLabel":"string"},"card_type":{"type":"string","enum":["Non-Reloadable U.S.","Non-Reloadable International","Reloadable"],"uniqueKey":"oneOf.0.card_type","typeLabel":"enum\u003cstring>"},"usd_amount":{"type":"number","uniqueKey":"oneOf.0.usd_amount","typeLabel":"number"},"country":{"type":"string","description":"U.S. cards only.","example":"US","uniqueKey":"oneOf.0.country","typeLabel":"string"},"label":{"oneOf":[{"type":"string","description":"International cards only. User-supplied label, may be empty.","uniqueKey":"oneOf.0.label.oneOf.0","typeLabel":"string"},{"type":"null","description":"International cards only. User-supplied label, may be empty.","uniqueKey":"oneOf.0.label.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.label","typeLabel":"string | null"},"charged_usd_amount":{"type":"number","description":"International cards only. Amount the user was charged including fees.","uniqueKey":"oneOf.0.charged_usd_amount","typeLabel":"number"},"fees_paid":{"type":"number","description":"International cards only. Fees paid for this card.","uniqueKey":"oneOf.0.fees_paid","typeLabel":"number"},"state":{"type":"string","description":"International cards only. Raw card state.","enum":["queued","redeemable","complete","refund-requested","refund-requested-approved-for-queue","archived","refunded"],"uniqueKey":"oneOf.0.state","typeLabel":"enum\u003cstring>"},"balance_update_requested_timestamp":{"oneOf":[{"type":"number","description":"International cards only. Unix timestamp (ms) of an outstanding admin balance update request, or null if none is pending.","uniqueKey":"oneOf.0.balance_update_requested_timestamp.oneOf.0","typeLabel":"number"},{"type":"null","description":"International cards only. Unix timestamp (ms) of an outstanding admin balance update request, or null if none is pending.","uniqueKey":"oneOf.0.balance_update_requested_timestamp.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.balance_update_requested_timestamp","typeLabel":"number | null"},"queued_order_card_id":{"oneOf":[{"type":"string","description":"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=\u003coriginal>` continues to resolve to the fulfilled card via this field.","uniqueKey":"oneOf.0.queued_order_card_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"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=\u003coriginal>` continues to resolve to the fulfilled card via this field.","uniqueKey":"oneOf.0.queued_order_card_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.queued_order_card_id","typeLabel":"string | null"},"timestamp":{"type":"number","uniqueKey":"oneOf.0.timestamp","typeLabel":"number"},"timestamp_readable":{"type":"string","uniqueKey":"oneOf.0.timestamp_readable","typeLabel":"string"},"last_updated_timestamp":{"type":"number","description":"U.S. cards only. Unix timestamp (ms) of the last time card data was refreshed.","uniqueKey":"oneOf.0.last_updated_timestamp","typeLabel":"number"},"status":{"type":"string","enum":["pending","ready","queued","complete","refund-requested","refunded","archived"],"uniqueKey":"oneOf.0.status","typeLabel":"enum\u003cstring>"},"card_details":{"type":"object","description":"Only present when status is `ready` (U.S.) or `complete` (international).","properties":{"card_number":{"type":"string","uniqueKey":"oneOf.0.card_details.card_number","typeLabel":"string"},"exp_month":{"type":"string","uniqueKey":"oneOf.0.card_details.exp_month","typeLabel":"string"},"exp_year":{"type":"string","uniqueKey":"oneOf.0.card_details.exp_year","typeLabel":"string"},"cvv":{"type":"string","uniqueKey":"oneOf.0.card_details.cvv","typeLabel":"string"},"available_balance":{"type":"number","uniqueKey":"oneOf.0.card_details.available_balance","typeLabel":"number"},"billing_address":{"oneOf":[{"type":"object","description":"The card billing address to enter when a merchant asks for one at checkout. The billing name is always `Laso Finance`. For USA non-reloadable cards `required` is `false` (any valid U.S. billing address works; this is a known-good default). For international non-reloadable cards `required` is `true` and the merchant AVS check is validated against exactly this address. On reloadable cards this is always null: the card issuer holds no billing address for a card, and they are AVS-checked against the address the account holder gave at their own identity verification. Ask the holder for it; do not substitute Laso's address.","properties":{"name":{"type":"string","description":"Always `Laso Finance`.","uniqueKey":"oneOf.0.card_details.billing_address.oneOf.0.name","typeLabel":"string"},"line_1":{"type":"string","uniqueKey":"oneOf.0.card_details.billing_address.oneOf.0.line_1","typeLabel":"string"},"line_2":{"type":"string","uniqueKey":"oneOf.0.card_details.billing_address.oneOf.0.line_2","typeLabel":"string"},"city":{"type":"string","uniqueKey":"oneOf.0.card_details.billing_address.oneOf.0.city","typeLabel":"string"},"state":{"type":"string","uniqueKey":"oneOf.0.card_details.billing_address.oneOf.0.state","typeLabel":"string"},"zip":{"type":"string","uniqueKey":"oneOf.0.card_details.billing_address.oneOf.0.zip","typeLabel":"string"},"country":{"type":"string","uniqueKey":"oneOf.0.card_details.billing_address.oneOf.0.country","typeLabel":"string"},"required":{"type":"boolean","description":"`true` if the card enforces AVS against this exact address (international cards); `false` if any valid U.S. address works (USA cards).","uniqueKey":"oneOf.0.card_details.billing_address.oneOf.0.required","typeLabel":"boolean"},"note":{"type":"string","uniqueKey":"oneOf.0.card_details.billing_address.oneOf.0.note","typeLabel":"string"}},"uniqueKey":"oneOf.0.card_details.billing_address.oneOf.0","typeLabel":"object"},{"type":"null","description":"The card billing address to enter when a merchant asks for one at checkout. The billing name is always `Laso Finance`. For USA non-reloadable cards `required` is `false` (any valid U.S. billing address works; this is a known-good default). For international non-reloadable cards `required` is `true` and the merchant AVS check is validated against exactly this address. On reloadable cards this is always null: the card issuer holds no billing address for a card, and they are AVS-checked against the address the account holder gave at their own identity verification. Ask the holder for it; do not substitute Laso's address.","properties":{"name":{"type":"string","description":"Always `Laso Finance`."},"line_1":{"type":"string"},"line_2":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"zip":{"type":"string"},"country":{"type":"string"},"required":{"type":"boolean","description":"`true` if the card enforces AVS against this exact address (international cards); `false` if any valid U.S. address works (USA cards)."},"note":{"type":"string"}},"uniqueKey":"oneOf.0.card_details.billing_address.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.card_details.billing_address","typeLabel":"object | null"}},"uniqueKey":"oneOf.0.card_details","typeLabel":"object"},"transactions":{"type":"array","description":"Card transaction history. U.S. and international cards use slightly different shapes — see `CardTransaction` and `IntlCardTransaction`.","items":{"oneOf":[{"type":"object","description":"U.S. prepaid card transaction.","properties":{"amount":{"type":"number","uniqueKey":"oneOf.0.transactions.items.[INDEX].oneOf.0.amount","typeLabel":"number"},"date":{"type":"string","uniqueKey":"oneOf.0.transactions.items.[INDEX].oneOf.0.date","typeLabel":"string"},"description":{"type":"string","uniqueKey":"oneOf.0.transactions.items.[INDEX].oneOf.0.description","typeLabel":"string"},"is_credit":{"type":"boolean","uniqueKey":"oneOf.0.transactions.items.[INDEX].oneOf.0.is_credit","typeLabel":"boolean"}},"uniqueKey":"oneOf.0.transactions.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"International prepaid card transaction.","properties":{"amount":{"type":"number","description":"Transaction amount in USD.","uniqueKey":"oneOf.0.transactions.items.[INDEX].oneOf.1.amount","typeLabel":"number"},"date":{"oneOf":[{"type":"number","description":"Unix timestamp (ms) of the transaction.","uniqueKey":"oneOf.0.transactions.items.[INDEX].oneOf.1.date.oneOf.0","typeLabel":"number"},{"type":"null","description":"Unix timestamp (ms) of the transaction.","uniqueKey":"oneOf.0.transactions.items.[INDEX].oneOf.1.date.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.transactions.items.[INDEX].oneOf.1.date","typeLabel":"number | null"},"merchant":{"type":"string","uniqueKey":"oneOf.0.transactions.items.[INDEX].oneOf.1.merchant","typeLabel":"string"},"status":{"oneOf":[{"type":"string","description":"Optional status, e.g. `pending`.","uniqueKey":"oneOf.0.transactions.items.[INDEX].oneOf.1.status.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional status, e.g. `pending`.","uniqueKey":"oneOf.0.transactions.items.[INDEX].oneOf.1.status.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.transactions.items.[INDEX].oneOf.1.status","typeLabel":"string | null"}},"uniqueKey":"oneOf.0.transactions.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"oneOf.0.transactions.items.[INDEX]","typeLabel":"object"},"uniqueKey":"oneOf.0.transactions","typeLabel":"object[]"},"last4":{"type":"string","description":"Reloadable cards only. Last four digits.","example":"8260","uniqueKey":"oneOf.0.last4","typeLabel":"string"},"expiry":{"type":"string","description":"Reloadable cards only. MM/YY.","example":"07/31","uniqueKey":"oneOf.0.expiry","typeLabel":"string"},"balance":{"type":"number","description":"Reloadable cards only. Spendable balance in dollars.","example":208,"uniqueKey":"oneOf.0.balance","typeLabel":"number"},"spend_limit":{"type":"number","description":"Reloadable cards only. Spend cap in dollars.","example":208,"uniqueKey":"oneOf.0.spend_limit","typeLabel":"number"},"reusable":{"type":"boolean","description":"Reloadable cards only. True for a multi-use card.","uniqueKey":"oneOf.0.reusable","typeLabel":"boolean"},"issuer_status":{"type":"string","description":"Reloadable cards only. The issuer's own status string, kept verbatim.","example":"OPEN","uniqueKey":"oneOf.0.issuer_status","typeLabel":"string"},"created_at":{"type":"number","description":"Reloadable cards only. Epoch milliseconds.","uniqueKey":"oneOf.0.created_at","typeLabel":"number"},"expires_at":{"oneOf":[{"type":"number","description":"Reloadable cards only. Epoch milliseconds, or null when the card does not expire.","uniqueKey":"oneOf.0.expires_at.oneOf.0","typeLabel":"number"},{"type":"null","description":"Reloadable cards only. Epoch milliseconds, or null when the card does not expire.","uniqueKey":"oneOf.0.expires_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.expires_at","typeLabel":"number | null"},"details_approval":{"oneOf":[{"type":"object","description":"Reloadable cards only, and only for a card the holder created in ANOTHER app. The issuer has emailed them an approve/deny link; retry with `approval_id` once they approve. Cards created through `/create-reloadable-card` are Laso-issued and never take this path.","properties":{"status":{"type":"string","enum":["pending"],"uniqueKey":"oneOf.0.details_approval.oneOf.0.status","typeLabel":"enum\u003cstring>"},"approval_id":{"oneOf":[{"type":"string","uniqueKey":"oneOf.0.details_approval.oneOf.0.approval_id.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"oneOf.0.details_approval.oneOf.0.approval_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.details_approval.oneOf.0.approval_id","typeLabel":"string | null"},"note":{"type":"string","uniqueKey":"oneOf.0.details_approval.oneOf.0.note","typeLabel":"string"}},"uniqueKey":"oneOf.0.details_approval.oneOf.0","typeLabel":"object"},{"type":"null","description":"Reloadable cards only, and only for a card the holder created in ANOTHER app. The issuer has emailed them an approve/deny link; retry with `approval_id` once they approve. Cards created through `/create-reloadable-card` are Laso-issued and never take this path.","properties":{"status":{"type":"string","enum":["pending"]},"approval_id":{"oneOf":[{"type":"string"},{"type":"null"}]},"note":{"type":"string"}},"uniqueKey":"oneOf.0.details_approval.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.details_approval","typeLabel":"object | null"},"details_error":{"oneOf":[{"type":"string","description":"Reloadable cards only. Present when the issuer could not return the number, so a card with no `card_details` is never silently indistinguishable from one whose details are pending.","uniqueKey":"oneOf.0.details_error.oneOf.0","typeLabel":"string"},{"type":"null","description":"Reloadable cards only. Present when the issuer could not return the number, so a card with no `card_details` is never silently indistinguishable from one whose details are pending.","uniqueKey":"oneOf.0.details_error.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.details_error","typeLabel":"string | null"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","properties":{"cards":{"type":"array","items":{"type":"object","description":"Response from `/get-card-data`. Three card types share this shape and each populates a different subset.\n\n**Non-reloadable (U.S. and International):** when `status` is `ready`, `card_details` carries the number, CVV, and expiry. International cards add `label`, `charged_usd_amount`, `fees_paid`, `state`, `balance_update_requested_timestamp`, and `queued_order_card_id`.\n\n**Reloadable:** returns `last4`, `expiry`, `balance`, `spend_limit`, `reusable`, `issuer_status`, `created_at`, and `expires_at` instead of the `usd_amount`/`timestamp` fields above. Reading its number and CVV is gated by the card issuer, so exactly one of `card_details`, `details_approval`, or `details_error` is present on a single-card lookup.","properties":{"card_id":{"type":"string","uniqueKey":"oneOf.1.cards.items.[INDEX].card_id","typeLabel":"string"},"card_type":{"type":"string","enum":["Non-Reloadable U.S.","Non-Reloadable International","Reloadable"],"uniqueKey":"oneOf.1.cards.items.[INDEX].card_type","typeLabel":"enum\u003cstring>"},"usd_amount":{"type":"number","uniqueKey":"oneOf.1.cards.items.[INDEX].usd_amount","typeLabel":"number"},"country":{"type":"string","description":"U.S. cards only.","example":"US","uniqueKey":"oneOf.1.cards.items.[INDEX].country","typeLabel":"string"},"label":{"oneOf":[{"type":"string","description":"International cards only. User-supplied label, may be empty.","uniqueKey":"oneOf.1.cards.items.[INDEX].label.oneOf.0","typeLabel":"string"},{"type":"null","description":"International cards only. User-supplied label, may be empty.","uniqueKey":"oneOf.1.cards.items.[INDEX].label.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.cards.items.[INDEX].label","typeLabel":"string | null"},"charged_usd_amount":{"type":"number","description":"International cards only. Amount the user was charged including fees.","uniqueKey":"oneOf.1.cards.items.[INDEX].charged_usd_amount","typeLabel":"number"},"fees_paid":{"type":"number","description":"International cards only. Fees paid for this card.","uniqueKey":"oneOf.1.cards.items.[INDEX].fees_paid","typeLabel":"number"},"state":{"type":"string","description":"International cards only. Raw card state.","enum":["queued","redeemable","complete","refund-requested","refund-requested-approved-for-queue","archived","refunded"],"uniqueKey":"oneOf.1.cards.items.[INDEX].state","typeLabel":"enum\u003cstring>"},"balance_update_requested_timestamp":{"oneOf":[{"type":"number","description":"International cards only. Unix timestamp (ms) of an outstanding admin balance update request, or null if none is pending.","uniqueKey":"oneOf.1.cards.items.[INDEX].balance_update_requested_timestamp.oneOf.0","typeLabel":"number"},{"type":"null","description":"International cards only. Unix timestamp (ms) of an outstanding admin balance update request, or null if none is pending.","uniqueKey":"oneOf.1.cards.items.[INDEX].balance_update_requested_timestamp.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.cards.items.[INDEX].balance_update_requested_timestamp","typeLabel":"number | null"},"queued_order_card_id":{"oneOf":[{"type":"string","description":"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=\u003coriginal>` continues to resolve to the fulfilled card via this field.","uniqueKey":"oneOf.1.cards.items.[INDEX].queued_order_card_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"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=\u003coriginal>` continues to resolve to the fulfilled card via this field.","uniqueKey":"oneOf.1.cards.items.[INDEX].queued_order_card_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.cards.items.[INDEX].queued_order_card_id","typeLabel":"string | null"},"timestamp":{"type":"number","uniqueKey":"oneOf.1.cards.items.[INDEX].timestamp","typeLabel":"number"},"timestamp_readable":{"type":"string","uniqueKey":"oneOf.1.cards.items.[INDEX].timestamp_readable","typeLabel":"string"},"last_updated_timestamp":{"type":"number","description":"U.S. cards only. Unix timestamp (ms) of the last time card data was refreshed.","uniqueKey":"oneOf.1.cards.items.[INDEX].last_updated_timestamp","typeLabel":"number"},"status":{"type":"string","enum":["pending","ready","queued","complete","refund-requested","refunded","archived"],"uniqueKey":"oneOf.1.cards.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"card_details":{"type":"object","description":"Only present when status is `ready` (U.S.) or `complete` (international).","properties":{"card_number":{"type":"string","uniqueKey":"oneOf.1.cards.items.[INDEX].card_details.card_number","typeLabel":"string"},"exp_month":{"type":"string","uniqueKey":"oneOf.1.cards.items.[INDEX].card_details.exp_month","typeLabel":"string"},"exp_year":{"type":"string","uniqueKey":"oneOf.1.cards.items.[INDEX].card_details.exp_year","typeLabel":"string"},"cvv":{"type":"string","uniqueKey":"oneOf.1.cards.items.[INDEX].card_details.cvv","typeLabel":"string"},"available_balance":{"type":"number","uniqueKey":"oneOf.1.cards.items.[INDEX].card_details.available_balance","typeLabel":"number"},"billing_address":{"oneOf":[{"type":"object","description":"The card billing address to enter when a merchant asks for one at checkout. The billing name is always `Laso Finance`. For USA non-reloadable cards `required` is `false` (any valid U.S. billing address works; this is a known-good default). For international non-reloadable cards `required` is `true` and the merchant AVS check is validated against exactly this address. On reloadable cards this is always null: the card issuer holds no billing address for a card, and they are AVS-checked against the address the account holder gave at their own identity verification. Ask the holder for it; do not substitute Laso's address.","properties":{"name":{"type":"string","description":"Always `Laso Finance`.","uniqueKey":"oneOf.1.cards.items.[INDEX].card_details.billing_address.oneOf.0.name","typeLabel":"string"},"line_1":{"type":"string","uniqueKey":"oneOf.1.cards.items.[INDEX].card_details.billing_address.oneOf.0.line_1","typeLabel":"string"},"line_2":{"type":"string","uniqueKey":"oneOf.1.cards.items.[INDEX].card_details.billing_address.oneOf.0.line_2","typeLabel":"string"},"city":{"type":"string","uniqueKey":"oneOf.1.cards.items.[INDEX].card_details.billing_address.oneOf.0.city","typeLabel":"string"},"state":{"type":"string","uniqueKey":"oneOf.1.cards.items.[INDEX].card_details.billing_address.oneOf.0.state","typeLabel":"string"},"zip":{"type":"string","uniqueKey":"oneOf.1.cards.items.[INDEX].card_details.billing_address.oneOf.0.zip","typeLabel":"string"},"country":{"type":"string","uniqueKey":"oneOf.1.cards.items.[INDEX].card_details.billing_address.oneOf.0.country","typeLabel":"string"},"required":{"type":"boolean","description":"`true` if the card enforces AVS against this exact address (international cards); `false` if any valid U.S. address works (USA cards).","uniqueKey":"oneOf.1.cards.items.[INDEX].card_details.billing_address.oneOf.0.required","typeLabel":"boolean"},"note":{"type":"string","uniqueKey":"oneOf.1.cards.items.[INDEX].card_details.billing_address.oneOf.0.note","typeLabel":"string"}},"uniqueKey":"oneOf.1.cards.items.[INDEX].card_details.billing_address.oneOf.0","typeLabel":"object"},{"type":"null","description":"The card billing address to enter when a merchant asks for one at checkout. The billing name is always `Laso Finance`. For USA non-reloadable cards `required` is `false` (any valid U.S. billing address works; this is a known-good default). For international non-reloadable cards `required` is `true` and the merchant AVS check is validated against exactly this address. On reloadable cards this is always null: the card issuer holds no billing address for a card, and they are AVS-checked against the address the account holder gave at their own identity verification. Ask the holder for it; do not substitute Laso's address.","properties":{"name":{"type":"string","description":"Always `Laso Finance`."},"line_1":{"type":"string"},"line_2":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"zip":{"type":"string"},"country":{"type":"string"},"required":{"type":"boolean","description":"`true` if the card enforces AVS against this exact address (international cards); `false` if any valid U.S. address works (USA cards)."},"note":{"type":"string"}},"uniqueKey":"oneOf.1.cards.items.[INDEX].card_details.billing_address.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.cards.items.[INDEX].card_details.billing_address","typeLabel":"object | null"}},"uniqueKey":"oneOf.1.cards.items.[INDEX].card_details","typeLabel":"object"},"transactions":{"type":"array","description":"Card transaction history. U.S. and international cards use slightly different shapes — see `CardTransaction` and `IntlCardTransaction`.","items":{"oneOf":[{"type":"object","description":"U.S. prepaid card transaction.","properties":{"amount":{"type":"number","uniqueKey":"oneOf.1.cards.items.[INDEX].transactions.items.[INDEX].oneOf.0.amount","typeLabel":"number"},"date":{"type":"string","uniqueKey":"oneOf.1.cards.items.[INDEX].transactions.items.[INDEX].oneOf.0.date","typeLabel":"string"},"description":{"type":"string","uniqueKey":"oneOf.1.cards.items.[INDEX].transactions.items.[INDEX].oneOf.0.description","typeLabel":"string"},"is_credit":{"type":"boolean","uniqueKey":"oneOf.1.cards.items.[INDEX].transactions.items.[INDEX].oneOf.0.is_credit","typeLabel":"boolean"}},"uniqueKey":"oneOf.1.cards.items.[INDEX].transactions.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"International prepaid card transaction.","properties":{"amount":{"type":"number","description":"Transaction amount in USD.","uniqueKey":"oneOf.1.cards.items.[INDEX].transactions.items.[INDEX].oneOf.1.amount","typeLabel":"number"},"date":{"oneOf":[{"type":"number","description":"Unix timestamp (ms) of the transaction.","uniqueKey":"oneOf.1.cards.items.[INDEX].transactions.items.[INDEX].oneOf.1.date.oneOf.0","typeLabel":"number"},{"type":"null","description":"Unix timestamp (ms) of the transaction.","uniqueKey":"oneOf.1.cards.items.[INDEX].transactions.items.[INDEX].oneOf.1.date.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.cards.items.[INDEX].transactions.items.[INDEX].oneOf.1.date","typeLabel":"number | null"},"merchant":{"type":"string","uniqueKey":"oneOf.1.cards.items.[INDEX].transactions.items.[INDEX].oneOf.1.merchant","typeLabel":"string"},"status":{"oneOf":[{"type":"string","description":"Optional status, e.g. `pending`.","uniqueKey":"oneOf.1.cards.items.[INDEX].transactions.items.[INDEX].oneOf.1.status.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional status, e.g. `pending`.","uniqueKey":"oneOf.1.cards.items.[INDEX].transactions.items.[INDEX].oneOf.1.status.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.cards.items.[INDEX].transactions.items.[INDEX].oneOf.1.status","typeLabel":"string | null"}},"uniqueKey":"oneOf.1.cards.items.[INDEX].transactions.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"oneOf.1.cards.items.[INDEX].transactions.items.[INDEX]","typeLabel":"object"},"uniqueKey":"oneOf.1.cards.items.[INDEX].transactions","typeLabel":"object[]"},"last4":{"type":"string","description":"Reloadable cards only. Last four digits.","example":"8260","uniqueKey":"oneOf.1.cards.items.[INDEX].last4","typeLabel":"string"},"expiry":{"type":"string","description":"Reloadable cards only. MM/YY.","example":"07/31","uniqueKey":"oneOf.1.cards.items.[INDEX].expiry","typeLabel":"string"},"balance":{"type":"number","description":"Reloadable cards only. Spendable balance in dollars.","example":208,"uniqueKey":"oneOf.1.cards.items.[INDEX].balance","typeLabel":"number"},"spend_limit":{"type":"number","description":"Reloadable cards only. Spend cap in dollars.","example":208,"uniqueKey":"oneOf.1.cards.items.[INDEX].spend_limit","typeLabel":"number"},"reusable":{"type":"boolean","description":"Reloadable cards only. True for a multi-use card.","uniqueKey":"oneOf.1.cards.items.[INDEX].reusable","typeLabel":"boolean"},"issuer_status":{"type":"string","description":"Reloadable cards only. The issuer's own status string, kept verbatim.","example":"OPEN","uniqueKey":"oneOf.1.cards.items.[INDEX].issuer_status","typeLabel":"string"},"created_at":{"type":"number","description":"Reloadable cards only. Epoch milliseconds.","uniqueKey":"oneOf.1.cards.items.[INDEX].created_at","typeLabel":"number"},"expires_at":{"oneOf":[{"type":"number","description":"Reloadable cards only. Epoch milliseconds, or null when the card does not expire.","uniqueKey":"oneOf.1.cards.items.[INDEX].expires_at.oneOf.0","typeLabel":"number"},{"type":"null","description":"Reloadable cards only. Epoch milliseconds, or null when the card does not expire.","uniqueKey":"oneOf.1.cards.items.[INDEX].expires_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.cards.items.[INDEX].expires_at","typeLabel":"number | null"},"details_approval":{"oneOf":[{"type":"object","description":"Reloadable cards only, and only for a card the holder created in ANOTHER app. The issuer has emailed them an approve/deny link; retry with `approval_id` once they approve. Cards created through `/create-reloadable-card` are Laso-issued and never take this path.","properties":{"status":{"type":"string","enum":["pending"],"uniqueKey":"oneOf.1.cards.items.[INDEX].details_approval.oneOf.0.status","typeLabel":"enum\u003cstring>"},"approval_id":{"oneOf":[{"type":"string","uniqueKey":"oneOf.1.cards.items.[INDEX].details_approval.oneOf.0.approval_id.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"oneOf.1.cards.items.[INDEX].details_approval.oneOf.0.approval_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.cards.items.[INDEX].details_approval.oneOf.0.approval_id","typeLabel":"string | null"},"note":{"type":"string","uniqueKey":"oneOf.1.cards.items.[INDEX].details_approval.oneOf.0.note","typeLabel":"string"}},"uniqueKey":"oneOf.1.cards.items.[INDEX].details_approval.oneOf.0","typeLabel":"object"},{"type":"null","description":"Reloadable cards only, and only for a card the holder created in ANOTHER app. The issuer has emailed them an approve/deny link; retry with `approval_id` once they approve. Cards created through `/create-reloadable-card` are Laso-issued and never take this path.","properties":{"status":{"type":"string","enum":["pending"]},"approval_id":{"oneOf":[{"type":"string"},{"type":"null"}]},"note":{"type":"string"}},"uniqueKey":"oneOf.1.cards.items.[INDEX].details_approval.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.cards.items.[INDEX].details_approval","typeLabel":"object | null"},"details_error":{"oneOf":[{"type":"string","description":"Reloadable cards only. Present when the issuer could not return the number, so a card with no `card_details` is never silently indistinguishable from one whose details are pending.","uniqueKey":"oneOf.1.cards.items.[INDEX].details_error.oneOf.0","typeLabel":"string"},{"type":"null","description":"Reloadable cards only. Present when the issuer could not return the number, so a card with no `card_details` is never silently indistinguishable from one whose details are pending.","uniqueKey":"oneOf.1.cards.items.[INDEX].details_error.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.cards.items.[INDEX].details_error","typeLabel":"string | null"}},"uniqueKey":"oneOf.1.cards.items.[INDEX]","typeLabel":"object"},"uniqueKey":"oneOf.1.cards","typeLabel":"object[]"}},"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"card_id":"\u003cstring>","card_type":"Non-Reloadable U.S.","usd_amount":123,"country":"US","label":"\u003cstring>","charged_usd_amount":123,"fees_paid":123,"state":"queued","balance_update_requested_timestamp":123,"queued_order_card_id":"\u003cstring>","timestamp":123,"timestamp_readable":"\u003cstring>","last_updated_timestamp":123,"status":"pending","card_details":{"card_number":"\u003cstring>","exp_month":"\u003cstring>","exp_year":"\u003cstring>","cvv":"\u003cstring>","available_balance":123,"billing_address":{"name":"\u003cstring>","line_1":"\u003cstring>","line_2":"\u003cstring>","city":"\u003cstring>","state":"\u003cstring>","zip":"\u003cstring>","country":"\u003cstring>","required":true,"note":"\u003cstring>"}},"transactions":[{"amount":123,"date":"\u003cstring>","description":"\u003cstring>","is_credit":true}],"last4":"8260","expiry":"07/31","balance":208,"spend_limit":208,"reusable":true,"issuer_status":"OPEN","created_at":123,"expires_at":123,"details_approval":{"status":"pending","approval_id":"\u003cstring>","note":"\u003cstring>"},"details_error":"\u003cstring>"}}},"exampleType":"generated"}},"headers":{"X-Laso-Api-Version":{"description":"The version of the API contract that produced this response, the same value `GET /version` returns as `api_version`. It moves only on a breaking change, so an agent can pin against it and tolerate unknown response fields without rechecking the docs. Distinct from `X-Laso-Docs-Version`, which tracks the prose. Present on every response once the service has read its version beacon; absent, rather than a placeholder, during the cold-start window before that read completes.","schema":{"type":"string","example":"1.0.0"}}},"exampleType":"generated"},"4e898383-37e7-4e87-81ae-1329220757ac":{"description":"Invalid card_type. Must be \"Non-Reloadable\" or \"Non-Reloadable International\" when provided.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"card_type must be \"Non-Reloadable\" or \"Non-Reloadable International\" when provided. Received: foo"},"examples":{"Example":{"title":"Example","value":{"error":"card_type must be \"Non-Reloadable\" or \"Non-Reloadable International\" when provided. Received: foo"}}},"exampleType":"examples"}},"headers":{"X-Laso-Api-Version":{"description":"The version of the API contract that produced this response, the same value `GET /version` returns as `api_version`. It moves only on a breaking change, so an agent can pin against it and tolerate unknown response fields without rechecking the docs. Distinct from `X-Laso-Docs-Version`, which tracks the prose. Present on every response once the service has read its version beacon; absent, rather than a placeholder, during the cold-start window before that read completes.","schema":{"type":"string","example":"1.0.0"}}},"exampleType":"examples"},"ae71a2bb-40cf-417a-9575-e7c8f8b59a35":{"description":"Missing or invalid Bearer token","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"Missing or invalid Authorization header"},"examples":{"Example":{"title":"Example","value":{"error":"Missing or invalid Authorization header"}}},"exampleType":"examples"}},"headers":{"X-Laso-Api-Version":{"description":"The version of the API contract that produced this response, the same value `GET /version` returns as `api_version`. It moves only on a breaking change, so an agent can pin against it and tolerate unknown response fields without rechecking the docs. Distinct from `X-Laso-Docs-Version`, which tracks the prose. Present on every response once the service has read its version beacon; absent, rather than a placeholder, during the cold-start window before that read completes.","schema":{"type":"string","example":"1.0.0"}}},"exampleType":"examples"},"a2659924-17ee-48dd-87c2-36d89b6015a3":{"description":"Not authorized to view this card, or the account is frozen (frozen responses include a `frozen_message` field).","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"Not authorized to view this card"},"examples":{"Example":{"title":"Example","value":{"error":"Not authorized to view this card"}}},"exampleType":"examples"}},"headers":{"X-Laso-Api-Version":{"description":"The version of the API contract that produced this response, the same value `GET /version` returns as `api_version`. It moves only on a breaking change, so an agent can pin against it and tolerate unknown response fields without rechecking the docs. Distinct from `X-Laso-Docs-Version`, which tracks the prose. Present on every response once the service has read its version beacon; absent, rather than a placeholder, during the cold-start window before that read completes.","schema":{"type":"string","example":"1.0.0"}}},"exampleType":"examples"},"5b266263-80ed-4695-919f-672b148278e1":{"description":"Card not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"Card not found"},"examples":{"Example":{"title":"Example","value":{"error":"Card not found"}}},"exampleType":"examples"}},"headers":{"X-Laso-Api-Version":{"description":"The version of the API contract that produced this response, the same value `GET /version` returns as `api_version`. It moves only on a breaking change, so an agent can pin against it and tolerate unknown response fields without rechecking the docs. Distinct from `X-Laso-Docs-Version`, which tracks the prose. Present on every response once the service has read its version beacon; absent, rather than a placeholder, during the cold-start window before that read completes.","schema":{"type":"string","example":"1.0.0"}}},"exampleType":"examples"}},"security":{"17b7831f-64a0-42b7-a793-ea94c913db4f":{"BearerAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"Firebase ID token from `/auth` or any paid route, sent as a Bearer token: `Authorization: Bearer \u003cid_token>` (the `Bearer ` prefix is required).","scopes":[],"schemeName":"BearerAuth"}}},"servers":{"ac3eaebf-a471-45a2-a1e6-5b184b32c280":{"url":"https://laso.finance","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"Authorization","description":"Firebase ID token from `/auth` or any paid route, sent as a Bearer token: `Authorization: Bearer \u003cid_token>` (the `Bearer ` prefix is required).","scopes":[],"schemeName":"BearerAuth"},"schema":{"title":"Authorization","type":"string","description":"Firebase ID token from `/auth` or any paid route, sent as a Bearer token: `Authorization: Bearer \u003cid_token>` (the `Bearer ` prefix is required).","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"lasofinance","siteName":"Laso Finance API","title":"Get card details - Laso Finance API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-06T22:00:07.023Z","originalFileLocation":"api-reference/get-card-details.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"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 \u0026quot;ready\u0026quot;, 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\u0026#x27;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= 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\u0026#x27;s number and CVV is gated by the card issuer, and which gate applies depends on who issued it. Request the card by card_id; the response carries exactly one of three fields. card_details is the normal result for a card created through /create-reloadable-card, which Laso issues on the holder\u0026#x27;s behalf and can read for them directly — no approval step is involved. details_approval with status: \u0026quot;pending\u0026quot; and an approval_id appears only for a card the holder created in a DIFFERENT app: the issuer has emailed them an approve/deny link, and once they approve you retry as GET /get-card-data?card_id=\u0026amp;approval_id= to receive card_details. details_error means the issuer could not return the number; retry shortly, and if it persists the holder can read the card in the dashboard. Spend the card by entering its number, expiry, and CVV at the merchant\u0026#x27;s checkout. billing_address is null on these cards and always will be — the issuer holds no billing address for a card. If a merchant requires one, use the address the account holder gave at identity verification (ask them; do not guess), since these cards are AVS-checked against it 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.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Laso Finance API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/lasofinance/BdNprig5jTangfgN/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/lasofinance/BdNprig5jTangfgN/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/lasofinance/BdNprig5jTangfgN/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/lasofinance/BdNprig5jTangfgN/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/lasofinance/BdNprig5jTangfgN/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/lasofinance/BdNprig5jTangfgN/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/lasofinance/BdNprig5jTangfgN/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/lasofinance/BdNprig5jTangfgN/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/lasofinance/BdNprig5jTangfgN/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get card details - Laso Finance API\">\u003cmeta data-mint-head property=\"og:description\" content=\"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 \u0026quot;ready\u0026quot;, 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\u0026#x27;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= 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\u0026#x27;s number and CVV is gated by the card issuer, and which gate applies depends on who issued it. Request the card by card_id; the response carries exactly one of three fields. card_details is the normal result for a card created through /create-reloadable-card, which Laso issues on the holder\u0026#x27;s behalf and can read for them directly — no approval step is involved. details_approval with status: \u0026quot;pending\u0026quot; and an approval_id appears only for a card the holder created in a DIFFERENT app: the issuer has emailed them an approve/deny link, and once they approve you retry as GET /get-card-data?card_id=\u0026amp;approval_id= to receive card_details. details_error means the issuer could not return the number; retry shortly, and if it persists the holder can read the card in the dashboard. Spend the card by entering its number, expiry, and CVV at the merchant\u0026#x27;s checkout. billing_address is null on these cards and always will be — the issuer holds no billing address for a card. If a merchant requires one, use the address the account holder gave at identity verification (ask them; do not guess), since these cards are AVS-checked against it 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.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Laso Finance API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.laso.finance/api-reference/get-card-details\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://lasofinance.mintlify.site/_mintlify/api/og/v2?division=Cards\u0026amp;title=Get+card+details\u0026amp;description=Returns+the+current+status+and+details+of+card+orders.+If+%60card_id%60+is+provided%2C+returns+a+single+card%2C+looked+up+across+U.S.+non-reloadable%2C+international+non-\u0026amp;theme=98f9ba75e7b3eeb2c36a661c\u0026amp;signature=382099e4105c29c2e9eb491445e3c2e432693cf6fa0fad53b84ad2340e630bec\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Get card details - Laso Finance API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"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 \u0026quot;ready\u0026quot;, 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\u0026#x27;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= 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\u0026#x27;s number and CVV is gated by the card issuer, and which gate applies depends on who issued it. Request the card by card_id; the response carries exactly one of three fields. card_details is the normal result for a card created through /create-reloadable-card, which Laso issues on the holder\u0026#x27;s behalf and can read for them directly — no approval step is involved. details_approval with status: \u0026quot;pending\u0026quot; and an approval_id appears only for a card the holder created in a DIFFERENT app: the issuer has emailed them an approve/deny link, and once they approve you retry as GET /get-card-data?card_id=\u0026amp;approval_id= to receive card_details. details_error means the issuer could not return the number; retry shortly, and if it persists the holder can read the card in the dashboard. Spend the card by entering its number, expiry, and CVV at the merchant\u0026#x27;s checkout. billing_address is null on these cards and always will be — the issuer holds no billing address for a card. If a merchant requires one, use the address the account holder gave at identity verification (ask them; do not guess), since these cards are AVS-checked against it 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.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://lasofinance.mintlify.site/_mintlify/api/og/v2?division=Cards\u0026amp;title=Get+card+details\u0026amp;description=Returns+the+current+status+and+details+of+card+orders.+If+%60card_id%60+is+provided%2C+returns+a+single+card%2C+looked+up+across+U.S.+non-reloadable%2C+international+non-\u0026amp;theme=98f9ba75e7b3eeb2c36a661c\u0026amp;signature=382099e4105c29c2e9eb491445e3c2e432693cf6fa0fad53b84ad2340e630bec\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/lasofinance/BdNprig5jTangfgN/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Laso Finance API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3182CE\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.laso.finance/api-reference/get-card-details\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/get-card-details.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.laso.finance/#organization\",\"name\":\"Laso Finance API\",\"url\":\"https://docs.laso.finance\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/lasofinance/ofpGRRSVLQ9V1OQK/logo/light.svg?fit=max\u0026auto=format\u0026n=ofpGRRSVLQ9V1OQK\u0026q=85\u0026s=bd9f84a4711475d24375fe444b276211\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.laso.finance#website\",\"name\":\"Laso Finance API\",\"url\":\"https://docs.laso.finance\",\"publisher\":{\"@id\":\"https://docs.laso.finance/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.laso.finance/api-reference/get-card-details#webpage\",\"url\":\"https://docs.laso.finance/api-reference/get-card-details\",\"name\":\"Get card details\",\"description\":\"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= 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 is gated by the card issuer, and which gate applies depends on who issued it. Request the card by card_id; the response carries exactly one of three fields. card_details is the normal result for a card created through /create-reloadable-card, which Laso issues on the holder's behalf and can read for them directly — no approval step is involved. details_approval with status: \\\"pending\\\" and an approval_id appears only for a card the holder created in a DIFFERENT app: the issuer has emailed them an approve/deny link, and once they approve you retry as GET /get-card-data?card_id=\u0026approval_id= to receive card_details. details_error means the issuer could not return the number; retry shortly, and if it persists the holder can read the card in the dashboard. Spend the card by entering its number, expiry, and CVV at the merchant's checkout. billing_address is null on these cards and always will be — the issuer holds no billing address for a card. If a merchant requires one, use the address the account holder gave at identity verification (ask them; do not guess), since these cards are AVS-checked against it 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.\",\"dateModified\":\"2026-11-06T22:00:07.023Z\",\"isPartOf\":{\"@id\":\"https://docs.laso.finance#website\"},\"breadcrumb\":{\"@id\":\"https://docs.laso.finance/api-reference/get-card-details#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.laso.finance/api-reference/get-card-details#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Cards\",\"item\":\"https://docs.laso.finance/api-reference/order-a-usa-prepaid-card\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Get card details\",\"item\":\"https://docs.laso.finance/api-reference/get-card-details\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.laso.finance/api-reference/get-card-details#apireference\",\"headline\":\"Get card details\",\"name\":\"Get card details\",\"description\":\"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= 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 is gated by the card issuer, and which gate applies depends on who issued it. Request the card by card_id; the response carries exactly one of three fields. card_details is the normal result for a card created through /create-reloadable-card, which Laso issues on the holder's behalf and can read for them directly — no approval step is involved. details_approval with status: \\\"pending\\\" and an approval_id appears only for a card the holder created in a DIFFERENT app: the issuer has emailed them an approve/deny link, and once they approve you retry as GET /get-card-data?card_id=\u0026approval_id= to receive card_details. details_error means the issuer could not return the number; retry shortly, and if it persists the holder can read the card in the dashboard. Spend the card by entering its number, expiry, and CVV at the merchant's checkout. billing_address is null on these cards and always will be — the issuer holds no billing address for a card. If a merchant requires one, use the address the account holder gave at identity verification (ask them; do not guess), since these cards are AVS-checked against it 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.\",\"url\":\"https://docs.laso.finance/api-reference/get-card-details\",\"mainEntityOfPage\":{\"@id\":\"https://docs.laso.finance/api-reference/get-card-details#webpage\"},\"dateModified\":\"2026-11-06T22:00:07.023Z\",\"publisher\":{\"@id\":\"https://docs.laso.finance/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.laso.finance#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Laso Finance API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Laso Finance API","nav":{"global":{},"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/guides/what-is-laso"}]},{"tab":"API Reference","groups":[{"group":"Account","pages":[{"title":"Start a signup for a human with no Laso account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /signup","href":"/api-reference/start-a-signup-for-a-human-with-no-laso-account"},{"title":"Wait for your human to finish the signup","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /signup-status","href":"/api-reference/wait-for-your-human-to-finish-the-signup"},{"title":"Get auth credentials","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /auth","href":"/api-reference/get-auth-credentials"},{"title":"Refresh an ID token","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /auth","href":"/api-reference/refresh-an-id-token"},{"title":"Refresh an ID token (deprecated)","deprecated":true,"version":null,"openapi":"/api-reference/openapi.json post /refresh","href":"/api-reference/refresh-an-id-token-deprecated"},{"title":"Get account balance","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-account-balance","href":"/api-reference/get-account-balance"},{"title":"Get a login link for the web dashboard","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-auth-link","href":"/api-reference/get-a-login-link-for-the-web-dashboard"},{"title":"Send feedback about the API","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /feedback","href":"/api-reference/send-feedback-about-the-api"}]},{"group":"Cards","pages":[{"title":"Order a USA prepaid card","description":"Pay between \\$5–\\$1000 USDC to order a Laso Finance USA prepaid card. By default returns JSON with auth credentials and card info (for AI agents). Pass `format=html` to get an HTML redirect to the card redemption URL (for browser-based flows).\n\nThe JSON response includes a `card.status` of `\"pending\"`. Card details (number, CVV, etc.) take ~7-10 seconds to become available. Poll `GET /get-card-data?card_id=\u003ccard_id>` with the returned `id_token` as a Bearer token every 2–3 seconds until `status` becomes `\"ready\"`.\n\n**U.S. only.** This card is issued in USD and can only be used for purchases at U.S.-based merchants. Physical goods must ship to a U.S. address. For non-U.S. merchants or non-USD currencies, use `GET /order-intl-card` instead.\n\n**Not for merchants that bill later.** Ad platforms (Google, Meta, Reddit and the like), AI and inference providers, subscriptions, and any merchant that keeps a card on file and charges it after use need the reloadable card (`POST /create-reloadable-card`). This card has a fixed balance and cannot be topped up, so those merchants decline it or fail the later charges. Ask what the card is for before ordering one.\n\nThis endpoint is intended for the caller's own use — the card is non-transferable.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-card","href":"/api-reference/order-a-usa-prepaid-card"},{"title":"Get card details","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-card-data","href":"/api-reference/get-card-details"},{"title":"Create a reloadable card","description":"Creates a **reloadable** card funded from the account holder's balance with the card issuer, and returns it. Use this card for ad platforms, AI and inference providers, subscriptions, and any merchant that keeps a card on file and bills after use: the balance can be topped up as bills arrive. It needs the account holder's identity verification and a one-time card issuer link first (`GET /get-card-issuer-status`). This is the same card the holder creates in the Laso dashboard, so an agent and a human end up with the same product.\n\nThe card is **reusable by default** (`reusable: true`): it stays open across charges until its limit is spent. Pass `reusable: false` for a single-use card that closes after its first approved charge.\n\n**This route is free** — no x402 payment. The card draws on the account holder's own balance with the issuer, so Laso fronts nothing.\n\n**If the balance is short**, this route answers `402`. Fund it by sending USDC: `GET /get-card-deposit-address` returns the holder's own deposit address at the card issuer (USDC on Base only), and the balance credits within a couple of minutes. The holder can also top up with Apple or Google Pay in the dashboard.\n\nRead the new card's number and CVV with `/get-card-data?card_id=...`. A card created here is Laso-issued, so its `card_details` come back directly — the approval step applies only to cards the holder created in a different app.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /create-reloadable-card","href":"/api-reference/cards/create-a-reloadable-card"},{"title":"List reloadable card transactions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /list-card-transactions","href":"/api-reference/cards/list-reloadable-card-transactions"},{"title":"Get the reloadable card deposit address","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-card-deposit-address","href":"/api-reference/cards/get-the-reloadable-card-deposit-address"},{"title":"Check the card issuer link","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-card-issuer-status","href":"/api-reference/cards/check-the-card-issuer-link"},{"title":"Send the account holder a code to link the card issuer","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /start-card-issuer-link","href":"/api-reference/cards/send-the-account-holder-a-code-to-link-the-card-issuer"},{"title":"Complete the card issuer link with the account holder's code","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /verify-card-issuer-link","href":"/api-reference/cards/complete-the-card-issuer-link-with-the-account-holders-code"},{"title":"Unlink the card issuer","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /disconnect-card-issuer","href":"/api-reference/cards/unlink-the-card-issuer"},{"title":"List the holder's saved cards","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-saved-cards","href":"/api-reference/cards/list-the-holders-saved-cards"},{"title":"Get a link for the holder to save their own card","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /create-saved-card-link","href":"/api-reference/cards/get-a-link-for-the-holder-to-save-their-own-card"},{"title":"Shop and pay with the holder's saved card","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /buy-with-saved-card","href":"/api-reference/cards/shop-and-pay-with-the-holders-saved-card"},{"title":"Read a purchase turn that was still running","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-purchase-turn","href":"/api-reference/cards/read-a-purchase-turn-that-was-still-running"},{"title":"Read a purchase conversation's orders","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-purchase-conversation","href":"/api-reference/cards/read-a-purchase-conversations-orders"},{"title":"Load a reloadable card balance","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /fund-card-balance","href":"/api-reference/load-a-reloadable-card-balance"},{"title":"Top up a reloadable card from the account balance","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /fund-card-from-account-balance","href":"/api-reference/cards/top-up-a-reloadable-card-from-the-account-balance"},{"title":"Withdraw from a reloadable card balance","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /withdraw-card-balance","href":"/api-reference/cards/withdraw-from-a-reloadable-card-balance"},{"title":"Trigger a card data refresh","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /refresh-card-data","href":"/api-reference/trigger-a-card-data-refresh"},{"title":"Order an international prepaid card","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /order-intl-card","href":"/api-reference/order-an-international-prepaid-card"},{"title":"Cancel a queued international card order","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /cancel-intl-order","href":"/api-reference/cancel-a-queued-international-card-order"}]},{"group":"Gift Cards","pages":[{"title":"Search the gift card catalog","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /search-gift-cards","href":"/api-reference/search-the-gift-card-catalog"},{"title":"Order a gift card","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /order-gift-card","href":"/api-reference/order-a-gift-card"}]},{"group":"Push to Card","pages":[{"title":"Send money to a debit card (USD, EUR, GBP)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-push-to-card","href":"/api-reference/send-money-to-a-debit-card-usd-eur-gbp"}]},{"group":"Payments","pages":[{"title":"Send a payment via Venmo or PayPal","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /send-payment","href":"/api-reference/send-a-payment-via-venmo-or-paypal"},{"title":"Check Venmo and PayPal payout status (free)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-payment-status","href":"/api-reference/check-venmo-and-paypal-payout-status-free"},{"title":"List saved Venmo and PayPal recipients (free)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /payment-recipients","href":"/api-reference/list-saved-venmo-and-paypal-recipients-free"},{"title":"Rename or archive a saved recipient (free)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /payment-recipients","href":"/api-reference/rename-or-archive-a-saved-recipient-free"},{"title":"Remove a saved recipient (free)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /payment-recipients","href":"/api-reference/remove-a-saved-recipient-free"}]},{"group":"Address Book","pages":[{"title":"List saved recipients","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /listAddressBook","href":"/api-reference/list-saved-recipients"},{"title":"Save or rename a recipient","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /saveAddressBookEntry","href":"/api-reference/save-or-rename-a-recipient"},{"title":"Remove a saved recipient","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /deleteAddressBookEntry","href":"/api-reference/remove-a-saved-recipient"}]},{"group":"Banking","pages":[{"title":"Send dollars to a bank account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /send-bank-payment","href":"/api-reference/send-dollars-to-a-bank-account"},{"title":"List bank payout recipients (free)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /bank-recipients","href":"/api-reference/list-bank-payout-recipients-free"},{"title":"Create the banking profile","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /createBankingProfile","href":"/api-reference/banking/create-the-banking-profile"},{"title":"Check the banking profile status","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /getBankingProfileStatus","href":"/api-reference/banking/check-the-banking-profile-status"},{"title":"Read the banking application","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /getBankingApplication","href":"/api-reference/banking/read-the-banking-application"},{"title":"Answer application questions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /updateBankingApplicationDetails","href":"/api-reference/banking/answer-application-questions"},{"title":"Upload a proof-of-address document","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /uploadBankingDocument","href":"/api-reference/banking/upload-a-proof-of-address-document"},{"title":"Submit the application","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /submitBankingApplication","href":"/api-reference/banking/submit-the-application"},{"title":"Open an on-ramp or off-ramp account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /createBankingAccount","href":"/api-reference/banking/open-an-on-ramp-or-off-ramp-account"},{"title":"List banking accounts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /listBankingAccounts","href":"/api-reference/banking/list-banking-accounts"},{"title":"Create a payout recipient","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /createBankingRecipient","href":"/api-reference/banking/create-a-payout-recipient"},{"title":"Attach bank details to a recipient","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /addBankingDestination","href":"/api-reference/banking/attach-bank-details-to-a-recipient"},{"title":"List recipients and destinations","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /listBankingRecipients","href":"/api-reference/banking/list-recipients-and-destinations"},{"title":"Rename a destination","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /updateBankingDestination","href":"/api-reference/banking/rename-a-destination"},{"title":"Delete a recipient","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /deleteBankingRecipient","href":"/api-reference/banking/delete-a-recipient"},{"title":"Read one transaction","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /getBankingTransaction","href":"/api-reference/banking/read-one-transaction"},{"title":"List transactions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /listBankingTransactions","href":"/api-reference/banking/list-transactions"}]},{"group":"Agent Wallet","pages":[{"title":"Exchange an API key for a session","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /agentAuth","href":"/api-reference/agent-wallet/exchange-an-api-key-for-a-session"},{"title":"Announce that you connected","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /announceAgentConnection","href":"/api-reference/agent-wallet/announce-that-you-connected"},{"title":"Read the managed wallet","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /getAgentWallet","href":"/api-reference/agent-wallet/read-the-managed-wallet"},{"title":"Pay an x402 endpoint from the managed wallet","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /agentX402Pay","href":"/api-reference/agent-wallet/pay-an-x402-endpoint-from-the-managed-wallet"},{"title":"Send USDC or any token from the managed wallet","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /agentWalletTransfer","href":"/api-reference/agent-wallet/send-usdc-or-any-token-from-the-managed-wallet"},{"title":"Read the spend limits","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /getAgentSpendLimit","href":"/api-reference/agent-wallet/read-the-spend-limits"},{"title":"Provision a managed wallet","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /createAgentWallet","href":"/api-reference/agent-wallet/provision-a-managed-wallet"},{"title":"Issue an API key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /createAgentApiKey","href":"/api-reference/agent-wallet/issue-an-api-key"},{"title":"List API keys","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /listAgentApiKeys","href":"/api-reference/agent-wallet/list-api-keys"},{"title":"Revoke an API key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /revokeAgentApiKey","href":"/api-reference/agent-wallet/revoke-an-api-key"},{"title":"Revoke all unused API keys","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /revokeUnusedAgentApiKeys","href":"/api-reference/agent-wallet/revoke-all-unused-api-keys"}]},{"group":"Merchants","pages":[{"title":"Search merchant spend data","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /search-merchants","href":"/api-reference/search-merchant-spend-data"}]},{"group":"Pricing and coverage","pages":[{"title":"Get the fee schedule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-pricing","href":"/api-reference/get-the-fee-schedule"},{"title":"Get supported countries","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-supported-countries","href":"/api-reference/get-supported-countries"}]},{"group":"Verification (optional)","pages":[{"title":"Get KYC verification status (optional)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-kyc-status","href":"/api-reference/verification-optional/get-kyc-verification-status-optional"},{"title":"Get a KYC verification link (optional)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-kyc-link","href":"/api-reference/verification-optional/get-a-kyc-verification-link-optional"}]},{"group":"Notifications","pages":[{"title":"Register a notification webhook (free)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /register-webhook","href":"/api-reference/notifications/register-a-notification-webhook-free"},{"title":"Get webhook registration \u0026 delivery health (free)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-webhook","href":"/api-reference/notifications/get-webhook-registration-\u0026-delivery-health-free"},{"title":"Delete the notification webhook (free)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /delete-webhook","href":"/api-reference/notifications/delete-the-notification-webhook-free"}]},{"group":"Withdrawals","pages":[{"title":"Withdraw from account balance","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /withdraw","href":"/api-reference/withdraw-from-account-balance"},{"title":"Get withdrawal statuses","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-withdrawal-status","href":"/api-reference/get-withdrawal-statuses"}]},{"group":"Discovery","pages":[{"title":"Get the current docs version","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /version","href":"/api-reference/get-the-current-docs-version"}]}]},{"tab":"How We Use","pages":[{"title":"How We Use","href":"/how-we-use/automated-payroll"}]},{"tab":"Starter Template (Reference)","hidden":true,"pages":[{"title":"Starter Template (Reference)","href":"/quickstart"}]}]},"basePath":"","title":"Get card details - Laso Finance API","buildId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","deploymentId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-5FCzAcfS.js","utils-SLtAG4EZ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-2DZi8ZMu.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D7J3nkzE.js","snippetPresets-D0Alv0AH.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BI4qNJ2c.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BD3uyr8j.js","shallow-D8iEBr5z.js","getApiPlaygroundDisplay-CgNP4lzR.js","CodeSnippet-CX-QHuMs.js","CodeSnippets-VlXE-ZUf.js","Page-D9ithiIZ.js","getPastedJson-DYNQkZ1M.js","icon-CzacdwOi.js","MethodPill-2JVqoYKi.js","DuplicateIcon-_xVXs-U8.js","createIcon-BRHrweLo.js","DynamicMarkdown-mQG_iQiE.js","SectionHeading-DMpJzv8f.js","axios-vUo_bRtp.js","Markdown-5FGIym-8.js","clsx-D-TRO5q5.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CdrJecqK.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CHlcWBLM.js"]}