{
"data": null,
"code": 403,
"message": "API key does not have the required permission",
"status": "Error",
"errors": [
{
"code": "403",
"message": "API key does not have the required permission",
"field": "API key does not have the required permission"
}
]
}
{
"code": 409,
"message": "The request conflicts with the current state of the resource",
"status": "ERROR",
"data": null,
"errors": [
{
"code": "CONFLICT",
"message": "The request conflicts with the current state of the resource",
"field": null
}
]
}
{
"code": 503,
"message": "Credentials could not be verified right now",
"status": "ERROR",
"data": null,
"errors": [
{
"code": "DIRECTORY_UNAVAILABLE",
"message": "Credentials could not be verified right now",
"field": null
}
]
}
Submit transaction
Creates the transaction and moves the money — the only call that does. Returns 200 with the transaction object. See the Transactions guide.
{
"data": null,
"code": 403,
"message": "API key does not have the required permission",
"status": "Error",
"errors": [
{
"code": "403",
"message": "API key does not have the required permission",
"field": "API key does not have the required permission"
}
]
}
{
"code": 409,
"message": "The request conflicts with the current state of the resource",
"status": "ERROR",
"data": null,
"errors": [
{
"code": "CONFLICT",
"message": "The request conflicts with the current state of the resource",
"field": null
}
]
}
{
"code": 503,
"message": "Credentials could not be verified right now",
"status": "ERROR",
"data": null,
"errors": [
{
"code": "DIRECTORY_UNAVAILABLE",
"message": "Credentials could not be verified right now",
"field": null
}
]
}
The API version this request targets. Required on every /api/v0/* call. Format YYYY-MM.<release>; 2026-09.1 is the latest. The version that served the request is echoed back on the response. Missing, malformed or unsupported values are rejected with 400.
The wallet the payout is sent from — wlt_…; the amount and fees are both deducted from it. Required when endlTransactionMode is STABLE_COIN_TO_FIAT, STABLE_COIN_TO_STABLE_COIN or TOP_UP. Use the same wallet as the pre-transaction. Not used for other modes.
file_… ids from Upload invoice. Required when the purpose code or recipient has invoiceMandatory: true.
Response
The transaction. Unwrapped — 200, not 201.
A transaction, unwrapped. Returned by Submit, Get and (as an array) List — standard and POBO alike. Keys with no value are left out, except inside recipientData and depositData.
Finer step, e.g. PENDING_DEPOSIT_CONFIRMATION, PROCESSING_PAYOUT, TRANSACTION_PROCESSED_SUCCESSFULLY, TRANSACTION_REJECTED, TRANSACTION_REFUNDED. The full list is in the Transactions guide.
Funding deposit: depositRail, status (INITIATED, PENDING, COMPLETE, REJECTED), amounts and currencies requested and received, chainCode, depositAddress, chainScanLink, confirmationId, updatedOn, and more. Left out when there is no deposit.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Endl API","description":"Official API documentation for the Endl platform.","colors":{"primary":"#245FFE","light":"#5280FE","dark":"#013FE9"},"logo":{"light":"https://mintcdn.com/zaymentfinanceltd/vAyX8M6UjfgZPY1s/logo/endl-api-light-mode.svg?fit=max\u0026auto=format\u0026n=vAyX8M6UjfgZPY1s\u0026q=85\u0026s=317a3d2271242ccb4a73e8c8cc70884d","dark":"https://mintcdn.com/zaymentfinanceltd/vAyX8M6UjfgZPY1s/logo/endl-api-dark-mode.svg?fit=max\u0026auto=format\u0026n=vAyX8M6UjfgZPY1s\u0026q=85\u0026s=b136951611411c621ca45b782a881f95"},"favicon":"https://mintcdn.com/zaymentfinanceltd/vAyX8M6UjfgZPY1s/favicon.svg?fit=max\u0026auto=format\u0026n=vAyX8M6UjfgZPY1s\u0026q=85\u0026s=535b7fe6b8d30064c6319f5c6521341a","api":{"playground":{"proxy":false}},"footer":{"socials":{"website":"https://endl.io"}},"styling":{"eyebrows":"breadcrumbs","latex":true},"contextual":{"options":["copy","view","chatgpt","claude","mcp","cursor","vscode"],"display":"header"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"zaymentfinanceltd","hasAudioNarration":false,"actualSubdomain":"zaymentfinanceltd","customDomains":["docs.endl.io"],"gitSource":{"type":"github","owner":"endl-team","repo":"endl-api-documentation-repo","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adf033c8c0a1951943f3472","collectionId":"ee77d0eb-1dd7-4637-8099-0460519d2752","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adf033c8c0a1951943f3472"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6adf033c8c0a1951943f3472","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"default","tag":"API reference","count":128},{"language":"default","tag":"Endpoints","count":123},{"language":"default","tag":"Cards","count":28},{"language":"default","tag":"POBO","count":16},{"language":"default","tag":"Webhooks","count":15},{"language":"default","tag":"Onboarding","count":14},{"language":"default","tag":"Guides","count":14},{"language":"default","tag":"Accounts","count":12},{"language":"default","tag":"Gift Cards","count":11},{"language":"default","tag":"Transactions","count":7}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":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":"editor-v7-file-tree","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":"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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"#sidebar li[data-group-tag]>button{font-weight:600;background-color:rgba(100,116,139,.12);margin-bottom:2px}#sidebar li[data-group-tag]>button:hover{background-color:rgba(100,116,139,.2)}html.dark #sidebar li[data-group-tag]>button{background-color:rgba(148,163,184,.13)}html.dark #sidebar li[data-group-tag]>button:hover{background-color:rgba(148,163,184,.22)}#sidebar li[data-group-tag][data-active=true]>button{color:#013fe9;background-color:rgba(36,95,254,.16)}#sidebar li[data-group-tag][data-active=true]>button:hover{background-color:rgba(36,95,254,.22)}#sidebar li[data-group-tag][data-active=true]>button svg{color:#013fe9;opacity:1}html.dark #sidebar li[data-group-tag][data-active=true]>button{color:#5280fe;background-color:rgba(82,128,254,.22)}html.dark #sidebar li[data-group-tag][data-active=true]>button:hover{background-color:rgba(82,128,254,.3)}html.dark #sidebar li[data-group-tag][data-active=true]>button svg{color:#5280fe;opacity:1}#sidebar a[aria-current=page]{position:relative;font-weight:600;background-color:rgba(36,95,254,.16)}#sidebar a[aria-current=page]::before{content:\"\";position:absolute;left:0;top:.3rem;bottom:.3rem;width:3px;border-radius:0 2px 2px 0;background:#245ffe}html.dark #sidebar a[aria-current=page]{background-color:rgba(82,128,254,.22)}html.dark #sidebar a[aria-current=page]::before{background:#5280fe}#sidebar a[aria-current=page] span{opacity:1}body:has([role=dialog]) #search-bar-entry{visibility:hidden}body:has([role=dialog])::before{content:\"\";position:fixed;inset:0;z-index:30;background:rgba(2,6,23,.45);backdrop-filter:blur(2px);pointer-events:none}a[href*=\"utm_campaign=poweredBy\"]{display:none!important}"}],"page":{"pagePath":"api-reference/transactions/submit-transaction","slug":"/api-reference/transactions/submit-transaction","pageMetadata":{"title":"Submit transaction","openapi":"api-reference/endl-partner-api.json POST /api/v0/transactions/{userId}/submit","description":"Creates the transaction and moves the money — the only call that does. Returns `200` with the transaction object. See the [Transactions guide](/guides/transactions).","href":"/api-reference/transactions/submit-transaction"},"description":{"compiledSource":"\"use strict\";\nconst {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 ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Creates the transaction and moves the money — the only call that does. Returns \", _jsx(_components.code, {\n children: \"200\"\n }), \" with the transaction object. See the \", _jsx(_components.a, {\n href: \"/guides/transactions\",\n children: \"Transactions guide\"\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":"Submit transaction","openapi":"api-reference/endl-partner-api.json POST /api/v0/transactions/{userId}/submit","description":"Creates the transaction and moves the money — the only call that does. Returns `200` with the transaction object. See the [Transactions guide](/guides/transactions).","href":"/api-reference/transactions/submit-transaction"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/zaymentfinanceltd/d373d43d77eb6813/custom.js"],"openApiReferenceData":{"operation":{"tags":["Transactions"],"summary":"Submit transaction","description":"Creates the transaction and moves the money — the only call that does. Returns `200` with the transaction object. See the [Transactions guide](/guides/transactions).","responses":{"200":"9be8eed3-405c-4fea-941b-99fdd30733bc","400":"63f215a3-91bd-4a77-89c2-3184f8d4524b","401":"c30eb6ff-a8a8-49aa-8327-b164a550f664","403":"b3ff0be1-c465-4091-98d2-685b908412af","404":"f96671ce-9ad3-423d-a474-b1cbc717d0a1","409":"fed96b80-1752-4221-a45d-a8e56ee6c0a1","429":"5720c2e0-379a-4424-af6d-3f9ee95b699f","500":"4123437d-b940-407e-aa53-8f96cb5a27e6","502":"180615b5-86bd-4748-81ab-503f979faa58","503":"7361fec4-785f-4b8a-b069-e61342347188"},"parameters":["7f26e311-dcdc-45af-a995-a65b23f5540a","7bff6d36-ace7-4bd8-b879-18d5e0da4a2d"],"requestBody":"8619982a-82b6-46f6-b050-c39aee9a5721","method":"post","type":"path","servers":["bc33a2d9-c66f-4f15-a24d-5948ed2274d0"],"security":["4a6b0ab2-c34f-4116-8278-64644557d48c"],"path":"/api/v0/transactions/{userId}/submit","baseUrlOptions":["https://api-sandbox.endl.io"],"title":"Submit transaction","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated","disableProxy":true},"dependencies":{"parameters":{"7f26e311-dcdc-45af-a995-a65b23f5540a":{"name":"Api-Version","in":"header","required":true,"description":"The API version this request targets. Required on every `/api/v0/*` call. Format `YYYY-MM.\u003crelease>`; `2026-09.1` is the latest. The version that served the request is echoed back on the response. Missing, malformed or unsupported values are rejected with `400`.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}\\.\\d+$","default":"2026-09.1","isRequired":true,"description":"The API version this request targets. Required on every `/api/v0/*` call. Format `YYYY-MM.\u003crelease>`; `2026-09.1` is the latest. The version that served the request is echoed back on the response. Missing, malformed or unsupported values are rejected with `400`.","uniqueKey":"","typeLabel":"string"},"example":"2026-09.1"},"7bff6d36-ace7-4bd8-b879-18d5e0da4a2d":{"name":"userId","in":"path","required":true,"description":"The customer — a `cus_…` reference id.","schema":{"type":"string","example":"cus_3HfG8kLp2QwE7rTy9UiO","isRequired":true,"description":"The customer — a `cus_…` reference id.","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"nameOrAlias":{"type":"string","description":"Your reference for the transaction.","isRequired":true,"uniqueKey":"nameOrAlias","typeLabel":"string"},"quoteId":{"type":"string","description":"Quote the transaction is priced against.","isRequired":true,"uniqueKey":"quoteId","typeLabel":"string"},"fundsSource":{"type":"string","description":"Declared source of funds.","isRequired":true,"uniqueKey":"fundsSource","typeLabel":"string"},"endlTransactionMode":{"type":"string","description":"Transfer mode, for example `STABLE_COIN_TO_FIAT`.","isRequired":true,"uniqueKey":"endlTransactionMode","typeLabel":"string"},"recipientId":{"type":"string","description":"Recipient being paid — `rec_…`. Required for every mode except `TOP_UP`.","uniqueKey":"recipientId","typeLabel":"string"},"transferPurposeCode":{"type":"string","description":"Purpose-of-transfer code.","uniqueKey":"transferPurposeCode","typeLabel":"string"},"walletId":{"type":"string","description":"The wallet the payout is sent from — `wlt_…`; the amount and fees are both deducted from it. Required when `endlTransactionMode` is `STABLE_COIN_TO_FIAT`, `STABLE_COIN_TO_STABLE_COIN` or `TOP_UP`. Use the same wallet as the pre-transaction. Not used for other modes.","uniqueKey":"walletId","typeLabel":"string"},"transferPurpose":{"type":"string","description":"Free-text purpose of the transfer.","uniqueKey":"transferPurpose","typeLabel":"string"},"invoiceFileIdList":{"type":"array","items":{"type":"string","uniqueKey":"invoiceFileIdList.items.[INDEX]","typeLabel":"string"},"description":"`file_…` ids from [Upload invoice](/api-reference/transactions/upload-invoice). Required when the purpose code or recipient has `invoiceMandatory: true`.","uniqueKey":"invoiceFileIdList","typeLabel":"string[]"}},"required":["nameOrAlias","quoteId","fundsSource","endlTransactionMode"],"uniqueKey":"","typeLabel":"object"},"example":{"quoteId":"qut_6lGsPUP860cEUxAqIOse","recipientId":"rec_A9s8D7f6G5h4J3k2L1z0","walletId":"wlt_51DpwsftZjTUZ7rK3xAT","endlTransactionMode":"STABLE_COIN_TO_FIAT","nameOrAlias":"Invoice 1042 payout","fundsSource":"BUSINESS_REVENUE","transferPurpose":"Payment for services","transferPurposeCode":"P0102","invoiceFileIdList":["file_Q8w7E6r5T4y3U2i1O0pA"]},"examples":{"Example":{"title":"Example","value":{"quoteId":"qut_6lGsPUP860cEUxAqIOse","recipientId":"rec_A9s8D7f6G5h4J3k2L1z0","walletId":"wlt_51DpwsftZjTUZ7rK3xAT","endlTransactionMode":"STABLE_COIN_TO_FIAT","nameOrAlias":"Invoice 1042 payout","fundsSource":"BUSINESS_REVENUE","transferPurpose":"Payment for services","transferPurposeCode":"P0102","invoiceFileIdList":["file_Q8w7E6r5T4y3U2i1O0pA"]}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"9be8eed3-405c-4fea-941b-99fdd30733bc":{"description":"The transaction. **Unwrapped** — `200`, not `201`.","content":{"application/json":{"schema":{"type":"object","description":"A transaction, unwrapped. Returned by Submit, Get and (as an array) List — standard and POBO alike. Keys with no value are left out, except inside `recipientData` and `depositData`.","properties":{"txnId":{"type":"string","description":"`txn_…` id.","uniqueKey":"txnId","typeLabel":"string"},"nameOrAlias":{"type":"string","description":"Label sent at submit. `POBO` on POBO transactions.","uniqueKey":"nameOrAlias","typeLabel":"string"},"userId":{"type":"string","description":"`cus_…` customer. Not returned on POBO.","uniqueKey":"userId","typeLabel":"string"},"quoteId":{"type":"string","description":"`qut_…` id.","uniqueKey":"quoteId","typeLabel":"string"},"recipientId":{"type":"string","description":"`rec_…` id.","uniqueKey":"recipientId","typeLabel":"string"},"depositId":{"type":"string","description":"`dep_…` id. Left out when there is no deposit.","uniqueKey":"depositId","typeLabel":"string"},"sourceAmount":{"type":"string","description":"Decimal amount, sent as a **string**.","uniqueKey":"sourceAmount","typeLabel":"string"},"destinationAmount":{"type":"string","description":"Decimal amount, sent as a **string**.","uniqueKey":"destinationAmount","typeLabel":"string"},"sourceCurrency":{"type":"string","description":"Currency code.","uniqueKey":"sourceCurrency","typeLabel":"string"},"destinationCurrency":{"type":"string","description":"Currency code.","uniqueKey":"destinationCurrency","typeLabel":"string"},"sourceChain":{"type":"string","description":"Chain of the crypto leg. Left out for fiat.","uniqueKey":"sourceChain","typeLabel":"string"},"destinationChain":{"type":"string","description":"Chain of the crypto leg. Left out for fiat.","uniqueKey":"destinationChain","typeLabel":"string"},"fxRate":{"type":"string","description":"Rate applied to the sender, as a **string**.","uniqueKey":"fxRate","typeLabel":"string"},"transferPurpose":{"type":"string","description":"As sent at submit.","uniqueKey":"transferPurpose","typeLabel":"string"},"transferPurposeCode":{"type":"string","description":"As sent at submit.","uniqueKey":"transferPurposeCode","typeLabel":"string"},"fundsSource":{"type":"string","description":"As sent at submit.","uniqueKey":"fundsSource","typeLabel":"string"},"sentOrReceived":{"type":"string","description":"`Sent` or `Received`.","uniqueKey":"sentOrReceived","typeLabel":"string"},"endlTransactionMode":{"type":"string","description":"`STABLE_COIN_TO_FIAT`, `STABLE_COIN_TO_STABLE_COIN`, `FIAT_TO_FIAT`, `FIAT_TO_STABLE_COIN`, `TOP_UP`.","uniqueKey":"endlTransactionMode","typeLabel":"string"},"depositRail":{"type":"string","description":"How it was funded, e.g. `CRYPTO`, `ENDL_ACCOUNT`, `ACH`.","uniqueKey":"depositRail","typeLabel":"string"},"status":{"type":"string","description":"`INITIATED`, `IN_PROGRESS`, `IN_REVIEW`, `COMPLETE`, `REJECTED`, `REFUNDED`, `PENDING_TRAVEL_RULE`.","uniqueKey":"status","typeLabel":"string"},"subStatus":{"type":"string","description":"Finer step, e.g. `PENDING_DEPOSIT_CONFIRMATION`, `PROCESSING_PAYOUT`, `TRANSACTION_PROCESSED_SUCCESSFULLY`, `TRANSACTION_REJECTED`, `TRANSACTION_REFUNDED`. The full list is in the [Transactions guide](/guides/transactions#statuses).","uniqueKey":"subStatus","typeLabel":"string"},"chargesTotal":{"type":"string","description":"Fee total, source currency, as a **string**.","uniqueKey":"chargesTotal","typeLabel":"string"},"chargesTotalCurrency":{"type":"string","description":"Equals `sourceCurrency`.","uniqueKey":"chargesTotalCurrency","typeLabel":"string"},"chargesTotalInSourceCurrency":{"type":"number","description":"Fee total as a number.","uniqueKey":"chargesTotalInSourceCurrency","typeLabel":"number"},"chargesTotalInSourceCurrencyActual":{"type":"number","description":"Fee total as a number.","uniqueKey":"chargesTotalInSourceCurrencyActual","typeLabel":"number"},"chargeTotalUSDActual":{"type":"number","description":"Fee total in USD, as a number.","uniqueKey":"chargeTotalUSDActual","typeLabel":"number"},"chargesData":{"type":"array","items":{"type":"object","description":"One fee line. Used in `chargesData[]`, `fees.breakdown[]` and the quote `feeList[]`.","properties":{"feeType":{"type":"string","uniqueKey":"chargesData.items.[INDEX].feeType","typeLabel":"string"},"feeCategoryTypeEnum":{"type":"string","uniqueKey":"chargesData.items.[INDEX].feeCategoryTypeEnum","typeLabel":"string"},"feeName":{"type":"string","uniqueKey":"chargesData.items.[INDEX].feeName","typeLabel":"string"},"feeAmount":{"type":"number","uniqueKey":"chargesData.items.[INDEX].feeAmount","typeLabel":"number"},"feeAmountActual":{"type":"number","uniqueKey":"chargesData.items.[INDEX].feeAmountActual","typeLabel":"number"},"feeCurrency":{"type":"string","uniqueKey":"chargesData.items.[INDEX].feeCurrency","typeLabel":"string"},"feePercent":{"oneOf":[{"type":"number","uniqueKey":"chargesData.items.[INDEX].feePercent.oneOf.0","typeLabel":"number"},{"type":"null","uniqueKey":"chargesData.items.[INDEX].feePercent.oneOf.1","typeLabel":"null"}],"uniqueKey":"chargesData.items.[INDEX].feePercent","typeLabel":"number | null"},"tax":{"type":"boolean","uniqueKey":"chargesData.items.[INDEX].tax","typeLabel":"boolean"}},"uniqueKey":"chargesData.items.[INDEX]","typeLabel":"object"},"description":"Fee lines.","uniqueKey":"chargesData","typeLabel":"object[]"},"recipientData":{"type":"object","description":"Snapshot of the recipient at submit: name, `email`, `address` (10 keys), bank fields, `recipientType`, `payoutRail`, `walletAddress`. All keys present.","uniqueKey":"recipientData","typeLabel":"object"},"depositData":{"type":"object","description":"Funding deposit: `depositRail`, `status` (`INITIATED`, `PENDING`, `COMPLETE`, `REJECTED`), amounts and currencies requested and received, `chainCode`, `depositAddress`, `chainScanLink`, `confirmationId`, `updatedOn`, and more. Left out when there is no deposit.","uniqueKey":"depositData","typeLabel":"object"},"txHash":{"type":"string","description":"On-chain hash of the crypto leg. Appears once it settles.","uniqueKey":"txHash","typeLabel":"string"},"invoiceData":{"type":"array","description":"`{ invoiceFileId, fileName, invoiceFileUrl }` per attached invoice. `invoiceFileUrl` is a short-lived signed link.","items":{"type":"object","properties":{"invoiceFileId":{"type":"string","uniqueKey":"invoiceData.items.[INDEX].invoiceFileId","typeLabel":"string"},"fileName":{"type":"string","uniqueKey":"invoiceData.items.[INDEX].fileName","typeLabel":"string"},"invoiceFileUrl":{"type":"string","uniqueKey":"invoiceData.items.[INDEX].invoiceFileUrl","typeLabel":"string"}},"uniqueKey":"invoiceData.items.[INDEX]","typeLabel":"object"},"uniqueKey":"invoiceData","typeLabel":"object[]"},"deposit":{"type":"boolean","description":"Always `false` on a transaction.","uniqueKey":"deposit","typeLabel":"boolean"},"test":{"type":"boolean","description":"Sandbox marker.","uniqueKey":"test","typeLabel":"boolean"},"createdOn":{"type":"string","description":"ISO 8601.","uniqueKey":"createdOn","typeLabel":"string"},"updatedOn":{"type":"string","description":"ISO 8601.","uniqueKey":"updatedOn","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"txnId":"txn_9ZkQ2mLr7TbV4xWc1NpA","nameOrAlias":"Invoice 1042 payout","userId":"cus_3HfG8kLp2QwE7rTy9UiO","quoteId":"qut_6lGsPUP860cEUxAqIOse","depositId":"dep_X1c2V3b4N5m6Q7w8E9r0","recipientId":"rec_A9s8D7f6G5h4J3k2L1z0","sourceAmount":"101.50","sourceCurrency":"USDC","sourceChain":"BaseSepolia","destinationAmount":"2500000.00","destinationCurrency":"VND","fxRate":"24630.54","transferPurpose":"Payment for services","transferPurposeCode":"P0102","fundsSource":"BUSINESS_REVENUE","sentOrReceived":"Sent","endlTransactionMode":"STABLE_COIN_TO_FIAT","depositRail":"CRYPTO","status":"IN_PROGRESS","subStatus":"PROCESSING_PAYOUT","chargesTotal":"1.50","chargesTotalCurrency":"USDC","chargesTotalInSourceCurrency":1.5,"chargesTotalInSourceCurrencyActual":1.5,"chargeTotalUSDActual":1.5,"chargesData":[{"feeType":"SERVICE_FEE","feeCategoryTypeEnum":"SERVICE_FEE","feeName":"Service fee","feeAmount":1.5,"feeAmountActual":1.5,"feeCurrency":"USDC","feePercent":null,"tax":false}],"recipientData":{"firstName":"Van An","lastName":"Nguyen","email":"an.nguyen@example.com","address":{"addressLine1":"12 Le Loi","addressLine2":null,"city":"Ho Chi Minh City","state":null,"country":"Vietnam","postalCode":"700000","countryTwoLetter":"VN","countryThreeLetter":"VNM","countryId":241,"region":null},"bankName":"Vietcombank","bankAccountNumber":"0071000123456","bankRoutingNumber":null,"iban":null,"ifsc":null,"swiftBic":"BFTVVNVX","sortCode":null,"accountType":null,"recipientType":"INDIVIDUAL","payoutRail":"BANK_TRANSFER","walletAddress":null},"depositData":{"depositRail":"CRYPTO","status":"COMPLETE","amountRequested":101.5,"currencyRequested":"usdc","chainCode":"base","amountReceived":null,"currencyReceived":null,"confirmationId":null,"chainScanLink":null,"depositVerifiedOnChain":false,"qrDeposit":false,"depositAddress":"0x5c1e…9a7f","source":null,"travelRuleTxHash":null,"sourceWalletAddress":null,"sourceChain":null,"sourceCurrency":null,"updatedOn":"2026-10-23T10:16:02.101Z"},"deposit":false,"test":false,"createdOn":"2026-10-23T10:16:01.907Z","updatedOn":"2026-10-23T10:16:02.418Z"},"examples":{"Example":{"title":"Example","value":{"txnId":"txn_9ZkQ2mLr7TbV4xWc1NpA","nameOrAlias":"Invoice 1042 payout","userId":"cus_3HfG8kLp2QwE7rTy9UiO","quoteId":"qut_6lGsPUP860cEUxAqIOse","depositId":"dep_X1c2V3b4N5m6Q7w8E9r0","recipientId":"rec_A9s8D7f6G5h4J3k2L1z0","sourceAmount":"101.50","sourceCurrency":"USDC","sourceChain":"BaseSepolia","destinationAmount":"2500000.00","destinationCurrency":"VND","fxRate":"24630.54","transferPurpose":"Payment for services","transferPurposeCode":"P0102","fundsSource":"BUSINESS_REVENUE","sentOrReceived":"Sent","endlTransactionMode":"STABLE_COIN_TO_FIAT","depositRail":"CRYPTO","status":"IN_PROGRESS","subStatus":"PROCESSING_PAYOUT","chargesTotal":"1.50","chargesTotalCurrency":"USDC","chargesTotalInSourceCurrency":1.5,"chargesTotalInSourceCurrencyActual":1.5,"chargeTotalUSDActual":1.5,"chargesData":[{"feeType":"SERVICE_FEE","feeCategoryTypeEnum":"SERVICE_FEE","feeName":"Service fee","feeAmount":1.5,"feeAmountActual":1.5,"feeCurrency":"USDC","feePercent":null,"tax":false}],"recipientData":{"firstName":"Van An","lastName":"Nguyen","email":"an.nguyen@example.com","address":{"addressLine1":"12 Le Loi","addressLine2":null,"city":"Ho Chi Minh City","state":null,"country":"Vietnam","postalCode":"700000","countryTwoLetter":"VN","countryThreeLetter":"VNM","countryId":241,"region":null},"bankName":"Vietcombank","bankAccountNumber":"0071000123456","bankRoutingNumber":null,"iban":null,"ifsc":null,"swiftBic":"BFTVVNVX","sortCode":null,"accountType":null,"recipientType":"INDIVIDUAL","payoutRail":"BANK_TRANSFER","walletAddress":null},"depositData":{"depositRail":"CRYPTO","status":"COMPLETE","amountRequested":101.5,"currencyRequested":"usdc","chainCode":"base","amountReceived":null,"currencyReceived":null,"confirmationId":null,"chainScanLink":null,"depositVerifiedOnChain":false,"qrDeposit":false,"depositAddress":"0x5c1e…9a7f","source":null,"travelRuleTxHash":null,"sourceWalletAddress":null,"sourceChain":null,"sourceCurrency":null,"updatedOn":"2026-10-23T10:16:02.101Z"},"deposit":false,"test":false,"createdOn":"2026-10-23T10:16:01.907Z","updatedOn":"2026-10-23T10:16:02.418Z"}}},"exampleType":"examples"}},"exampleType":"examples"},"63f215a3-91bd-4a77-89c2-3184f8d4524b":{"description":"Validation failed, or the API key lacks the required permission.\n\n`ERRTXN_1002` — `walletId` is missing for a wallet-funded mode. `ERRTXN_1003` — the wallet exists but does not belong to the customer. A malformed `walletId` returns `ERRREF_1000`; a well-formed one that matches no wallet returns `ERRREF_1001` (404).","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"integer","example":400,"description":"The HTTP status, repeated in the body.","uniqueKey":"code","typeLabel":"integer"},"message":{"type":"string","example":"Validation failed","description":"A human-readable summary of the failure.","uniqueKey":"message","typeLabel":"string"},"status":{"type":"string","example":"ERROR","description":"`ERROR` on failure; `SUCCESS` on the equivalent success envelope.","uniqueKey":"status","typeLabel":"string"},"data":{"oneOf":[{"type":"object","example":null,"description":"`null` on failure — no payload is returned when a request fails.","uniqueKey":"data.oneOf.0","typeLabel":"object"},{"type":"null","example":null,"description":"`null` on failure — no payload is returned when a request fails.","uniqueKey":"data.oneOf.1","typeLabel":"null"}],"uniqueKey":"data","typeLabel":"object | null"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"ERRACC_1009","description":"Stable machine-readable error code, `ERR\u003cMODULE>_\u003cnnnn>`. Match on this, never on `message`. See the [error catalogue](/api-reference/error-codes).","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","example":"must not be blank","description":"What is wrong with this specific field.","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"field":{"type":"string","example":"sourceAmount","description":"Which request field the problem refers to, or `null` when the error is not about a specific input.","uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"description":"One entry per field that failed validation. Empty for failures that are not field-level.","uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"code":400,"message":"Validation failed","status":"ERROR","data":null,"errors":[{"code":"VALIDATION_ERROR","message":"Validation failed","field":"amount"}]},"examples":{"Example":{"title":"Example","value":{"code":400,"message":"Validation failed","status":"ERROR","data":null,"errors":[{"code":"VALIDATION_ERROR","message":"Validation failed","field":"amount"}]}}},"exampleType":"examples"}},"exampleType":"examples"},"c30eb6ff-a8a8-49aa-8327-b164a550f664":{"description":"Missing or invalid API credentials.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"integer","example":400,"description":"The HTTP status, repeated in the body.","uniqueKey":"code","typeLabel":"integer"},"message":{"type":"string","example":"Validation failed","description":"A human-readable summary of the failure.","uniqueKey":"message","typeLabel":"string"},"status":{"type":"string","example":"ERROR","description":"`ERROR` on failure; `SUCCESS` on the equivalent success envelope.","uniqueKey":"status","typeLabel":"string"},"data":{"oneOf":[{"type":"object","example":null,"description":"`null` on failure — no payload is returned when a request fails.","uniqueKey":"data.oneOf.0","typeLabel":"object"},{"type":"null","example":null,"description":"`null` on failure — no payload is returned when a request fails.","uniqueKey":"data.oneOf.1","typeLabel":"null"}],"uniqueKey":"data","typeLabel":"object | null"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"ERRACC_1009","description":"Stable machine-readable error code, `ERR\u003cMODULE>_\u003cnnnn>`. Match on this, never on `message`. See the [error catalogue](/api-reference/error-codes).","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","example":"must not be blank","description":"What is wrong with this specific field.","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"field":{"type":"string","example":"sourceAmount","description":"Which request field the problem refers to, or `null` when the error is not about a specific input.","uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"description":"One entry per field that failed validation. Empty for failures that are not field-level.","uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"data":null,"code":401,"message":"Authentication Failed!","status":"Error","errors":[{"code":"401","message":"Authentication Failed!","field":"Authentication Failed!"}]},"examples":{"Example":{"title":"Example","value":{"data":null,"code":401,"message":"Authentication Failed!","status":"Error","errors":[{"code":"401","message":"Authentication Failed!","field":"Authentication Failed!"}]}}},"exampleType":"examples"}},"exampleType":"examples"},"b3ff0be1-c465-4091-98d2-685b908412af":{"description":"A valid key that lacks the permission this endpoint requires. Raised at the edge.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"integer","example":400,"description":"The HTTP status, repeated in the body.","uniqueKey":"code","typeLabel":"integer"},"message":{"type":"string","example":"Validation failed","description":"A human-readable summary of the failure.","uniqueKey":"message","typeLabel":"string"},"status":{"type":"string","example":"ERROR","description":"`ERROR` on failure; `SUCCESS` on the equivalent success envelope.","uniqueKey":"status","typeLabel":"string"},"data":{"oneOf":[{"type":"object","example":null,"description":"`null` on failure — no payload is returned when a request fails.","uniqueKey":"data.oneOf.0","typeLabel":"object"},{"type":"null","example":null,"description":"`null` on failure — no payload is returned when a request fails.","uniqueKey":"data.oneOf.1","typeLabel":"null"}],"uniqueKey":"data","typeLabel":"object | null"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"ERRACC_1009","description":"Stable machine-readable error code, `ERR\u003cMODULE>_\u003cnnnn>`. Match on this, never on `message`. See the [error catalogue](/api-reference/error-codes).","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","example":"must not be blank","description":"What is wrong with this specific field.","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"field":{"type":"string","example":"sourceAmount","description":"Which request field the problem refers to, or `null` when the error is not about a specific input.","uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"description":"One entry per field that failed validation. Empty for failures that are not field-level.","uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"data":null,"code":403,"message":"API key does not have the required permission","status":"Error","errors":[{"code":"403","message":"API key does not have the required permission","field":"API key does not have the required permission"}]},"examples":{"Example":{"title":"Example","value":{"data":null,"code":403,"message":"API key does not have the required permission","status":"Error","errors":[{"code":"403","message":"API key does not have the required permission","field":"API key does not have the required permission"}]}}},"exampleType":"examples"}},"exampleType":"examples"},"f96671ce-9ad3-423d-a474-b1cbc717d0a1":{"description":"No such resource, or it belongs to another partner.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"integer","example":400,"description":"The HTTP status, repeated in the body.","uniqueKey":"code","typeLabel":"integer"},"message":{"type":"string","example":"Validation failed","description":"A human-readable summary of the failure.","uniqueKey":"message","typeLabel":"string"},"status":{"type":"string","example":"ERROR","description":"`ERROR` on failure; `SUCCESS` on the equivalent success envelope.","uniqueKey":"status","typeLabel":"string"},"data":{"oneOf":[{"type":"object","example":null,"description":"`null` on failure — no payload is returned when a request fails.","uniqueKey":"data.oneOf.0","typeLabel":"object"},{"type":"null","example":null,"description":"`null` on failure — no payload is returned when a request fails.","uniqueKey":"data.oneOf.1","typeLabel":"null"}],"uniqueKey":"data","typeLabel":"object | null"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"ERRACC_1009","description":"Stable machine-readable error code, `ERR\u003cMODULE>_\u003cnnnn>`. Match on this, never on `message`. See the [error catalogue](/api-reference/error-codes).","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","example":"must not be blank","description":"What is wrong with this specific field.","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"field":{"type":"string","example":"sourceAmount","description":"Which request field the problem refers to, or `null` when the error is not about a specific input.","uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"description":"One entry per field that failed validation. Empty for failures that are not field-level.","uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"code":404,"message":"Resource not found","status":"ERROR","data":null,"errors":[{"code":"NOT_FOUND","message":"Resource not found","field":null}]},"examples":{"Example":{"title":"Example","value":{"code":404,"message":"Resource not found","status":"ERROR","data":null,"errors":[{"code":"NOT_FOUND","message":"Resource not found","field":null}]}}},"exampleType":"examples"}},"exampleType":"examples"},"fed96b80-1752-4221-a45d-a8e56ee6c0a1":{"description":"The request conflicts with the current state of the resource.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"integer","example":400,"description":"The HTTP status, repeated in the body.","uniqueKey":"code","typeLabel":"integer"},"message":{"type":"string","example":"Validation failed","description":"A human-readable summary of the failure.","uniqueKey":"message","typeLabel":"string"},"status":{"type":"string","example":"ERROR","description":"`ERROR` on failure; `SUCCESS` on the equivalent success envelope.","uniqueKey":"status","typeLabel":"string"},"data":{"oneOf":[{"type":"object","example":null,"description":"`null` on failure — no payload is returned when a request fails.","uniqueKey":"data.oneOf.0","typeLabel":"object"},{"type":"null","example":null,"description":"`null` on failure — no payload is returned when a request fails.","uniqueKey":"data.oneOf.1","typeLabel":"null"}],"uniqueKey":"data","typeLabel":"object | null"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"ERRACC_1009","description":"Stable machine-readable error code, `ERR\u003cMODULE>_\u003cnnnn>`. Match on this, never on `message`. See the [error catalogue](/api-reference/error-codes).","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","example":"must not be blank","description":"What is wrong with this specific field.","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"field":{"type":"string","example":"sourceAmount","description":"Which request field the problem refers to, or `null` when the error is not about a specific input.","uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"description":"One entry per field that failed validation. Empty for failures that are not field-level.","uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"code":409,"message":"The request conflicts with the current state of the resource","status":"ERROR","data":null,"errors":[{"code":"CONFLICT","message":"The request conflicts with the current state of the resource","field":null}]},"examples":{"Example":{"title":"Example","value":{"code":409,"message":"The request conflicts with the current state of the resource","status":"ERROR","data":null,"errors":[{"code":"CONFLICT","message":"The request conflicts with the current state of the resource","field":null}]}}},"exampleType":"examples"}},"exampleType":"examples"},"5720c2e0-379a-4424-af6d-3f9ee95b699f":{"description":"The per-API-key request rate limit was exceeded. Carries `X-RateLimit-Limit` and `X-RateLimit-Remaining`.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"integer","example":400,"description":"The HTTP status, repeated in the body.","uniqueKey":"code","typeLabel":"integer"},"message":{"type":"string","example":"Validation failed","description":"A human-readable summary of the failure.","uniqueKey":"message","typeLabel":"string"},"status":{"type":"string","example":"ERROR","description":"`ERROR` on failure; `SUCCESS` on the equivalent success envelope.","uniqueKey":"status","typeLabel":"string"},"data":{"oneOf":[{"type":"object","example":null,"description":"`null` on failure — no payload is returned when a request fails.","uniqueKey":"data.oneOf.0","typeLabel":"object"},{"type":"null","example":null,"description":"`null` on failure — no payload is returned when a request fails.","uniqueKey":"data.oneOf.1","typeLabel":"null"}],"uniqueKey":"data","typeLabel":"object | null"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"ERRACC_1009","description":"Stable machine-readable error code, `ERR\u003cMODULE>_\u003cnnnn>`. Match on this, never on `message`. See the [error catalogue](/api-reference/error-codes).","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","example":"must not be blank","description":"What is wrong with this specific field.","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"field":{"type":"string","example":"sourceAmount","description":"Which request field the problem refers to, or `null` when the error is not about a specific input.","uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"description":"One entry per field that failed validation. Empty for failures that are not field-level.","uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"data":null,"code":429,"message":"Rate limit exceeded, please retry later","status":"Error","errors":[{"code":"429","message":"Rate limit exceeded, please retry later","field":"Rate limit exceeded, please retry later"}]},"examples":{"Example":{"title":"Example","value":{"data":null,"code":429,"message":"Rate limit exceeded, please retry later","status":"Error","errors":[{"code":"429","message":"Rate limit exceeded, please retry later","field":"Rate limit exceeded, please retry later"}]}}},"exampleType":"examples"}},"exampleType":"examples"},"4123437d-b940-407e-aa53-8f96cb5a27e6":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"integer","example":400,"description":"The HTTP status, repeated in the body.","uniqueKey":"code","typeLabel":"integer"},"message":{"type":"string","example":"Validation failed","description":"A human-readable summary of the failure.","uniqueKey":"message","typeLabel":"string"},"status":{"type":"string","example":"ERROR","description":"`ERROR` on failure; `SUCCESS` on the equivalent success envelope.","uniqueKey":"status","typeLabel":"string"},"data":{"oneOf":[{"type":"object","example":null,"description":"`null` on failure — no payload is returned when a request fails.","uniqueKey":"data.oneOf.0","typeLabel":"object"},{"type":"null","example":null,"description":"`null` on failure — no payload is returned when a request fails.","uniqueKey":"data.oneOf.1","typeLabel":"null"}],"uniqueKey":"data","typeLabel":"object | null"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"ERRACC_1009","description":"Stable machine-readable error code, `ERR\u003cMODULE>_\u003cnnnn>`. Match on this, never on `message`. See the [error catalogue](/api-reference/error-codes).","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","example":"must not be blank","description":"What is wrong with this specific field.","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"field":{"type":"string","example":"sourceAmount","description":"Which request field the problem refers to, or `null` when the error is not about a specific input.","uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"description":"One entry per field that failed validation. Empty for failures that are not field-level.","uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"code":500,"message":"Unexpected error","status":"ERROR","data":null,"errors":[{"code":"INTERNAL_ERROR","message":"Unexpected error","field":null}]},"examples":{"Example":{"title":"Example","value":{"code":500,"message":"Unexpected error","status":"ERROR","data":null,"errors":[{"code":"INTERNAL_ERROR","message":"Unexpected error","field":null}]}}},"exampleType":"examples"}},"exampleType":"examples"},"180615b5-86bd-4748-81ab-503f979faa58":{"description":"Endl could not reach the service behind the edge. Retry with backoff.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"integer","example":400,"description":"The HTTP status, repeated in the body.","uniqueKey":"code","typeLabel":"integer"},"message":{"type":"string","example":"Validation failed","description":"A human-readable summary of the failure.","uniqueKey":"message","typeLabel":"string"},"status":{"type":"string","example":"ERROR","description":"`ERROR` on failure; `SUCCESS` on the equivalent success envelope.","uniqueKey":"status","typeLabel":"string"},"data":{"oneOf":[{"type":"object","example":null,"description":"`null` on failure — no payload is returned when a request fails.","uniqueKey":"data.oneOf.0","typeLabel":"object"},{"type":"null","example":null,"description":"`null` on failure — no payload is returned when a request fails.","uniqueKey":"data.oneOf.1","typeLabel":"null"}],"uniqueKey":"data","typeLabel":"object | null"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"ERRACC_1009","description":"Stable machine-readable error code, `ERR\u003cMODULE>_\u003cnnnn>`. Match on this, never on `message`. See the [error catalogue](/api-reference/error-codes).","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","example":"must not be blank","description":"What is wrong with this specific field.","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"field":{"type":"string","example":"sourceAmount","description":"Which request field the problem refers to, or `null` when the error is not about a specific input.","uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"description":"One entry per field that failed validation. Empty for failures that are not field-level.","uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"data":null,"code":502,"message":"Upstream service error","status":"Error","errors":null},"examples":{"Example":{"title":"Example","value":{"data":null,"code":502,"message":"Upstream service error","status":"Error","errors":null}}},"exampleType":"examples"}},"exampleType":"examples"},"7361fec4-785f-4b8a-b069-e61342347188":{"description":"Credentials could not be verified right now. Retry with backoff.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"integer","example":400,"description":"The HTTP status, repeated in the body.","uniqueKey":"code","typeLabel":"integer"},"message":{"type":"string","example":"Validation failed","description":"A human-readable summary of the failure.","uniqueKey":"message","typeLabel":"string"},"status":{"type":"string","example":"ERROR","description":"`ERROR` on failure; `SUCCESS` on the equivalent success envelope.","uniqueKey":"status","typeLabel":"string"},"data":{"oneOf":[{"type":"object","example":null,"description":"`null` on failure — no payload is returned when a request fails.","uniqueKey":"data.oneOf.0","typeLabel":"object"},{"type":"null","example":null,"description":"`null` on failure — no payload is returned when a request fails.","uniqueKey":"data.oneOf.1","typeLabel":"null"}],"uniqueKey":"data","typeLabel":"object | null"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"ERRACC_1009","description":"Stable machine-readable error code, `ERR\u003cMODULE>_\u003cnnnn>`. Match on this, never on `message`. See the [error catalogue](/api-reference/error-codes).","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","example":"must not be blank","description":"What is wrong with this specific field.","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"field":{"type":"string","example":"sourceAmount","description":"Which request field the problem refers to, or `null` when the error is not about a specific input.","uniqueKey":"errors.items.[INDEX].field","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"description":"One entry per field that failed validation. Empty for failures that are not field-level.","uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"code":503,"message":"Credentials could not be verified right now","status":"ERROR","data":null,"errors":[{"code":"DIRECTORY_UNAVAILABLE","message":"Credentials could not be verified right now","field":null}]},"examples":{"Example":{"title":"Example","value":{"code":503,"message":"Credentials could not be verified right now","status":"ERROR","data":null,"errors":[{"code":"DIRECTORY_UNAVAILABLE","message":"Credentials could not be verified right now","field":null}]}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"4a6b0ab2-c34f-4116-8278-64644557d48c":{"apiKey":{"type":"apiKey","in":"header","name":"API-KEY","description":"Your partner API key.","scopes":[],"schemeName":"apiKey"}}},"servers":{"bc33a2d9-c66f-4f15-a24d-5948ed2274d0":{"url":"https://api-sandbox.endl.io","description":"Sandbox"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"API-KEY","description":"Your partner API key.","scopes":[],"schemeName":"apiKey"},"schema":{"title":"API-KEY","type":"string","description":"Your partner API key.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKey","name":"API-KEY"}],"title":"apiKey"}]},"originalFileLocation":"api-reference/endl-partner-api.json"},"subdomain":"zaymentfinanceltd","siteName":"Endl API","title":"Submit transaction - Endl API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-26T07:37:44.571Z","originalFileLocation":"api-reference/transactions/submit-transaction.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 the transaction and moves the money — the only call that does. Returns 200 with the transaction object. See the Transactions guide.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Endl 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/zaymentfinanceltd/V4tezyHprXdvGDz0/_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/zaymentfinanceltd/V4tezyHprXdvGDz0/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/zaymentfinanceltd/V4tezyHprXdvGDz0/_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/zaymentfinanceltd/V4tezyHprXdvGDz0/_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/zaymentfinanceltd/V4tezyHprXdvGDz0/_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/zaymentfinanceltd/V4tezyHprXdvGDz0/_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/zaymentfinanceltd/V4tezyHprXdvGDz0/_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/zaymentfinanceltd/V4tezyHprXdvGDz0/_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/zaymentfinanceltd/V4tezyHprXdvGDz0/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Submit transaction - Endl API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Creates the transaction and moves the money — the only call that does. Returns 200 with the transaction object. See the Transactions guide.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Endl API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.endl.io/api-reference/transactions/submit-transaction\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://zaymentfinanceltd.mintlify.app/_mintlify/api/og/v2?division=Transactions\u0026amp;title=Submit+transaction\u0026amp;description=Creates+the+transaction+and+moves+the+money+%E2%80%94+the+only+call+that+does.+Returns+%60200%60+with+the+transaction+object.+See+the+%5BTransactions+guide%5D%28%2Fguides%2Ftransacti\u0026amp;theme=668efa5ed0467f58a90d23e2\u0026amp;signature=03be0916a54372db091280a2f133785116eaafc6cd643807a1b871af67bfffb7\">\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=\"Submit transaction - Endl API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Creates the transaction and moves the money — the only call that does. Returns 200 with the transaction object. See the Transactions guide.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://zaymentfinanceltd.mintlify.app/_mintlify/api/og/v2?division=Transactions\u0026amp;title=Submit+transaction\u0026amp;description=Creates+the+transaction+and+moves+the+money+%E2%80%94+the+only+call+that+does.+Returns+%60200%60+with+the+transaction+object.+See+the+%5BTransactions+guide%5D%28%2Fguides%2Ftransacti\u0026amp;theme=668efa5ed0467f58a90d23e2\u0026amp;signature=03be0916a54372db091280a2f133785116eaafc6cd643807a1b871af67bfffb7\">\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/zaymentfinanceltd/V4tezyHprXdvGDz0/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Endl API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#245FFE\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.endl.io/api-reference/transactions/submit-transaction\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/transactions/submit-transaction.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.endl.io/#organization\",\"name\":\"Endl API\",\"url\":\"https://docs.endl.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/zaymentfinanceltd/vAyX8M6UjfgZPY1s/logo/endl-api-light-mode.svg?fit=max\u0026auto=format\u0026n=vAyX8M6UjfgZPY1s\u0026q=85\u0026s=317a3d2271242ccb4a73e8c8cc70884d\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.endl.io#website\",\"name\":\"Endl API\",\"url\":\"https://docs.endl.io\",\"publisher\":{\"@id\":\"https://docs.endl.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.endl.io/api-reference/transactions/submit-transaction#webpage\",\"url\":\"https://docs.endl.io/api-reference/transactions/submit-transaction\",\"name\":\"Submit transaction\",\"description\":\"Creates the transaction and moves the money — the only call that does. Returns 200 with the transaction object. See the Transactions guide.\",\"dateModified\":\"2026-10-26T07:37:44.571Z\",\"isPartOf\":{\"@id\":\"https://docs.endl.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.endl.io/api-reference/transactions/submit-transaction#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.endl.io/api-reference/transactions/submit-transaction#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.endl.io/api-reference/onboarding/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Transactions\",\"item\":\"https://docs.endl.io/api-reference/transactions/create-pre-transaction\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Submit transaction\",\"item\":\"https://docs.endl.io/api-reference/transactions/submit-transaction\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.endl.io/api-reference/transactions/submit-transaction#apireference\",\"headline\":\"Submit transaction\",\"name\":\"Submit transaction\",\"description\":\"Creates the transaction and moves the money — the only call that does. Returns 200 with the transaction object. See the Transactions guide.\",\"url\":\"https://docs.endl.io/api-reference/transactions/submit-transaction\",\"mainEntityOfPage\":{\"@id\":\"https://docs.endl.io/api-reference/transactions/submit-transaction#webpage\"},\"dateModified\":\"2026-10-26T07:37:44.571Z\",\"publisher\":{\"@id\":\"https://docs.endl.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.endl.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Endl API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Endl API","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"API reference","groups":[{"group":"Introduction","pages":[{"title":"API reference overview","href":"/api-reference/introduction"},{"title":"Authentication","href":"/api-reference/authentication"},{"title":"Versioning","href":"/api-reference/versioning"},{"title":"Errors and the response envelope","href":"/api-reference/errors"},{"title":"Error codes","href":"/api-reference/error-codes"}]},{"group":"Endpoints","pages":[{"group":"Onboarding","expanded":true,"pages":[{"title":"Onboarding overview","href":"/api-reference/onboarding/introduction"},{"title":"Errors and lifecycle","href":"/api-reference/onboarding/errors"},{"title":"Individual (KYC)","href":"/api-reference/onboarding/individual-kyc"},{"title":"Business (KYB)","href":"/api-reference/onboarding/business-kyb"},{"title":"Create customer","openapi":"api-reference/endl-onboarding-api.json POST /api/v0/customer","href":"/api-reference/onboarding/create-customer"},{"title":"Get customer","openapi":"api-reference/endl-onboarding-api.json GET /api/v0/customer/{userId}","href":"/api-reference/onboarding/get-customer"},{"title":"Update customer","openapi":"api-reference/endl-onboarding-api.json PUT /api/v0/customer/{userId}","href":"/api-reference/onboarding/update-customer"},{"title":"List customers","openapi":"api-reference/endl-onboarding-api.json GET /api/v0/customer","href":"/api-reference/onboarding/list-customers"},{"title":"Delete customer","openapi":"api-reference/endl-onboarding-api.json DELETE /api/v0/customer/{userId}","href":"/api-reference/onboarding/delete-customer"},{"title":"Generate KYC link","openapi":"api-reference/endl-onboarding-api.json POST /api/v0/customer/{userId}/kyc-link","href":"/api-reference/onboarding/generate-kyc-link"},{"title":"Upload document","openapi":"api-reference/endl-onboarding-api.json POST /api/v0/customer/{userId}/documents","href":"/api-reference/onboarding/upload-document"},{"title":"Upload owner document","openapi":"api-reference/endl-onboarding-api.json POST /api/v0/customer/{userId}/ubo/{uboRef}/documents","href":"/api-reference/onboarding/upload-ubo-document"},{"title":"Questionnaire reference","href":"/api-reference/onboarding/questionnaires"},{"title":"Country restrictions","href":"/api-reference/onboarding/country-restrictions"}]},{"group":"Reference data","expanded":true,"pages":[{"title":"List currencies","openapi":"api-reference/endl-partner-api.json GET /api/v0/currencies","href":"/api-reference/reference/list-currencies"},{"title":"List countries","openapi":"api-reference/endl-partner-api.json GET /api/v0/countries","href":"/api-reference/reference/list-countries"},{"title":"List occupations","openapi":"api-reference/endl-partner-api.json GET /api/v0/occupations","href":"/api-reference/reference/list-occupations"},{"title":"List rails","openapi":"api-reference/endl-partner-api.json GET /api/v0/rails","href":"/api-reference/reference/list-rails"},{"title":"Get recipient fields","openapi":"api-reference/endl-partner-api.json GET /api/v0/recipient-fields","href":"/api-reference/reference/get-recipient-fields"},{"title":"Get sender fields","openapi":"api-reference/endl-partner-api.json GET /api/v0/sender-fields","href":"/api-reference/reference/get-sender-fields"}]},{"group":"Wallets","expanded":true,"pages":[{"title":"List wallets","openapi":"api-reference/endl-partner-api.json GET /api/v0/wallets/{userId}","href":"/api-reference/wallets/list-wallets"},{"title":"Create wallet","openapi":"api-reference/endl-partner-api.json POST /api/v0/wallets/{userId}","href":"/api-reference/wallets/create-wallet"},{"title":"Get wallet","openapi":"api-reference/endl-partner-api.json GET /api/v0/wallets/{userId}/{walletId}","href":"/api-reference/wallets/get-wallet"},{"title":"Get wallet balance","openapi":"api-reference/endl-partner-api.json GET /api/v0/wallets/{userId}/{walletId}/balance","href":"/api-reference/wallets/get-wallet-balance"},{"title":"Update wallet","openapi":"api-reference/endl-partner-api.json PATCH /api/v0/wallets/{userId}/{walletId}","href":"/api-reference/wallets/update-wallet"},{"title":"Delete wallet","openapi":"api-reference/endl-partner-api.json DELETE /api/v0/wallets/{userId}/{walletId}","href":"/api-reference/wallets/delete-wallet"}]},{"group":"Accounts","expanded":true,"pages":[{"title":"Accounts API","href":"/api-reference/accounts/introduction"},{"title":"Account statuses","href":"/api-reference/accounts/statuses"},{"title":"Open account","openapi":"api-reference/endl-partner-api.json POST /api/v0/accounts/{userId}","href":"/api-reference/accounts/open-account"},{"title":"List accounts","openapi":"api-reference/endl-partner-api.json GET /api/v0/accounts/{userId}","href":"/api-reference/accounts/list-accounts"},{"title":"List currencies available for opening","openapi":"api-reference/endl-partner-api.json GET /api/v0/accounts/{userId}/available-for-opening","href":"/api-reference/accounts/list-accounts-available-for-opening"},{"title":"Get account","openapi":"api-reference/endl-partner-api.json GET /api/v0/accounts/{userId}/{accountId}","href":"/api-reference/accounts/get-account"},{"title":"Get account balance","openapi":"api-reference/endl-partner-api.json GET /api/v0/accounts/{userId}/{accountId}/balance","href":"/api-reference/accounts/get-account-balance"},{"title":"Get account activity","openapi":"api-reference/endl-partner-api.json GET /api/v0/accounts/{userId}/{accountId}/activity","href":"/api-reference/accounts/get-account-activity"},{"title":"Activate account","openapi":"api-reference/endl-partner-api.json PATCH /api/v0/accounts/{userId}/{accountId}/activate","href":"/api-reference/accounts/activate-account"},{"title":"Deactivate account","openapi":"api-reference/endl-partner-api.json PATCH /api/v0/accounts/{userId}/{accountId}/deactivate","href":"/api-reference/accounts/deactivate-account"},{"title":"Response by currency","href":"/api-reference/accounts/response-by-currency"},{"title":"Accounts errors","href":"/api-reference/accounts/errors"}]},{"group":"Quotes","expanded":true,"pages":[{"title":"Generate quote","openapi":"api-reference/endl-partner-api.json POST /api/v0/quotes/{userId}/generate","href":"/api-reference/quotes/generate-quote"},{"title":"Get quote","openapi":"api-reference/endl-partner-api.json GET /api/v0/quotes/{userId}/{quoteId}","href":"/api-reference/quotes/get-quote"}]},{"group":"Recipients","expanded":true,"pages":[{"title":"Add recipient","openapi":"api-reference/endl-partner-api.json POST /api/v0/recipients/{userId}","href":"/api-reference/recipients/add-recipient"},{"title":"List recipients","openapi":"api-reference/endl-partner-api.json POST /api/v0/recipients/{userId}/all","href":"/api-reference/recipients/list-recipients"},{"title":"Get recipient","openapi":"api-reference/endl-partner-api.json GET /api/v0/recipients/{userId}/{recipientId}","href":"/api-reference/recipients/get-recipient"},{"title":"Delete recipient","openapi":"api-reference/endl-partner-api.json DELETE /api/v0/recipients/{userId}/{recipientId}","href":"/api-reference/recipients/delete-recipient"},{"title":"List supported rails","openapi":"api-reference/endl-partner-api.json GET /api/v0/recipients/{userId}/supported-rails","href":"/api-reference/recipients/list-supported-rails"},{"title":"Get counterparty checks","openapi":"api-reference/endl-partner-api.json GET /api/v0/recipients/{userId}/{recipientId}/counterparty-checks","href":"/api-reference/recipients/get-counterparty-checks"}]},{"group":"Transactions","expanded":true,"pages":[{"title":"Create pre-transaction","openapi":"api-reference/endl-partner-api.json POST /api/v0/transactions/{userId}/pre-txn","description":"Checks the quote, recipient, wallet and KYC together, and returns what will be debited and received. It creates no transaction and moves no money, so it is safe to repeat for the same quote. It returns **no deposit instructions**: Endl moves the funds server-side at submit (`settlement: \"SERVER_SIDE\"`). Call this after [Generate quote](/api-reference/quotes/generate-quote) and before [Submit transaction](/api-reference/transactions/submit-transaction). See the [Transactions guide](/guides/transactions).","href":"/api-reference/transactions/create-pre-transaction"},{"title":"Submit transaction","openapi":"api-reference/endl-partner-api.json POST /api/v0/transactions/{userId}/submit","href":"/api-reference/transactions/submit-transaction"},{"title":"Get transaction","openapi":"api-reference/endl-partner-api.json GET /api/v0/transactions/{userId}/{txnId}","description":"Returns one transaction and its current status.","href":"/api-reference/transactions/get-transaction"},{"title":"List transactions","openapi":"api-reference/endl-partner-api.json POST /api/v0/transactions/{userId}/all","href":"/api-reference/transactions/list-transactions"},{"title":"Get transaction metadata","openapi":"api-reference/endl-partner-api.json GET /api/v0/transactions/{userId}/metadata","href":"/api-reference/transactions/get-transaction-metadata"},{"title":"List purpose codes","openapi":"api-reference/endl-partner-api.json GET /api/v0/transactions/purpose-codes","href":"/api-reference/transactions/list-purpose-codes"},{"title":"Upload invoice","openapi":"api-reference/endl-partner-api.json POST /api/v0/transactions/{userId}/invoice-upload","href":"/api-reference/transactions/upload-invoice"}]},{"group":"Cards","expanded":true,"pages":[{"title":"Cards overview","href":"/api-reference/cards/introduction"},{"title":"Enrol a customer","openapi":"api-reference/endl-cards-api.json POST /api/v0/cards/{customerId}/enrollment","href":"/api-reference/cards/enroll-customer"},{"title":"Get enrolment","openapi":"api-reference/endl-cards-api.json GET /api/v0/cards/{customerId}/enrollment","href":"/api-reference/cards/get-enrollment"},{"title":"Add a cardholder","openapi":"api-reference/endl-cards-api.json POST /api/v0/customer/{businessId}/card-users","href":"/api-reference/cards/create-cardholder"},{"title":"List cardholders","openapi":"api-reference/endl-cards-api.json GET /api/v0/customer/{businessId}/card-users","href":"/api-reference/cards/list-cardholders"},{"title":"Get a cardholder","openapi":"api-reference/endl-cards-api.json GET /api/v0/customer/{businessId}/card-users/{cardholderId}","href":"/api-reference/cards/get-cardholder"},{"title":"Issue a card","openapi":"api-reference/endl-cards-api.json POST /api/v0/cards/{cardholderId}","href":"/api-reference/cards/issue-card"},{"title":"Issue a single-use card","openapi":"api-reference/endl-cards-api.json POST /api/v0/cards/{cardholderId}/single-use","href":"/api-reference/cards/issue-single-use-card"},{"title":"List cards","openapi":"api-reference/endl-cards-api.json GET /api/v0/cards/{customerId}","href":"/api-reference/cards/list-cards"},{"title":"Get a card","openapi":"api-reference/endl-cards-api.json GET /api/v0/cards/{customerId}/{cardId}","href":"/api-reference/cards/get-card"},{"title":"Update a card","openapi":"api-reference/endl-cards-api.json PATCH /api/v0/cards/{customerId}/{cardId}","href":"/api-reference/cards/update-card"},{"title":"Freeze a card","openapi":"api-reference/endl-cards-api.json POST /api/v0/cards/{customerId}/{cardId}/freeze","href":"/api-reference/cards/freeze-card"},{"title":"Unfreeze a card","openapi":"api-reference/endl-cards-api.json POST /api/v0/cards/{customerId}/{cardId}/unfreeze","href":"/api-reference/cards/unfreeze-card"},{"title":"Cancel a card","openapi":"api-reference/endl-cards-api.json POST /api/v0/cards/{customerId}/{cardId}/cancel","href":"/api-reference/cards/cancel-card"},{"title":"Get card details","openapi":"api-reference/endl-cards-api.json POST /api/v0/cards/{customerId}/{cardId}/details","href":"/api-reference/cards/get-card-details"},{"title":"Card details encryption","href":"/api-reference/cards/encryption"},{"title":"List card transactions","openapi":"api-reference/endl-cards-api.json GET /api/v0/cards/{customerId}/transactions","href":"/api-reference/cards/list-card-transactions"},{"title":"Get a card transaction","openapi":"api-reference/endl-cards-api.json GET /api/v0/cards/{customerId}/transactions/{transactionId}","href":"/api-reference/cards/get-card-transaction"},{"title":"Get card balance","openapi":"api-reference/endl-cards-api.json GET /api/v0/cards/{customerId}/balance","href":"/api-reference/cards/get-card-balance"},{"title":"Get deposit instructions","openapi":"api-reference/endl-cards-api.json GET /api/v0/cards/{customerId}/deposit-instructions","href":"/api-reference/cards/get-deposit-instructions"},{"title":"Deposit from the Endl account","openapi":"api-reference/endl-cards-api.json POST /api/v0/cards/{customerId}/deposits","href":"/api-reference/cards/create-card-deposit"},{"title":"List deposits","openapi":"api-reference/endl-cards-api.json GET /api/v0/cards/{customerId}/deposits","href":"/api-reference/cards/list-card-deposits"},{"title":"Get a deposit","openapi":"api-reference/endl-cards-api.json GET /api/v0/cards/{customerId}/deposits/{depositId}","href":"/api-reference/cards/get-card-deposit"},{"title":"Withdraw from the card balance","openapi":"api-reference/endl-cards-api.json POST /api/v0/cards/{customerId}/withdrawals","href":"/api-reference/cards/create-card-withdrawal"},{"title":"List withdrawals","openapi":"api-reference/endl-cards-api.json GET /api/v0/cards/{customerId}/withdrawals","href":"/api-reference/cards/list-card-withdrawals"},{"title":"Get a withdrawal","openapi":"api-reference/endl-cards-api.json GET /api/v0/cards/{customerId}/withdrawals/{withdrawalId}","href":"/api-reference/cards/get-card-withdrawal"},{"title":"Card webhook events","href":"/api-reference/cards/events"},{"title":"Card errors","href":"/api-reference/cards/errors"}]},{"group":"POBO","expanded":true,"pages":[{"title":"POBO overview","href":"/api-reference/pobo/introduction"},{"title":"Get owner","openapi":"api-reference/endl-pobo-api.json GET /api/v0/pobo/owner","href":"/api-reference/pobo/get-owner"},{"title":"Create sender","openapi":"api-reference/endl-pobo-api.json POST /api/v0/pobo/senders","href":"/api-reference/pobo/create-sender"},{"title":"List senders","openapi":"api-reference/endl-pobo-api.json GET /api/v0/pobo/senders","href":"/api-reference/pobo/list-senders"},{"title":"Get sender","openapi":"api-reference/endl-pobo-api.json GET /api/v0/pobo/senders/{senderId}","href":"/api-reference/pobo/get-sender"},{"title":"Delete sender","openapi":"api-reference/endl-pobo-api.json DELETE /api/v0/pobo/senders/{senderId}","href":"/api-reference/pobo/delete-sender"},{"title":"Create recipient","openapi":"api-reference/endl-pobo-api.json POST /api/v0/pobo/recipients","href":"/api-reference/pobo/create-recipient"},{"title":"List recipients","openapi":"api-reference/endl-pobo-api.json POST /api/v0/pobo/recipients/all","href":"/api-reference/pobo/list-recipients"},{"title":"Get recipient","openapi":"api-reference/endl-pobo-api.json GET /api/v0/pobo/recipients/{recipientId}","href":"/api-reference/pobo/get-recipient"},{"title":"Delete recipient","openapi":"api-reference/endl-pobo-api.json DELETE /api/v0/pobo/recipients/{recipientId}","href":"/api-reference/pobo/delete-recipient"},{"title":"Generate quote","openapi":"api-reference/endl-pobo-api.json POST /api/v0/pobo/quotes/generate","href":"/api-reference/pobo/generate-quote"},{"title":"Get quote","openapi":"api-reference/endl-pobo-api.json GET /api/v0/pobo/quotes/{quoteId}","href":"/api-reference/pobo/get-quote"},{"title":"Create pre-transaction","openapi":"api-reference/endl-pobo-api.json POST /api/v0/pobo/transactions/pre-txn","href":"/api-reference/pobo/create-pre-transaction"},{"title":"Submit transaction","openapi":"api-reference/endl-pobo-api.json POST /api/v0/pobo/transactions/submit","href":"/api-reference/pobo/submit-transaction"},{"title":"Get transaction","openapi":"api-reference/endl-pobo-api.json GET /api/v0/pobo/transactions/{txnId}","href":"/api-reference/pobo/get-transaction"},{"title":"List transactions","openapi":"api-reference/endl-pobo-api.json POST /api/v0/pobo/transactions/all","href":"/api-reference/pobo/list-transactions"}]},{"group":"Gift Cards","expanded":true,"pages":[{"title":"Giftcard API overview","href":"/giftcards/overview"},{"title":"Signing requests","href":"/giftcards/authentication"},{"title":"Conventions","href":"/giftcards/conventions"},{"title":"List products","openapi":"api-reference/endl-giftcard-api.json GET /catalog/products","href":"/giftcards/list-products"},{"title":"Create an order","openapi":"api-reference/endl-giftcard-api.json POST /orders","href":"/giftcards/create-order"},{"title":"Get an order","openapi":"api-reference/endl-giftcard-api.json GET /orders/{order_id}","href":"/giftcards/get-order"},{"title":"List orders","openapi":"api-reference/endl-giftcard-api.json GET /orders","href":"/giftcards/list-orders"},{"title":"Retrieve vouchers","openapi":"api-reference/endl-giftcard-api.json GET /orders/{order_id}/vouchers","href":"/giftcards/retrieve-vouchers"},{"title":"Order lifecycle","href":"/giftcards/lifecycle"},{"title":"Error codes","href":"/giftcards/errors"},{"title":"Worked flows","href":"/giftcards/flows"}]},{"group":"Webhooks","expanded":true,"pages":[{"title":"Webhooks overview","href":"/webhooks/overview"},{"title":"Verifying signatures","href":"/webhooks/signature-verification"},{"title":"Create subscription","openapi":"api-reference/endl-webhooks-api.json POST /api/v0/webhooks/subscriptions","href":"/webhooks/create-subscription"},{"title":"List subscriptions","openapi":"api-reference/endl-webhooks-api.json GET /api/v0/webhooks/subscriptions","href":"/webhooks/list-subscriptions"},{"title":"Get subscription","openapi":"api-reference/endl-webhooks-api.json GET /api/v0/webhooks/subscriptions/{id}","href":"/webhooks/get-subscription"},{"title":"Update subscription","openapi":"api-reference/endl-webhooks-api.json PATCH /api/v0/webhooks/subscriptions/{id}","href":"/webhooks/update-subscription"},{"title":"Delete subscription","openapi":"api-reference/endl-webhooks-api.json DELETE /api/v0/webhooks/subscriptions/{id}","href":"/webhooks/delete-subscription"},{"title":"Send event to subscription","openapi":"api-reference/endl-webhooks-api.json POST /api/v0/webhooks/subscriptions/{id}/send","href":"/webhooks/send-event"},{"title":"List deliveries","openapi":"api-reference/endl-webhooks-api.json GET /api/v0/webhooks/events","href":"/webhooks/list-deliveries"},{"title":"Get delivery","openapi":"api-reference/endl-webhooks-api.json GET /api/v0/webhooks/events/{id}","href":"/webhooks/get-delivery"},{"title":"Retry delivery","openapi":"api-reference/endl-webhooks-api.json POST /api/v0/webhooks/events/{id}/retry","href":"/webhooks/retry-delivery"},{"title":"Read the PULL feed","openapi":"api-reference/endl-webhooks-api.json GET /api/v0/events","href":"/webhooks/pull-events"},{"title":"Pagination","href":"/webhooks/pagination"},{"title":"Errors and response envelope","href":"/webhooks/errors"},{"title":"Reference","href":"/webhooks/reference"}]}]}]}]},"title":"Submit transaction - Endl API","buildId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","deploymentId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-rfhihCWU.js","utils-BmH1XFxk.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BcNsxPKB.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BAES3tkd.js","snippetPresets-DCMQBKLP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D6l_bzE9.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BOktbnNh.js","shallow-BCs8SgM7.js","getApiPlaygroundDisplay-DEmW5bJB.js","CodeSnippet-CpZOpB9C.js","CodeSnippets-BOBDqibl.js","Page-D5fEM6aW.js","getPastedJson-DH2JBvmr.js","icon-BBJH-kKh.js","MethodPill-D2Sd5NLC.js","DuplicateIcon-CGgfL2qN.js","createIcon-BKudBBzi.js","DynamicMarkdown-85clUA0i.js","SectionHeading-D0JiMgDx.js","axios-vUo_bRtp.js","Markdown-Cfiy0xZO.js","clsx-rL8ZCCw4.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-aeztFa9U.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BywkCr5C.js"]}