{
"status": 400,
"message": "You can only buy to your merchant's escrow",
"data": {}
}
{
"status": 401,
"message": "Your account has been disabled from buying, please contact support",
"data": {}
}
{
"status": 429,
"message": "Too many request"
}
6. Fund it: Payments
Pay escrow (buy)
Fund an escrow from the buyer’s Payluk wallet balance. New money never comes in through this route: to collect a payment from a customer, use the hosted Checkout SDK, which generates a temporary virtual account for the customer to pay. Works for standard and milestone escrows (a milestone escrow is funded in full here). escrowDetails.escrowId may be an array to fund several escrows in one call. Requires the customer-id header (the buyer).
amount must equal what the buyer owes: the escrow amount, plus the buyer’s share of fee (all of it when whoPays is buyer, half when both, none when seller), plus the escrow’s additionalFee. Anything else is rejected with Amount mismatch, so read the escrow first rather than caching a quote. The escrow must be AWAITING_PAYMENT (Escrow is not in a valid state for checkout otherwise), and on live keys the buyer may not be the seller.
Gateways.wallet debits the buyer’s main balance (Insufficient balance if it does not cover the total). Card payments and direct deposits are not supported.
The call both creates and settles the payment, so a successful response means the escrow is now OPENED. Verifying the same reference again with Verify payment is idempotent.
Your secret key as a Bearer token. The key prefix selects the environment: sk_test_... (staging) or sk_live_... (production); a key on the wrong host is refused with 403 Unauthorized Access. Each key is limited to 10 requests per minute (429 beyond that) and, on production, to the IP addresses on your dashboard allowlist when one is configured.
Total amount to charge the buyer. Must equal the escrow amount plus the buyer's fee share plus the escrow's additionalFee, otherwise the request is rejected with "Amount mismatch". Read the escrow first if you are unsure: amount, fee, whoPays and additionalFee are all on it.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Payluk API","description":"Merchant API for escrow payment links, milestones, disputes and payments on Payluk.","colors":{"primary":"#635BFF","light":"#8C84FF","dark":"#4B45C6"},"logo":{"light":"https://mintcdn.com/payluk-ef2ec5d5/rkT218q-vzY-YX70/logo/light.svg?fit=max\u0026auto=format\u0026n=rkT218q-vzY-YX70\u0026q=85\u0026s=4d5ac80b7027fa47525679435f866b7a","dark":"https://mintcdn.com/payluk-ef2ec5d5/rkT218q-vzY-YX70/logo/dark.svg?fit=max\u0026auto=format\u0026n=rkT218q-vzY-YX70\u0026q=85\u0026s=0d2d45ebcb4b59d2505dfb2963cd4cd5"},"favicon":"https://mintcdn.com/payluk-ef2ec5d5/rkT218q-vzY-YX70/favicon.svg?fit=max\u0026auto=format\u0026n=rkT218q-vzY-YX70\u0026q=85\u0026s=57e2a7f2aaba8aea48f98fc8fbb5bcc2","navbar":{"links":[{"href":"mailto:[email protected]","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://payluk.ng"}},"footer":{"socials":{"website":"https://payluk.ng","x":"https://x.com/payluk"}},"fonts":{"family":"DM Sans"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"payluk-ef2ec5d5","hasAudioNarration":false,"actualSubdomain":"payluk-ef2ec5d5","customDomains":["docs.payluk.ng"],"gitSource":{"type":"github","owner":"jerozeek","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"collectionId":"f4fe0f48-58ed-4eed-a3e6-12471f8dd6b7","liveDeploymentHistoryId":"6ad8d33b9cc3966443d31784","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad8d33b9cc3966443d31784"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ad8d33b9cc3966443d31784","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"API Reference","count":57},{"language":"default","tag":"Documentation","count":18},{"language":"default","tag":"1. Onboard customers","count":9},{"language":"default","tag":"6. Fund it: Payments","count":9},{"language":"default","tag":"7. Release \u0026 resolve: Disputes","count":8},{"language":"default","tag":"3. Create the deal: Escrow","count":8},{"language":"default","tag":"2. Catalog (optional)","count":7},{"language":"default","tag":"Core concepts","count":7},{"language":"default","tag":"4. Create the deal: Milestone Escrow","count":6},{"language":"default","tag":"5. Stake \u0026 resolve: Vault Escrow","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"html[data-current-path^=\"/api-reference/\"]:not([data-current-path$=\"/overview\"]) #header>.prose{font-size:1rem;line-height:1.75}"}],"page":{"pagePath":"api-reference/payments/pay-escrow-buy","slug":"/api-reference/payments/pay-escrow-buy","pageMetadata":{"title":"Pay escrow (buy)","openapi":"openapi.json POST /v1/payment/escrow","description":"Fund an escrow from the buyer's Payluk wallet balance. New money never comes in through this route: to collect a payment from a customer, use the hosted [Checkout SDK](/sdk/javascript), which generates a temporary virtual account for the customer to pay. Works for standard and milestone escrows (a milestone escrow is funded in full here). `escrowDetails.escrowId` may be an array to fund several escrows in one call. Requires the `customer-id` header (the buyer).\n\n**`amount` must equal what the buyer owes**: the escrow `amount`, plus the buyer's share of `fee` (all of it when `whoPays` is `buyer`, half when `both`, none when `seller`), plus the escrow's `additionalFee`. Anything else is rejected with `Amount mismatch`, so read the escrow first rather than caching a quote. The escrow must be `AWAITING_PAYMENT` (`Escrow is not in a valid state for checkout` otherwise), and on live keys the buyer may not be the seller.\n\n**Gateways.** `wallet` debits the buyer's main balance (`Insufficient balance` if it does not cover the total). Card payments and direct deposits are not supported.\n\nThe call both creates and settles the payment, so a successful response means the escrow is now `OPENED`. Verifying the same `reference` again with [Verify payment](/api-reference/payments/verify-payment) is idempotent.","href":"/api-reference/payments/pay-escrow-buy"},"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 a: \"a\",\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: [\"Fund an escrow from the buyer’s Payluk wallet balance. New money never comes in through this route: to collect a payment from a customer, use the hosted \", _jsx(_components.a, {\n href: \"/sdk/javascript\",\n children: \"Checkout SDK\"\n }), \", which generates a temporary virtual account for the customer to pay. Works for standard and milestone escrows (a milestone escrow is funded in full here). \", _jsx(_components.code, {\n children: \"escrowDetails.escrowId\"\n }), \" may be an array to fund several escrows in one call. Requires the \", _jsx(_components.code, {\n children: \"customer-id\"\n }), \" header (the buyer).\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsxs(_components.strong, {\n children: [_jsx(_components.code, {\n children: \"amount\"\n }), \" must equal what the buyer owes\"]\n }), \": the escrow \", _jsx(_components.code, {\n children: \"amount\"\n }), \", plus the buyer’s share of \", _jsx(_components.code, {\n children: \"fee\"\n }), \" (all of it when \", _jsx(_components.code, {\n children: \"whoPays\"\n }), \" is \", _jsx(_components.code, {\n children: \"buyer\"\n }), \", half when \", _jsx(_components.code, {\n children: \"both\"\n }), \", none when \", _jsx(_components.code, {\n children: \"seller\"\n }), \"), plus the escrow’s \", _jsx(_components.code, {\n children: \"additionalFee\"\n }), \". Anything else is rejected with \", _jsx(_components.code, {\n children: \"Amount mismatch\"\n }), \", so read the escrow first rather than caching a quote. The escrow must be \", _jsx(_components.code, {\n children: \"AWAITING_PAYMENT\"\n }), \" (\", _jsx(_components.code, {\n children: \"Escrow is not in a valid state for checkout\"\n }), \" otherwise), and on live keys the buyer may not be the seller.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Gateways.\"\n }), \" \", _jsx(_components.code, {\n children: \"wallet\"\n }), \" debits the buyer’s main balance (\", _jsx(_components.code, {\n children: \"Insufficient balance\"\n }), \" if it does not cover the total). Card payments and direct deposits are not supported.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"The call both creates and settles the payment, so a successful response means the escrow is now \", _jsx(_components.code, {\n children: \"OPENED\"\n }), \". Verifying the same \", _jsx(_components.code, {\n children: \"reference\"\n }), \" again with \", _jsx(_components.a, {\n href: \"/api-reference/payments/verify-payment\",\n children: \"Verify payment\"\n }), \" is idempotent.\"]\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":"Pay escrow (buy)","openapi":"openapi.json POST /v1/payment/escrow","description":"Fund an escrow from the buyer's Payluk wallet balance. New money never comes in through this route: to collect a payment from a customer, use the hosted [Checkout SDK](/sdk/javascript), which generates a temporary virtual account for the customer to pay. Works for standard and milestone escrows (a milestone escrow is funded in full here). `escrowDetails.escrowId` may be an array to fund several escrows in one call. Requires the `customer-id` header (the buyer).\n\n**`amount` must equal what the buyer owes**: the escrow `amount`, plus the buyer's share of `fee` (all of it when `whoPays` is `buyer`, half when `both`, none when `seller`), plus the escrow's `additionalFee`. Anything else is rejected with `Amount mismatch`, so read the escrow first rather than caching a quote. The escrow must be `AWAITING_PAYMENT` (`Escrow is not in a valid state for checkout` otherwise), and on live keys the buyer may not be the seller.\n\n**Gateways.** `wallet` debits the buyer's main balance (`Insufficient balance` if it does not cover the total). Card payments and direct deposits are not supported.\n\nThe call both creates and settles the payment, so a successful response means the escrow is now `OPENED`. Verifying the same `reference` again with [Verify payment](/api-reference/payments/verify-payment) is idempotent.","href":"/api-reference/payments/pay-escrow-buy"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Payments"],"summary":"Pay escrow (buy)","operationId":"payEscrow","description":"Fund an escrow from the buyer's Payluk wallet balance. New money never comes in through this route: to collect a payment from a customer, use the hosted [Checkout SDK](/sdk/javascript), which generates a temporary virtual account for the customer to pay. Works for standard and milestone escrows (a milestone escrow is funded in full here). `escrowDetails.escrowId` may be an array to fund several escrows in one call. Requires the `customer-id` header (the buyer).\n\n**`amount` must equal what the buyer owes**: the escrow `amount`, plus the buyer's share of `fee` (all of it when `whoPays` is `buyer`, half when `both`, none when `seller`), plus the escrow's `additionalFee`. Anything else is rejected with `Amount mismatch`, so read the escrow first rather than caching a quote. The escrow must be `AWAITING_PAYMENT` (`Escrow is not in a valid state for checkout` otherwise), and on live keys the buyer may not be the seller.\n\n**Gateways.** `wallet` debits the buyer's main balance (`Insufficient balance` if it does not cover the total). Card payments and direct deposits are not supported.\n\nThe call both creates and settles the payment, so a successful response means the escrow is now `OPENED`. Verifying the same `reference` again with [Verify payment](/api-reference/payments/verify-payment) is idempotent.","parameters":["b403406e-06c9-45e2-aa93-4baf426d610e"],"requestBody":"3c4049ab-8b71-4cb5-ba56-f928e23c0e4c","responses":{"200":"1259ca22-27a5-4177-b33d-7ad5f6b04b62","400":"dddfac20-c5a5-472b-ae5b-db298c19fe6b","401":"f765118e-7131-454d-944e-236a8544fda8","429":"e70d7e81-19b5-45f7-965b-7444833d0c0b"},"method":"post","type":"path","servers":["aefc91df-d969-4cc9-bdc5-50d00d24475d","a3d61f54-47ad-4063-90bb-7b528d417445"],"security":["1e2fcc27-9d70-4608-bab0-b7f13130ea35"],"path":"/v1/payment/escrow","baseUrlOptions":["https://staging.api.payluk.ng","https://api.payluk.ng"],"title":"Pay escrow (buy)","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"b403406e-06c9-45e2-aa93-4baf426d610e":{"name":"customer-id","in":"header","required":true,"description":"The merchant customer this request acts on behalf of.","schema":{"type":"string","isRequired":true,"description":"The merchant customer this request acts on behalf of.","uniqueKey":"","typeLabel":"string"},"example":"665f1b2c9a1e4d0012ab3c01"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["amount","reference","transactionType","escrowDetails"],"properties":{"amount":{"type":"number","minimum":1000,"description":"Total amount to charge the buyer. Must equal the escrow amount plus the buyer's fee share plus the escrow's `additionalFee`, otherwise the request is rejected with \"Amount mismatch\". Read the escrow first if you are unsure: `amount`, `fee`, `whoPays` and `additionalFee` are all on it.","example":10503.75,"isRequired":true,"uniqueKey":"amount","typeLabel":"number"},"reference":{"type":"string","description":"Your unique reference for this payment.","example":"ESC_REF_98765","isRequired":true,"uniqueKey":"reference","typeLabel":"string"},"transactionType":{"type":"string","enum":["escrow"],"default":"escrow","example":"escrow","isRequired":true,"uniqueKey":"transactionType","typeLabel":"enum\u003cstring>"},"escrowDetails":{"type":"object","required":["escrowId"],"properties":{"escrowId":{"type":"string","description":"The ID of the escrow to fund.","example":"665f1b2c9a1e4d0012ab3c10","isRequired":true,"uniqueKey":"escrowDetails.escrowId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"escrowDetails","typeLabel":"object"},"gateway":{"type":"string","enum":["wallet"],"default":"wallet","description":"Funding source. `wallet` debits the buyer's Payluk wallet. Card payments are not supported; to collect new payments use the [Checkout SDK](/sdk/javascript).","example":"wallet","uniqueKey":"gateway","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","default":"NGN","description":"Optional. Defaults to NGN.","uniqueKey":"currency","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"wallet":{"title":"wallet","value":{"amount":10503.75,"reference":"ESC_REF_98765","transactionType":"escrow","gateway":"wallet","escrowDetails":{"escrowId":"665f1b2c9a1e4d0012ab3c10"}}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"1259ca22-27a5-4177-b33d-7ad5f6b04b62":{"description":"Escrow funded.","content":{"application/json":{"example":{"status":200,"message":"Payment intent verified successfully","data":{"id":"6a3cdafd734e96016b22736b","amount":1030,"reference":"rthyjyutj","fee":0,"transactionType":"escrow","currency":"NGN","transferDetails":null,"cardId":null,"walletDetails":null,"blockchainDetails":null,"withdrawalDetails":null,"escrowDetails":{"beneficiary":{"name":"firsty fhgvj","phone":"09022331122"},"description":"details","amount":1000,"fee":30,"paymentToken":"PY_TIrNY1CD3836","purpose":"multi-purpose escrow item","channel":"API","callbackUrl":null},"metadata":null,"status":"success","creditType":"debit","createdAt":"2026-06-25T07:38:38.003Z","updatedAt":"2026-06-25T07:38:39.329Z"}},"examples":{"Example":{"title":"Example","value":{"status":200,"message":"Payment intent verified successfully","data":{"id":"6a3cdafd734e96016b22736b","amount":1030,"reference":"rthyjyutj","fee":0,"transactionType":"escrow","currency":"NGN","transferDetails":null,"cardId":null,"walletDetails":null,"blockchainDetails":null,"withdrawalDetails":null,"escrowDetails":{"beneficiary":{"name":"firsty fhgvj","phone":"09022331122"},"description":"details","amount":1000,"fee":30,"paymentToken":"PY_TIrNY1CD3836","purpose":"multi-purpose escrow item","channel":"API","callbackUrl":null},"metadata":null,"status":"success","creditType":"debit","createdAt":"2026-06-25T07:38:38.003Z","updatedAt":"2026-06-25T07:38:39.329Z"}}}},"exampleType":"examples"}},"exampleType":"examples"},"dddfac20-c5a5-472b-ae5b-db298c19fe6b":{"description":"You can only buy to your merchant's escrow.","content":{"application/json":{"schema":{"type":"object","description":"Standard error envelope.","properties":{"status":{"type":"integer","example":400,"uniqueKey":"status","typeLabel":"integer"},"message":{"type":"string","example":"Action not allowed","uniqueKey":"message","typeLabel":"string"},"data":{"type":"object","example":{},"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"status":400,"message":"You can only buy to your merchant's escrow","data":{}},"examples":{"Example":{"title":"Example","value":{"status":400,"message":"You can only buy to your merchant's escrow","data":{}}}},"exampleType":"examples"}},"exampleType":"examples"},"f765118e-7131-454d-944e-236a8544fda8":{"description":"Buying disabled for this account.","content":{"application/json":{"schema":{"type":"object","description":"Standard error envelope.","properties":{"status":{"type":"integer","example":400,"uniqueKey":"status","typeLabel":"integer"},"message":{"type":"string","example":"Action not allowed","uniqueKey":"message","typeLabel":"string"},"data":{"type":"object","example":{},"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"status":401,"message":"Your account has been disabled from buying, please contact support","data":{}},"examples":{"Example":{"title":"Example","value":{"status":401,"message":"Your account has been disabled from buying, please contact support","data":{}}}},"exampleType":"examples"}},"exampleType":"examples"},"e70d7e81-19b5-45f7-965b-7444833d0c0b":{"description":"Rate limit exceeded: more than 10 requests in one minute from this secret key. Read the `RateLimit` header and retry after the window resets.","content":{"application/json":{"schema":{"type":"object","description":"Standard error envelope.","properties":{"status":{"type":"integer","example":400,"uniqueKey":"status","typeLabel":"integer"},"message":{"type":"string","example":"Action not allowed","uniqueKey":"message","typeLabel":"string"},"data":{"type":"object","example":{},"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"status":429,"message":"Too many request"},"examples":{"Example":{"title":"Example","value":{"status":429,"message":"Too many request"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"1e2fcc27-9d70-4608-bab0-b7f13130ea35":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Your secret key as a Bearer token. The key prefix selects the environment: `sk_test_...` (staging) or `sk_live_...` (production); a key on the wrong host is refused with `403 Unauthorized Access`. Each key is limited to 10 requests per minute (`429` beyond that) and, on production, to the IP addresses on your dashboard allowlist when one is configured.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"aefc91df-d969-4cc9-bdc5-50d00d24475d":{"url":"https://staging.api.payluk.ng","description":"Staging: use sk_test_ keys here for safe testing"},"a3d61f54-47ad-4063-90bb-7b528d417445":{"url":"https://api.payluk.ng","description":"Production: use sk_live_ keys"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Your secret key as a Bearer token. The key prefix selects the environment: `sk_test_...` (staging) or `sk_live_...` (production); a key on the wrong host is refused with `403 Unauthorized Access`. Each key is limited to 10 requests per minute (`429` beyond that) and, on production, to the IP addresses on your dashboard allowlist when one is configured.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Your secret key as a Bearer token. The key prefix selects the environment: `sk_test_...` (staging) or `sk_live_...` (production); a key on the wrong host is refused with `403 Unauthorized Access`. Each key is limited to 10 requests per minute (`429` beyond that) and, on production, to the IP addresses on your dashboard allowlist when one is configured.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi.json"},"subdomain":"payluk-ef2ec5d5","siteName":"Payluk API","title":"Pay escrow (buy) - Payluk API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-21T14:59:12.981Z","originalFileLocation":"api-reference/payments/pay-escrow-buy.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=\"Fund an escrow from the buyer\u0026#x27;s Payluk wallet balance. New money never comes in through this route: to collect a payment from a customer, use the hosted Checkout SDK, which generates a temporary virtual account for the customer to pay. Works for standard and milestone escrows (a milestone escrow is funded in full here). escrowDetails.escrowId may be an array to fund several escrows in one call. Requires the customer-id header (the buyer). amount must equal what the buyer owes: the escrow amount, plus the buyer\u0026#x27;s share of fee (all of it when whoPays is buyer, half when both, none when seller), plus the escrow\u0026#x27;s additionalFee. Anything else is rejected with Amount mismatch, so read the escrow first rather than caching a quote. The escrow must be AWAITING_PAYMENT (Escrow is not in a valid state for checkout otherwise), and on live keys the buyer may not be the seller. Gateways. wallet debits the buyer\u0026#x27;s main balance (Insufficient balance if it does not cover the total). Card payments and direct deposits are not supported. The call both creates and settles the payment, so a successful response means the escrow is now OPENED. Verifying the same reference again with Verify payment is idempotent.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Payluk 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/payluk-ef2ec5d5/Cv4gyBKzeMUyqwEf/_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/payluk-ef2ec5d5/Cv4gyBKzeMUyqwEf/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/payluk-ef2ec5d5/Cv4gyBKzeMUyqwEf/_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/payluk-ef2ec5d5/Cv4gyBKzeMUyqwEf/_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/payluk-ef2ec5d5/Cv4gyBKzeMUyqwEf/_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/payluk-ef2ec5d5/Cv4gyBKzeMUyqwEf/_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/payluk-ef2ec5d5/Cv4gyBKzeMUyqwEf/_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/payluk-ef2ec5d5/Cv4gyBKzeMUyqwEf/_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/payluk-ef2ec5d5/Cv4gyBKzeMUyqwEf/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Pay escrow (buy) - Payluk API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Fund an escrow from the buyer\u0026#x27;s Payluk wallet balance. New money never comes in through this route: to collect a payment from a customer, use the hosted Checkout SDK, which generates a temporary virtual account for the customer to pay. Works for standard and milestone escrows (a milestone escrow is funded in full here). escrowDetails.escrowId may be an array to fund several escrows in one call. Requires the customer-id header (the buyer). amount must equal what the buyer owes: the escrow amount, plus the buyer\u0026#x27;s share of fee (all of it when whoPays is buyer, half when both, none when seller), plus the escrow\u0026#x27;s additionalFee. Anything else is rejected with Amount mismatch, so read the escrow first rather than caching a quote. The escrow must be AWAITING_PAYMENT (Escrow is not in a valid state for checkout otherwise), and on live keys the buyer may not be the seller. Gateways. wallet debits the buyer\u0026#x27;s main balance (Insufficient balance if it does not cover the total). Card payments and direct deposits are not supported. The call both creates and settles the payment, so a successful response means the escrow is now OPENED. Verifying the same reference again with Verify payment is idempotent.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Payluk API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.payluk.ng/api-reference/payments/pay-escrow-buy\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://payluk-ef2ec5d5.mintlify.site/_mintlify/api/og/v2?division=6.+Fund+it%3A+Payments\u0026amp;title=Pay+escrow+%28buy%29\u0026amp;description=Fund+an+escrow+from+the+buyer%27s+Payluk+wallet+balance.+New+money+never+comes+in+through+this+route%3A+to+collect+a+payment+from+a+customer%2C+use+the+hosted+%5BChecko\u0026amp;theme=871e0e65f83a6a3d487d4038\u0026amp;signature=0dd6e2191038d3fdfe179f9d678229a92ac1644332af8ab8977f29b6bfe5fb0c\">\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=\"Pay escrow (buy) - Payluk API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Fund an escrow from the buyer\u0026#x27;s Payluk wallet balance. New money never comes in through this route: to collect a payment from a customer, use the hosted Checkout SDK, which generates a temporary virtual account for the customer to pay. Works for standard and milestone escrows (a milestone escrow is funded in full here). escrowDetails.escrowId may be an array to fund several escrows in one call. Requires the customer-id header (the buyer). amount must equal what the buyer owes: the escrow amount, plus the buyer\u0026#x27;s share of fee (all of it when whoPays is buyer, half when both, none when seller), plus the escrow\u0026#x27;s additionalFee. Anything else is rejected with Amount mismatch, so read the escrow first rather than caching a quote. The escrow must be AWAITING_PAYMENT (Escrow is not in a valid state for checkout otherwise), and on live keys the buyer may not be the seller. Gateways. wallet debits the buyer\u0026#x27;s main balance (Insufficient balance if it does not cover the total). Card payments and direct deposits are not supported. The call both creates and settles the payment, so a successful response means the escrow is now OPENED. Verifying the same reference again with Verify payment is idempotent.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://payluk-ef2ec5d5.mintlify.site/_mintlify/api/og/v2?division=6.+Fund+it%3A+Payments\u0026amp;title=Pay+escrow+%28buy%29\u0026amp;description=Fund+an+escrow+from+the+buyer%27s+Payluk+wallet+balance.+New+money+never+comes+in+through+this+route%3A+to+collect+a+payment+from+a+customer%2C+use+the+hosted+%5BChecko\u0026amp;theme=871e0e65f83a6a3d487d4038\u0026amp;signature=0dd6e2191038d3fdfe179f9d678229a92ac1644332af8ab8977f29b6bfe5fb0c\">\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/payluk-ef2ec5d5/Cv4gyBKzeMUyqwEf/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Payluk API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#635BFF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.payluk.ng/api-reference/payments/pay-escrow-buy\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/payments/pay-escrow-buy.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.payluk.ng/#organization\",\"name\":\"Payluk API\",\"url\":\"https://docs.payluk.ng\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/payluk-ef2ec5d5/rkT218q-vzY-YX70/logo/light.svg?fit=max\u0026auto=format\u0026n=rkT218q-vzY-YX70\u0026q=85\u0026s=4d5ac80b7027fa47525679435f866b7a\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.payluk.ng#website\",\"name\":\"Payluk API\",\"url\":\"https://docs.payluk.ng\",\"publisher\":{\"@id\":\"https://docs.payluk.ng/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.payluk.ng/api-reference/payments/pay-escrow-buy#webpage\",\"url\":\"https://docs.payluk.ng/api-reference/payments/pay-escrow-buy\",\"name\":\"Pay escrow (buy)\",\"description\":\"Fund an escrow from the buyer's Payluk wallet balance. New money never comes in through this route: to collect a payment from a customer, use the hosted Checkout SDK, which generates a temporary virtual account for the customer to pay. Works for standard and milestone escrows (a milestone escrow is funded in full here). escrowDetails.escrowId may be an array to fund several escrows in one call. Requires the customer-id header (the buyer). amount must equal what the buyer owes: the escrow amount, plus the buyer's share of fee (all of it when whoPays is buyer, half when both, none when seller), plus the escrow's additionalFee. Anything else is rejected with Amount mismatch, so read the escrow first rather than caching a quote. The escrow must be AWAITING_PAYMENT (Escrow is not in a valid state for checkout otherwise), and on live keys the buyer may not be the seller. Gateways. wallet debits the buyer's main balance (Insufficient balance if it does not cover the total). Card payments and direct deposits are not supported. The call both creates and settles the payment, so a successful response means the escrow is now OPENED. Verifying the same reference again with Verify payment is idempotent.\",\"dateModified\":\"2026-10-21T14:59:12.981Z\",\"isPartOf\":{\"@id\":\"https://docs.payluk.ng#website\"},\"breadcrumb\":{\"@id\":\"https://docs.payluk.ng/api-reference/payments/pay-escrow-buy#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.payluk.ng/api-reference/payments/pay-escrow-buy#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"6. Fund it: Payments\",\"item\":\"https://docs.payluk.ng/api-reference/payments/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Pay escrow (buy)\",\"item\":\"https://docs.payluk.ng/api-reference/payments/pay-escrow-buy\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.payluk.ng/api-reference/payments/pay-escrow-buy#apireference\",\"headline\":\"Pay escrow (buy)\",\"name\":\"Pay escrow (buy)\",\"description\":\"Fund an escrow from the buyer's Payluk wallet balance. New money never comes in through this route: to collect a payment from a customer, use the hosted Checkout SDK, which generates a temporary virtual account for the customer to pay. Works for standard and milestone escrows (a milestone escrow is funded in full here). escrowDetails.escrowId may be an array to fund several escrows in one call. Requires the customer-id header (the buyer). amount must equal what the buyer owes: the escrow amount, plus the buyer's share of fee (all of it when whoPays is buyer, half when both, none when seller), plus the escrow's additionalFee. Anything else is rejected with Amount mismatch, so read the escrow first rather than caching a quote. The escrow must be AWAITING_PAYMENT (Escrow is not in a valid state for checkout otherwise), and on live keys the buyer may not be the seller. Gateways. wallet debits the buyer's main balance (Insufficient balance if it does not cover the total). Card payments and direct deposits are not supported. The call both creates and settles the payment, so a successful response means the escrow is now OPENED. Verifying the same reference again with Verify payment is idempotent.\",\"url\":\"https://docs.payluk.ng/api-reference/payments/pay-escrow-buy\",\"mainEntityOfPage\":{\"@id\":\"https://docs.payluk.ng/api-reference/payments/pay-escrow-buy#webpage\"},\"dateModified\":\"2026-10-21T14:59:12.981Z\",\"publisher\":{\"@id\":\"https://docs.payluk.ng/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.payluk.ng#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Payluk API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Payluk API","nav":{"global":null,"tabs":[{"tab":"Documentation","icon":"book-open","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"Checkout SDK","icon":"code","pages":[{"title":"Checkout SDK","href":"/sdk/introduction"}]},{"tab":"API Reference","icon":"terminal","groups":[{"group":"1. Onboard customers","pages":[{"title":"Onboard customers overview","href":"/api-reference/merchant-customers/overview"},{"title":"Create merchant customer","openapi":"openapi.json POST /v1/customer/create","href":"/api-reference/merchant-customers/create-merchant-customer"},{"title":"List merchant customers","openapi":"openapi.json GET /v1/customers","href":"/api-reference/merchant-customers/list-merchant-customers"},{"title":"Get merchant customer","openapi":"openapi.json GET /v1/customer/get/{customerId}","href":"/api-reference/merchant-customers/get-merchant-customer"},{"title":"Update customer","openapi":"openapi.json PUT /v1/customer/update/{customerId}","href":"/api-reference/merchant-customers/update-customer"},{"title":"Update customer permissions","openapi":"openapi.json PUT /v1/customer/permissions/{customerId}","href":"/api-reference/merchant-customers/update-customer-permissions"},{"title":"Block customer","openapi":"openapi.json PUT /v1/customer/block/{customerId}","href":"/api-reference/merchant-customers/block-customer"},{"title":"Unblock customer","openapi":"openapi.json PUT /v1/customer/unblock/{customerId}","href":"/api-reference/merchant-customers/unblock-customer"},{"title":"Get customer wallet","openapi":"openapi.json GET /v1/wallet","href":"/api-reference/merchant-customers/get-customer-wallet"}]},{"group":"2. Catalog (optional)","pages":[{"title":"Catalog (categories) overview","href":"/api-reference/categories/overview"},{"title":"Create category","openapi":"openapi.json POST /v1/escrow/category/create","href":"/api-reference/categories/create-category"},{"title":"Update category","openapi":"openapi.json PUT /v1/escrow/category/edit/{categoryId}","href":"/api-reference/categories/update-category"},{"title":"List categories","openapi":"openapi.json GET /v1/escrow/category/get","href":"/api-reference/categories/list-categories"},{"title":"Get category by ID","openapi":"openapi.json GET /v1/escrow/category/get/{categoryId}","href":"/api-reference/categories/get-category-by-id"},{"title":"Update category position","openapi":"openapi.json PUT /v1/escrow/category/position/{categoryId}","href":"/api-reference/categories/update-category-position"},{"title":"Delete category","openapi":"openapi.json DELETE /v1/escrow/category/delete/{categoryId}","href":"/api-reference/categories/delete-category"}]},{"group":"3. Create the deal: Escrow","pages":[{"title":"Escrow overview","href":"/api-reference/escrow/overview"},{"title":"Create escrow","openapi":"openapi.json POST /v1/escrow/create","href":"/api-reference/escrow/create-escrow"},{"title":"Edit escrow","openapi":"openapi.json PUT /v1/escrow/edit/{paymentToken}","href":"/api-reference/escrow/edit-escrow"},{"title":"Update additional fee","openapi":"openapi.json PUT /v1/escrow/additional-fee/{paymentToken}","href":"/api-reference/escrow/update-additional-fee"},{"title":"Delete escrow","openapi":"openapi.json DELETE /v1/escrow/delete/{paymentToken}","href":"/api-reference/escrow/delete-escrow"},{"title":"Verify payment token","openapi":"openapi.json GET /v1/escrow/verify/{paymentToken}","href":"/api-reference/escrow/verify-payment-token"},{"title":"Claim funds","openapi":"openapi.json GET /v1/escrow/claim-funds/{paymentToken}","href":"/api-reference/escrow/claim-funds"},{"title":"List escrow transactions","openapi":"openapi.json GET /v1/escrow/transactions","href":"/api-reference/escrow/list-escrow-transactions"}]},{"group":"4. Create the deal: Milestone Escrow","pages":[{"title":"Milestone escrow overview","href":"/api-reference/milestone-escrow/overview"},{"title":"Create milestone escrow","openapi":"openapi.json POST /v1/escrow/milestone/create","href":"/api-reference/milestone-escrow/create-milestone-escrow"},{"title":"Edit milestone escrow","openapi":"openapi.json PUT /v1/escrow/milestone/edit/{paymentToken}","href":"/api-reference/milestone-escrow/edit-milestone-escrow"},{"title":"Convert standard escrow to milestone","openapi":"openapi.json PUT /v1/escrow/milestone/convert/{paymentToken}","href":"/api-reference/milestone-escrow/convert-to-milestone"},{"title":"Get milestones","openapi":"openapi.json GET /v1/escrow/milestone/{paymentToken}","href":"/api-reference/milestone-escrow/get-milestones"},{"title":"Confirm milestone","openapi":"openapi.json POST /v1/escrow/milestone/confirm/{escrowId}/{milestoneId}","href":"/api-reference/milestone-escrow/confirm-milestone"}]},{"group":"5. Stake \u0026 resolve: Vault Escrow","pages":[{"title":"Vault escrow overview","href":"/api-reference/vault-escrow/overview"},{"title":"Create vault escrow","openapi":"openapi.json POST /v1/escrow/vault/create","href":"/api-reference/vault-escrow/create-vault-escrow"},{"title":"Declare vault winner","openapi":"openapi.json POST /v1/escrow/vault/winner/{paymentToken}","href":"/api-reference/vault-escrow/declare-vault-winner"},{"title":"Cancel vault escrow","openapi":"openapi.json POST /v1/escrow/vault/cancel/{paymentToken}","href":"/api-reference/vault-escrow/cancel-vault-escrow"},{"title":"Get vault escrow","openapi":"openapi.json GET /v1/escrow/vault/{paymentToken}","href":"/api-reference/vault-escrow/get-vault-escrow"}]},{"group":"6. Fund it: Payments","pages":[{"title":"Payments overview","description":"Pay escrows, make payouts, and verify references and bank details.","href":"/api-reference/payments/overview"},{"title":"Pay escrow (buy)","openapi":"openapi.json POST /v1/payment/escrow","href":"/api-reference/payments/pay-escrow-buy"},{"title":"Create payment intent","openapi":"openapi.json POST /v1/payment/create-intent","description":"Creates a payment intent for a merchant customer. Set `transactionType` to one of (deposits are not supported: money comes in only as an escrow payment through the [Checkout SDK](/sdk/javascript), which generates a temporary virtual account for the customer to pay):\n\n- **`withdrawal`**: a payout. For a **fiat bank withdrawal** supply `withdrawalDetails` (bank account); for a **crypto transfer** supply `blockchainDetails` (recipient address + network) instead.\n- **`wallet_transfer`**: send funds to another Payluk wallet via `walletDetails`.\n\n### Withdrawal fees\n\nPayluk sets the `fee` on the returned intent; you do not send it. The customer is debited `amount + fee`, so reconcile against the `fee` you read back rather than assuming a figure.\n\nThe fee depends on the amount and on which provider Payluk currently settles payouts through, and it may include VAT. It is fixed on the intent when the intent is created, so the figure you read back is the figure that will be charged.\n\n### Two-step flow\n\nCreating the intent **only stages** the transaction; no money moves yet. To execute it, submit the returned `reference` to [Verify payment](/api-reference/payments/verify-payment). This separation exists for security.\n\nAll field values are lowercase. Requires the `customer-id` header.\n\nAmounts are naira with at most two decimal places; the minimum is 100 for a transfer. Bank payouts are routed to whichever provider Payluk currently settles through, and a crypto payout to `blockchainDetails.toAddress` on BSC; the `gateway` field is resolved server-side and can be omitted.","href":"/api-reference/payments/create-payment-intent"},{"title":"Verify payment","openapi":"openapi.json POST /v1/payment/verify","href":"/api-reference/payments/verify-payment"},{"title":"Generate virtual account (deprecated)","openapi":"openapi.json POST /v1/payment/virtual-account","deprecated":true,"href":"/api-reference/payments/generate-virtual-account"},{"title":"Get payment history","openapi":"openapi.json GET /v1/payment/history","href":"/api-reference/payments/get-payment-history"},{"title":"Get bank list","openapi":"openapi.json GET /v1/payment/bank-list","href":"/api-reference/payments/get-bank-list"},{"title":"Verify account number","openapi":"openapi.json POST /v1/payment/verify-account","href":"/api-reference/payments/verify-account-number"},{"title":"Verify phone number","openapi":"openapi.json GET /v1/payment/verify-phone/{phone}","href":"/api-reference/payments/verify-phone-number"}]},{"group":"7. Release \u0026 resolve: Disputes","pages":[{"title":"Release \u0026 resolve (disputes) overview","href":"/api-reference/disputes/overview"},{"title":"Buyer confirm payment (standard)","openapi":"openapi.json POST /v1/escrow/confirm-payment/{escrowId}","href":"/api-reference/disputes/buyer-confirm-payment-standard"},{"title":"Submit dispute","openapi":"openapi.json POST /v1/escrow/submit-dispute/{paymentToken}","href":"/api-reference/disputes/submit-dispute"},{"title":"List my disputes","openapi":"openapi.json GET /v1/escrow/dispute/get","href":"/api-reference/disputes/list-my-disputes"},{"title":"Get dispute by escrow ID","openapi":"openapi.json GET /v1/escrow/dispute/get/{escrowId}","href":"/api-reference/disputes/get-dispute-by-escrow-id"},{"title":"List all customers' disputes","openapi":"openapi.json GET /v1/escrow/all-dispute","href":"/api-reference/disputes/list-all-customers-disputes"},{"title":"Get escrow feeds","openapi":"openapi.json GET /v1/escrow/feeds","href":"/api-reference/disputes/get-escrow-feeds"},{"title":"Resolve dispute","openapi":"openapi.json POST /v1/escrow/dispute/resolve/{escrowId}","href":"/api-reference/disputes/resolve-dispute"}]},{"group":"Other: Merchant Account","pages":[{"title":"Merchant account overview","href":"/api-reference/merchant-account/overview"},{"title":"Get merchant balance","openapi":"openapi.json GET /v1/merchant/balance","href":"/api-reference/merchant-account/get-merchant-balance"},{"title":"Get merchant transactions","openapi":"openapi.json GET /v1/merchant/transactions","href":"/api-reference/merchant-account/get-merchant-transactions"}]},{"group":"Other: Misc","pages":[{"title":"Misc overview","href":"/api-reference/misc/overview"},{"title":"Get countries","openapi":"openapi.json GET /v1/countries","href":"/api-reference/misc/get-countries"}]}]},{"tab":"Changelog","icon":"clock-rotate-left","pages":[{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"Pay escrow (buy) - Payluk API","buildId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","deploymentId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-i2a3QZ8E.js","utils-ChLwp8m0.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DRktVTDc.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CA2pEs4T.js","snippetPresets-ClQ6XrKD.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Ct_Lv36y.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-Cn2PYw9e.js","shallow-rkyymjXQ.js","getApiPlaygroundDisplay-BB9vkXtE.js","CodeSnippet-Bm5RU7m1.js","CodeSnippets-BgU9Deuz.js","Page-BUDYNlhG.js","getPastedJson-BD-6NNum.js","icon-8Z6tud2e.js","MethodPill-Tuzr4g3V.js","DuplicateIcon-0ceWFYhN.js","createIcon-FBXow_ST.js","DynamicMarkdown-CD8713Yy.js","SectionHeading-7zgzQbH-.js","axios-vUo_bRtp.js","Markdown-D7Ofw1oz.js","clsx-eKJ4rcii.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CwjSCXIK.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-9EK5IAXV.js"]}