{
"error": "A request with this Idempotency-Key is still being processed",
"code": "idempotency_key_in_progress"
}
{
"error": "Idempotency-Key reused with a different request",
"code": "idempotency_key_reused"
}
Cards
Create a reloadable card
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.
The 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.
This route is free — no x402 payment. The card draws on the account holder’s own balance with the issuer, so Laso fronts nothing.
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.
Read 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.
Optional client-generated unique key (a UUID works) that makes this write safe to retry. A retry with the same key within 24 hours returns the recorded response of the original request, marked with an Idempotency-Replayed: true header, instead of performing the write again. Reusing a key with a different body or route is rejected with 422 (code: idempotency_key_reused); a retry that arrives while the original is still running gets 409 (code: idempotency_key_in_progress), so wait a moment and retry with the same key. Keys are scoped to the authenticated account.
{"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/cards/create-a-reloadable-card","slug":"/api-reference/cards/create-a-reloadable-card","pageMetadata":{"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","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: [\"Creates a \", _jsx(_components.strong, {\n children: \"reloadable\"\n }), \" 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 (\", _jsx(_components.code, {\n children: \"GET /get-card-issuer-status\"\n }), \"). 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 }), \"\\n\", _jsxs(_components.p, {\n children: [\"The card is \", _jsx(_components.strong, {\n children: \"reusable by default\"\n }), \" (\", _jsx(_components.code, {\n children: \"reusable: true\"\n }), \"): it stays open across charges until its limit is spent. Pass \", _jsx(_components.code, {\n children: \"reusable: false\"\n }), \" for a single-use card that closes after its first approved charge.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"This route is free\"\n }), \" — no x402 payment. The card draws on the account holder’s own balance with the issuer, so Laso fronts nothing.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"If the balance is short\"\n }), \", this route answers \", _jsx(_components.code, {\n children: \"402\"\n }), \". Fund it by sending USDC: \", _jsx(_components.code, {\n children: \"GET /get-card-deposit-address\"\n }), \" 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 }), \"\\n\", _jsxs(_components.p, {\n children: [\"Read the new card’s number and CVV with \", _jsx(_components.code, {\n children: \"/get-card-data?card_id=...\"\n }), \". A card created here is Laso-issued, so its \", _jsx(_components.code, {\n children: \"card_details\"\n }), \" come back directly — the approval step applies only to cards the holder created in a different app.\"]\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":"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","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"createReloadableCard","summary":"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.","tags":["cards"],"security":["f8604c68-42f3-4999-87d2-daddb1895c2e"],"requestBody":"1f12ed09-e825-40f5-9a1c-d1b1a2afa7e2","responses":{"200":"da2a5e1a-8ac4-46ea-aeca-ffe4cecd7773","400":"ac0cba5b-5cd6-485b-a144-6ebf0c370261","402":"ef6bdab6-f682-44bc-bba5-0f408a98eebb","409":"d406c8e4-f02f-46fd-9da5-f2b49a4e6a4b","422":"00af762b-d676-4dee-a312-3227e0537604"},"parameters":["ae95ff52-5c80-427a-aa67-fab658c2daba"],"method":"post","type":"path","servers":["ac3eaebf-a471-45a2-a1e6-5b184b32c280"],"path":"/create-reloadable-card","baseUrlOptions":["https://laso.finance"],"title":"Create a reloadable card","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"ae95ff52-5c80-427a-aa67-fab658c2daba":{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string","maxLength":255,"isRequired":false,"description":"Optional client-generated unique key (a UUID works) that makes this write safe to retry. A retry with the same key within 24 hours returns the recorded response of the original request, marked with an `Idempotency-Replayed: true` header, instead of performing the write again. Reusing a key with a different body or route is rejected with 422 (`code: idempotency_key_reused`); a retry that arrives while the original is still running gets 409 (`code: idempotency_key_in_progress`), so wait a moment and retry with the same key. Keys are scoped to the authenticated account.","uniqueKey":"","typeLabel":"string"},"description":"Optional client-generated unique key (a UUID works) that makes this write safe to retry. A retry with the same key within 24 hours returns the recorded response of the original request, marked with an `Idempotency-Replayed: true` header, instead of performing the write again. Reusing a key with a different body or route is rejected with 422 (`code: idempotency_key_reused`); a retry that arrives while the original is still running gets 409 (`code: idempotency_key_in_progress`), so wait a moment and retry with the same key. Keys are scoped to the authenticated account."}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["usd_amount"],"properties":{"usd_amount":{"type":"number","description":"Amount in US dollars to load onto the card, minimum \\$1. Sent as dollars, not cents.","isRequired":true,"uniqueKey":"usd_amount","typeLabel":"number"},"reusable":{"type":"boolean","description":"Whether the card stays open across charges. Defaults to `true`; `false` closes it after the first approved charge.","uniqueKey":"reusable","typeLabel":"boolean"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"usd_amount":123,"reusable":true}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"da2a5e1a-8ac4-46ea-aeca-ffe4cecd7773":{"description":"The newly created card.","content":{"application/json":{"schema":{"type":"object","properties":{"card":{"type":"object","properties":{"card_id":{"type":"string","uniqueKey":"card.card_id","typeLabel":"string"},"card_type":{"type":"string","uniqueKey":"card.card_type","typeLabel":"string"},"last4":{"type":"string","uniqueKey":"card.last4","typeLabel":"string"},"expiry":{"type":"string","uniqueKey":"card.expiry","typeLabel":"string"},"status":{"type":"string","uniqueKey":"card.status","typeLabel":"string"},"balance":{"type":"number","description":"Card balance in US dollars.","uniqueKey":"card.balance","typeLabel":"number"},"spend_limit":{"type":"number","uniqueKey":"card.spend_limit","typeLabel":"number"},"reusable":{"type":"boolean","uniqueKey":"card.reusable","typeLabel":"boolean"}},"uniqueKey":"card","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"card":{"card_id":"\u003cstring>","card_type":"\u003cstring>","last4":"\u003cstring>","expiry":"\u003cstring>","status":"\u003cstring>","balance":123,"spend_limit":123,"reusable":true}}}},"exampleType":"generated"}},"headers":{"Idempotency-Replayed":{"description":"Present, with the value `true`, when this response was replayed from an earlier request that carried the same `Idempotency-Key` rather than executed again.","schema":{"type":"string","enum":["true"]}},"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"},"ac0cba5b-5cd6-485b-a144-6ebf0c370261":{"description":"Invalid `usd_amount`, or no card issuer account is linked to this wallet.","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"}}},"content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"ef6bdab6-f682-44bc-bba5-0f408a98eebb":{"description":"The account holder's balance with the issuer is too low to fund the card. Fund it via GET /get-card-deposit-address and retry.","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"}}},"content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"d406c8e4-f02f-46fd-9da5-f2b49a4e6a4b":{"description":"A request with this `Idempotency-Key` is still being processed (`code: idempotency_key_in_progress`). Wait a moment and retry with the same key.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"A request with this Idempotency-Key is still being processed","code":"idempotency_key_in_progress"},"examples":{"Example":{"title":"Example","value":{"error":"A request with this Idempotency-Key is still being processed","code":"idempotency_key_in_progress"}}},"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"},"00af762b-d676-4dee-a312-3227e0537604":{"description":"The `Idempotency-Key` was already used for a different request body or route (`code: idempotency_key_reused`). Use a new key.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"Idempotency-Key reused with a different request","code":"idempotency_key_reused"},"examples":{"Example":{"title":"Example","value":{"error":"Idempotency-Key reused with a different request","code":"idempotency_key_reused"}}},"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":{"f8604c68-42f3-4999-87d2-daddb1895c2e":{"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":"Create a reloadable card - Laso Finance API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-06T22:00:07.045Z","originalFileLocation":"api-reference/cards/create-a-reloadable-card.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=\"Creates a reloadable card funded from the account holder\u0026#x27;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\u0026#x27;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. The 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. This route is free — no x402 payment. The card draws on the account holder\u0026#x27;s own balance with the issuer, so Laso fronts nothing. If the balance is short, this route answers 402. Fund it by sending USDC: GET /get-card-deposit-address returns the holder\u0026#x27;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. Read the new card\u0026#x27;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.\">\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=\"Create a reloadable card - Laso Finance API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Creates a reloadable card funded from the account holder\u0026#x27;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\u0026#x27;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. The 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. This route is free — no x402 payment. The card draws on the account holder\u0026#x27;s own balance with the issuer, so Laso fronts nothing. If the balance is short, this route answers 402. Fund it by sending USDC: GET /get-card-deposit-address returns the holder\u0026#x27;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. Read the new card\u0026#x27;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.\">\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/cards/create-a-reloadable-card\">\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=Create+a+reloadable+card\u0026amp;description=Creates+a+**reloadable**+card+funded+from+the+account+holder%27s+balance+with+the+card+issuer%2C+and+returns+it.+Use+this+card+for+ad+platforms%2C+AI+and+inference+pr\u0026amp;theme=98f9ba75e7b3eeb2c36a661c\u0026amp;signature=2ec6618afbc14ee77f1b044acbca03b16c78d32a5d20e02819273f78d30344c6\">\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=\"Create a reloadable card - Laso Finance API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Creates a reloadable card funded from the account holder\u0026#x27;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\u0026#x27;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. The 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. This route is free — no x402 payment. The card draws on the account holder\u0026#x27;s own balance with the issuer, so Laso fronts nothing. If the balance is short, this route answers 402. Fund it by sending USDC: GET /get-card-deposit-address returns the holder\u0026#x27;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. Read the new card\u0026#x27;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.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://lasofinance.mintlify.site/_mintlify/api/og/v2?division=Cards\u0026amp;title=Create+a+reloadable+card\u0026amp;description=Creates+a+**reloadable**+card+funded+from+the+account+holder%27s+balance+with+the+card+issuer%2C+and+returns+it.+Use+this+card+for+ad+platforms%2C+AI+and+inference+pr\u0026amp;theme=98f9ba75e7b3eeb2c36a661c\u0026amp;signature=2ec6618afbc14ee77f1b044acbca03b16c78d32a5d20e02819273f78d30344c6\">\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/cards/create-a-reloadable-card\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/cards/create-a-reloadable-card.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/cards/create-a-reloadable-card#webpage\",\"url\":\"https://docs.laso.finance/api-reference/cards/create-a-reloadable-card\",\"name\":\"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. The 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. This route is free — no x402 payment. The card draws on the account holder's own balance with the issuer, so Laso fronts nothing. 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. Read 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.\",\"dateModified\":\"2026-11-06T22:00:07.045Z\",\"isPartOf\":{\"@id\":\"https://docs.laso.finance#website\"},\"breadcrumb\":{\"@id\":\"https://docs.laso.finance/api-reference/cards/create-a-reloadable-card#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.laso.finance/api-reference/cards/create-a-reloadable-card#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\":\"Create a reloadable card\",\"item\":\"https://docs.laso.finance/api-reference/cards/create-a-reloadable-card\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.laso.finance/api-reference/cards/create-a-reloadable-card#apireference\",\"headline\":\"Create a reloadable card\",\"name\":\"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. The 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. This route is free — no x402 payment. The card draws on the account holder's own balance with the issuer, so Laso fronts nothing. 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. Read 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.\",\"url\":\"https://docs.laso.finance/api-reference/cards/create-a-reloadable-card\",\"mainEntityOfPage\":{\"@id\":\"https://docs.laso.finance/api-reference/cards/create-a-reloadable-card#webpage\"},\"dateModified\":\"2026-11-06T22:00:07.045Z\",\"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","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /get-card","href":"/api-reference/order-a-usa-prepaid-card"},{"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"},{"title":"Create a reloadable card","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","description":"Returns transactions on the authenticated user's **reloadable** cards, newest first: amount, merchant, status, and timestamps.\n\nPass `card_id` for one card's history, or omit it for every reloadable card on the account. Filter with `status` and cap the page with `limit`.\n\nThe response carries three lists. `transactions` holds the card spends the issuer reports. `card_events` holds the deposits, spending-limit changes, card creations and withdrawal requests that move the balance those spends draw on, which the issuer does not report at all. `top_ups` follows each `GET /fund-card-balance` payment across its legs. Merge `transactions` and `card_events` by `created_at` for the account holder's own view of the card; a list of spends alone shows money leaving a balance that grows for no visible reason.\n\nThis route covers reloadable cards only. The two non-reloadable products keep their history in Laso's own records and are read through `/get-card-data`.\n\nIf the wallet has no card issuer account linked, all three lists are empty and a `note` explains how the account holder sets one up at https://laso.finance/agent/dashboard/verified/card.","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":"Create a reloadable card - 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"]}