Correct the beneficiary of a LOCKED fiat payout waiting to be sent, when its
requiredActions holds a beneficiary_details action. Send the fields it
lists; the others are ignored. The beneficiary is updated for this payout
and every later one, the action leaves requiredActions, and operations
send the payout: follow it with GET /v1/transactions/{transactionId}
or transaction.status.updated. Returns the transaction.
The corrected beneficiary details. Send the fields listed in the
beneficiary_details required action; any other field is ignored. The
beneficiary is updated for this payout and every later one.
A transaction, discriminated by type. Use the type field to narrow the
details payload — each variant has a different shape. The envelope
(status, amount, asset, fee, timestamps) is uniform across variants.
Variants:
CRYPTO_PAYIN → details is TransactionCryptoPayinDetails
CRYPTO_PAYOUT → details is TransactionCryptoPayoutDetails
FIAT_PAYIN → details is TransactionFiatPayinDetails
FIAT_PAYOUT → details is TransactionFiatPayoutDetails
TRADE → details is TransactionTradeDetails
TRANSFER → details is TransactionTransferDetails
NXOSNET_TRANSFER → details is TransactionNxosnetTransferDetails
CREDIT_ADJUSTMENT → details is TransactionCreditAdjustmentDetails
COMMISSION → details is TransactionCommissionDetails
DEBIT_ADJUSTMENT → details is TransactionDebitAdjustmentDetails
Primary amount in major units. For most types this is the amount the
customer's account moved by. For TRADE this is null — trades have two
distinct assets in play; see details.from and details.to instead.
Service-fee breakdown. Always populated; every component is zero when no service fee applied. Note: trade spread fees are NOT here — they live in details.spread on TRADE transactions.
What you must still provide. While status is ACTION_REQUIRED: the
documents to upload. On a LOCKED fiat payout waiting for corrected details: one
beneficiary_details action with the fields to correct. Empty otherwise.
Something you must provide before the transaction can go on: a document for a held transaction, or the beneficiary details of a payout waiting to be sent.
{"docsConfig":{"theme":"luma","$schema":"https://mintlify.com/docs.json","name":"Nxos","description":"Nxos API documentation — programmatic access to fiat and crypto accounts, quotes, beneficiaries, and payouts.","colors":{"primary":"#38bdf8","light":"#38bdf8","dark":"#06b6d4"},"logo":{"light":"https://mintcdn.com/nxos-f4022d2e/1BbvSIMfTEn6iDBa/logo/light.svg?fit=max\u0026auto=format\u0026n=1BbvSIMfTEn6iDBa\u0026q=85\u0026s=cfc2eecff02a32cd44c0881bd70c3a30","dark":"https://mintcdn.com/nxos-f4022d2e/1BbvSIMfTEn6iDBa/logo/dark.svg?fit=max\u0026auto=format\u0026n=1BbvSIMfTEn6iDBa\u0026q=85\u0026s=033a925c67253f47202d17ebeb53a176","href":"https://nxos.io"},"favicon":"https://mintcdn.com/nxos-f4022d2e/1BbvSIMfTEn6iDBa/favicon.svg?fit=max\u0026auto=format\u0026n=1BbvSIMfTEn6iDBa\u0026q=85\u0026s=ce7e79c898639fe2510ebe1f9b3bb268","api":{"mdx":{"auth":{"method":"bearer","name":"Authorization"},"server":["https://api.sandbox.nxos.io","https://api.nxos.io"]}},"navbar":{"links":[{"href":"mailto:[email protected]","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.nxos.io"}},"footer":{},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","cursor"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"nxos-f4022d2e","hasAudioNarration":false,"actualSubdomain":"nxos-f4022d2e","customDomains":["docs.nxos.io"],"gitSource":{"type":"github","owner":"nxosio","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aec23e8d7fc1c00c9c6a1e3","collectionId":"6044f839-c17a-4748-9d8d-815a4d1e7a32","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aec23e8d7fc1c00c9c6a1e3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6aec61adaceee0d6e0b0495e","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"API reference","count":56},{"language":"default","tag":"Track","count":20},{"language":"default","tag":"Move money","count":19},{"language":"default","tag":"Documentation","count":15},{"language":"default","tag":"Setup","count":11},{"language":"default","tag":"Beneficiaries","count":7},{"language":"default","tag":"Webhooks","count":7},{"language":"default","tag":"Core concepts","count":6},{"language":"default","tag":"Guides","count":6},{"language":"default","tag":"Payouts","count":5}]},"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":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/transactions/beneficiary-details","slug":"/api-reference/transactions/beneficiary-details","pageMetadata":{"title":"Correct beneficiary details","openapi":"POST /v1/transactions/{transactionId}/beneficiary-details","description":"Correct the beneficiary of a `LOCKED` fiat payout waiting to be sent, when its\n`requiredActions` holds a `beneficiary_details` action. Send the fields it\nlists; the others are ignored. The beneficiary is updated for this payout\nand every later one, the action leaves `requiredActions`, and operations\nsend the payout: follow it with `GET /v1/transactions/{transactionId}`\nor `transaction.status.updated`. Returns the transaction.","href":"/api-reference/transactions/beneficiary-details"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Correct the beneficiary of a \", _jsx(_components.code, {\n children: \"LOCKED\"\n }), \" fiat payout waiting to be sent, when its\\n\", _jsx(_components.code, {\n children: \"requiredActions\"\n }), \" holds a \", _jsx(_components.code, {\n children: \"beneficiary_details\"\n }), \" action. Send the fields it\\nlists; the others are ignored. The beneficiary is updated for this payout\\nand every later one, the action leaves \", _jsx(_components.code, {\n children: \"requiredActions\"\n }), \", and operations\\nsend the payout: follow it with \", _jsx(_components.code, {\n children: \"GET /v1/transactions/{transactionId}\"\n }), \"\\nor \", _jsx(_components.code, {\n children: \"transaction.status.updated\"\n }), \". Returns the transaction.\"]\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":"Correct beneficiary details","openapi":"POST /v1/transactions/{transactionId}/beneficiary-details","description":"Correct the beneficiary of a `LOCKED` fiat payout waiting to be sent, when its\n`requiredActions` holds a `beneficiary_details` action. Send the fields it\nlists; the others are ignored. The beneficiary is updated for this payout\nand every later one, the action leaves `requiredActions`, and operations\nsend the payout: follow it with `GET /v1/transactions/{transactionId}`\nor `transaction.status.updated`. Returns the transaction.","href":"/api-reference/transactions/beneficiary-details"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"Transactions_correctBeneficiaryDetails","description":"Correct the beneficiary of a `LOCKED` fiat payout waiting to be sent, when its\n`requiredActions` holds a `beneficiary_details` action. Send the fields it\nlists; the others are ignored. The beneficiary is updated for this payout\nand every later one, the action leaves `requiredActions`, and operations\nsend the payout: follow it with `GET /v1/transactions/{transactionId}`\nor `transaction.status.updated`. Returns the transaction.","parameters":["171f4df9-83b5-4012-8145-aeb0075468a8","ab76efab-cb76-432f-9e5f-831b7b0ca5f2","504d6eca-55ee-4dd9-b060-8053618c3909"],"responses":{"200":"34dd82d6-6715-4387-b944-5424b89ac966","400":"dc635915-694b-4717-b874-e849c5223f85","401":"2e8c77f5-7931-4a4f-b919-675af54b1a27","403":"4e6e4cc4-dace-419d-a94e-3f5c73397925","404":"67777c5a-35a7-4827-a4dd-37b409c78f80","409":"a7a26ba8-afa1-4e98-bc2c-0e0ddd244d40","422":"3e1eda30-f1a8-41f4-8e52-a390b869b589","429":"b6afe029-2a50-47c2-830a-cc721709e695","500":"4cca9719-8416-449e-af72-d89cd05d73c1"},"tags":["Transactions"],"requestBody":"cb063a07-f3ec-49e4-a5ce-1759a28956ac","method":"post","type":"path","servers":["1d851d4a-35d4-4a0c-8312-c26e0f4b4afe","49d15fb3-5344-46c2-b146-57ee14344a18"],"security":[],"path":"/v1/transactions/{transactionId}/beneficiary-details","baseUrlOptions":["https://api.nxos.io","https://api.sandbox.nxos.io"],"title":"","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"171f4df9-83b5-4012-8145-aeb0075468a8":{"name":"Authorization","in":"header","required":true,"description":"Bearer token. Format: `Bearer \u003capi_key>`","schema":{"type":"string","isRequired":true,"description":"Bearer token. Format: `Bearer \u003capi_key>`","uniqueKey":"","typeLabel":"string"}},"ab76efab-cb76-432f-9e5f-831b7b0ca5f2":{"name":"Idempotency-Key","in":"header","required":false,"description":"Unique key per logical operation. UUID v4 recommended. Max 255 characters.","schema":{"type":"string","isRequired":false,"description":"Unique key per logical operation. UUID v4 recommended. Max 255 characters.","uniqueKey":"","typeLabel":"string"}},"504d6eca-55ee-4dd9-b060-8053618c3909":{"name":"transactionId","in":"path","required":true,"description":"Transaction identifier.","schema":{"type":"string","isRequired":true,"description":"Transaction identifier.","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"iban":{"type":"string","maxLength":64,"description":"IBAN, spaces allowed. Checked against its checksum.","uniqueKey":"iban","typeLabel":"string"},"accountNumber":{"type":"string","maxLength":64,"description":"Account number, letters and digits, up to 34.","uniqueKey":"accountNumber","typeLabel":"string"},"swiftCode":{"type":"string","maxLength":32,"description":"SWIFT / BIC, 8 or 11 characters.","uniqueKey":"swiftCode","typeLabel":"string"},"bankName":{"type":"string","maxLength":140,"description":"The recipient's bank name.","uniqueKey":"bankName","typeLabel":"string"},"firstName":{"type":"string","maxLength":140,"description":"For an individual beneficiary, with `lastName`, when `beneficiaryName` is asked.","uniqueKey":"firstName","typeLabel":"string"},"lastName":{"type":"string","maxLength":140,"description":"For an individual beneficiary, with `firstName`, when `beneficiaryName` is asked.","uniqueKey":"lastName","typeLabel":"string"},"businessName":{"type":"string","maxLength":140,"description":"For a business beneficiary, when `beneficiaryName` is asked.","uniqueKey":"businessName","typeLabel":"string"},"addressLine1":{"type":"string","maxLength":140,"description":"The recipient's street address.","uniqueKey":"addressLine1","typeLabel":"string"},"city":{"type":"string","maxLength":140,"description":"The recipient's city.","uniqueKey":"city","typeLabel":"string"},"country":{"type":"string","maxLength":2,"description":"The recipient's country, ISO 3166-1 alpha-2.","uniqueKey":"country","typeLabel":"string"}},"description":"The corrected beneficiary details. Send the fields listed in the\n`beneficiary_details` required action; any other field is ignored. The\nbeneficiary is updated for this payout and every later one.","example":{"iban":"GB82WEST12345698765432"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"iban":"GB82WEST12345698765432"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"34dd82d6-6715-4387-b944-5424b89ac966":{"description":"The request has succeeded.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","title":"Crypto payin","description":"A transaction, discriminated by `type`. Use the `type` field to narrow the\n`details` payload — each variant has a different shape. The envelope\n(status, amount, asset, fee, timestamps) is uniform across variants.\n\nVariants:\n - `CRYPTO_PAYIN` → `details` is `TransactionCryptoPayinDetails`\n - `CRYPTO_PAYOUT` → `details` is `TransactionCryptoPayoutDetails`\n - `FIAT_PAYIN` → `details` is `TransactionFiatPayinDetails`\n - `FIAT_PAYOUT` → `details` is `TransactionFiatPayoutDetails`\n - `TRADE` → `details` is `TransactionTradeDetails`\n - `TRANSFER` → `details` is `TransactionTransferDetails`\n - `NXOSNET_TRANSFER` → `details` is `TransactionNxosnetTransferDetails`\n - `CREDIT_ADJUSTMENT` → `details` is `TransactionCreditAdjustmentDetails`\n - `COMMISSION` → `details` is `TransactionCommissionDetails`\n - `DEBIT_ADJUSTMENT` → `details` is `TransactionDebitAdjustmentDetails`","required":["type","details","object","transactionId","accountId","status","description","tags","amount","asset","fee","requiredActions","createdAt","updatedAt"],"properties":{"object":{"type":"string","enum":["transaction"],"description":"Object type. Always `transaction`.","isRequired":true,"uniqueKey":"oneOf.0.object","typeLabel":"enum\u003cstring>"},"transactionId":{"type":"string","description":"Unique transaction identifier.","isRequired":true,"uniqueKey":"oneOf.0.transactionId","typeLabel":"string"},"accountId":{"type":"string","description":"Account this transaction belongs to. Always one of your organization's accounts (the listing query enforces ownership).","isRequired":true,"uniqueKey":"oneOf.0.accountId","typeLabel":"string"},"status":{"type":"string","description":"Current status. See `TransactionStatus` for transitions.","enum":["EXPECTED","ACTION_REQUIRED","LOCKED","COMPLETED","DECLINED","REFUNDED"],"isRequired":true,"uniqueKey":"oneOf.0.status","typeLabel":"enum\u003cstring>"},"description":{"oneOf":[{"type":"string","description":"Optional human-readable description.","isRequired":true,"uniqueKey":"oneOf.0.description.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional human-readable description.","isRequired":true,"uniqueKey":"oneOf.0.description.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.description","typeLabel":"string | null"},"tags":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.tags.items.[INDEX]","typeLabel":"string"},"description":"Free-form tags set at create time (e.g. `[\"crypto_payout\", \"ethereum_mainnet\"]`).","isRequired":true,"uniqueKey":"oneOf.0.tags","typeLabel":"string[]"},"amount":{"oneOf":[{"type":"string","description":"Primary amount in major units. For most types this is the amount the\ncustomer's account moved by. For TRADE this is null — trades have two\ndistinct assets in play; see `details.from` and `details.to` instead.","isRequired":true,"uniqueKey":"oneOf.0.amount.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"oneOf.0.amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.amount","typeLabel":"string | null"},"asset":{"oneOf":[{"type":"string","description":"Asset code of the primary amount. Null for TRADE — see `details.from` / `details.to`.","isRequired":true,"uniqueKey":"oneOf.0.asset.oneOf.0","typeLabel":"string"},{"type":"null","description":"Asset code of the primary amount. Null for TRADE — see `details.from` / `details.to`.","isRequired":true,"uniqueKey":"oneOf.0.asset.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.asset","typeLabel":"string | null"},"fee":{"type":"object","description":"Service-fee breakdown. Always populated; every component is zero when no service fee applied. Note: trade spread fees are NOT here — they live in `details.spread` on TRADE transactions.","required":["fixed","bps","bpsAmount","total","asset"],"example":{"fixed":"50.00","bps":0,"bpsAmount":"0.00","total":"50.00","asset":"USD"},"properties":{"fixed":{"type":"string","description":"Flat component charged regardless of the principal. Zero when the schedule has no fixed component.","isRequired":true,"uniqueKey":"oneOf.0.fee.fixed","typeLabel":"string"},"bps":{"type":"integer","format":"int32","description":"Rate applied to the principal, in basis points (1 bp = 0.01%, so 50 bps = 0.5%). Zero when the schedule has no rate component.","isRequired":true,"uniqueKey":"oneOf.0.fee.bps","typeLabel":"integer\u003cint32>"},"bpsAmount":{"type":"string","description":"Rate-based component, derived from `bps` and the principal and rounded at charge time. Zero when `bps` is zero.","isRequired":true,"uniqueKey":"oneOf.0.fee.bpsAmount","typeLabel":"string"},"total":{"type":"string","description":"Total fee charged: `fixed + bpsAmount`. The single number surfaced to customers as \"Fee\".","isRequired":true,"uniqueKey":"oneOf.0.fee.total","typeLabel":"string"},"asset":{"type":"string","description":"Asset code the fee is denominated in. Always matches the transaction's principal asset — fees are never FX-converted.","isRequired":true,"uniqueKey":"oneOf.0.fee.asset","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.fee","typeLabel":"object"},"requiredActions":{"type":"array","items":{"oneOf":[{"type":"object","title":"Document","description":"Something you must provide before the transaction can go on: a document for a held transaction, or the beneficiary details of a payout waiting to be sent.","required":["type","holdId"],"properties":{"type":{"type":"string","description":"The document type to upload.","enum":["invoice","source_of_funds","counterparty_details"],"isRequired":true,"uniqueKey":"oneOf.0.requiredActions.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"holdId":{"type":"string","description":"The hold this document is for.","isRequired":true,"uniqueKey":"oneOf.0.requiredActions.items.[INDEX].oneOf.0.holdId","typeLabel":"string"}},"uniqueKey":"oneOf.0.requiredActions.items.[INDEX].oneOf.0","typeLabel":"Document · object"},{"type":"object","title":"Beneficiary details","description":"Something you must provide before the transaction can go on: a document for a held transaction, or the beneficiary details of a payout waiting to be sent.","required":["type","fixRequestId","fields","note"],"example":{"type":"beneficiary_details","fixRequestId":"pfix_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4","fields":["iban"],"note":"Our bank needs the recipient's IBAN for UK payouts. Please add it exactly as it appears on their bank statement."},"properties":{"type":{"type":"string","enum":["beneficiary_details"],"description":"Always `beneficiary_details`.","isRequired":true,"uniqueKey":"oneOf.0.requiredActions.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"fixRequestId":{"type":"string","description":"The correction request this action answers.","isRequired":true,"uniqueKey":"oneOf.0.requiredActions.items.[INDEX].oneOf.1.fixRequestId","typeLabel":"string"},"fields":{"type":"array","items":{"type":"string","enum":["iban","accountNumber","swiftCode","bankName","beneficiaryName","addressLine1","city","country"],"description":"A beneficiary field to correct. `beneficiaryName` is `firstName` and\n`lastName` for an individual, `businessName` for a business.","uniqueKey":"oneOf.0.requiredActions.items.[INDEX].oneOf.1.fields.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"The fields to correct. Only these are read from your answer.","isRequired":true,"uniqueKey":"oneOf.0.requiredActions.items.[INDEX].oneOf.1.fields","typeLabel":"enum\u003cstring>[]"},"note":{"type":"string","description":"What operations ask you to correct, in their words.","isRequired":true,"uniqueKey":"oneOf.0.requiredActions.items.[INDEX].oneOf.1.note","typeLabel":"string"}},"uniqueKey":"oneOf.0.requiredActions.items.[INDEX].oneOf.1","typeLabel":"Beneficiary details · object"}],"uniqueKey":"oneOf.0.requiredActions.items.[INDEX]","typeLabel":"Document · object | Beneficiary details · object"},"description":"What you must still provide. While `status` is `ACTION_REQUIRED`: the\ndocuments to upload. On a `LOCKED` fiat payout waiting for corrected details: one\n`beneficiary_details` action with the fields to correct. Empty otherwise.","isRequired":true,"uniqueKey":"oneOf.0.requiredActions","typeLabel":"(Document · object | Beneficiary details · object)[]"},"createdAt":{"type":"string","description":"When the transaction was created (platform clock).","isRequired":true,"uniqueKey":"oneOf.0.createdAt","typeLabel":"string"},"updatedAt":{"type":"string","description":"When the transaction was last updated.","isRequired":true,"uniqueKey":"oneOf.0.updatedAt","typeLabel":"string"},"type":{"type":"string","enum":["CRYPTO_PAYIN"],"isRequired":true,"uniqueKey":"oneOf.0.type","typeLabel":"enum\u003cstring>"},"details":{"type":"object","required":["chainName","chainTransactionId","fromAddress","toAddress","blockHeight","blockTimestamp"],"properties":{"chainName":{"type":"string","description":"Chain identifier (e.g. `ETHEREUM_MAINNET`).","isRequired":true,"uniqueKey":"oneOf.0.details.chainName","typeLabel":"string"},"chainTransactionId":{"type":"string","description":"On-chain transaction hash.","isRequired":true,"uniqueKey":"oneOf.0.details.chainTransactionId","typeLabel":"string"},"fromAddress":{"oneOf":[{"type":"string","description":"On-chain sender address. Null when not parseable from the chain event.","isRequired":true,"uniqueKey":"oneOf.0.details.fromAddress.oneOf.0","typeLabel":"string"},{"type":"null","description":"On-chain sender address. Null when not parseable from the chain event.","isRequired":true,"uniqueKey":"oneOf.0.details.fromAddress.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.details.fromAddress","typeLabel":"string | null"},"toAddress":{"type":"string","description":"Destination address (one of the customer's deposit addresses).","isRequired":true,"uniqueKey":"oneOf.0.details.toAddress","typeLabel":"string"},"blockHeight":{"oneOf":[{"type":"integer","format":"int32","description":"Block height the transaction landed in.","isRequired":true,"uniqueKey":"oneOf.0.details.blockHeight.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","format":"int32","description":"Block height the transaction landed in.","isRequired":true,"uniqueKey":"oneOf.0.details.blockHeight.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.details.blockHeight","typeLabel":"integer\u003cint32> | null"},"blockTimestamp":{"oneOf":[{"type":"string","description":"On-chain block timestamp (distinct from the platform's `createdAt`).","isRequired":true,"uniqueKey":"oneOf.0.details.blockTimestamp.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"oneOf.0.details.blockTimestamp.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.details.blockTimestamp","typeLabel":"string | null"}},"description":"Crypto deposit details — the on-chain receipt that funded the account.","isRequired":true,"uniqueKey":"oneOf.0.details","typeLabel":"object"}},"uniqueKey":"oneOf.0","typeLabel":"Crypto payin · object"},{"type":"object","title":"Crypto payout","description":"A transaction, discriminated by `type`. Use the `type` field to narrow the\n`details` payload — each variant has a different shape. The envelope\n(status, amount, asset, fee, timestamps) is uniform across variants.\n\nVariants:\n - `CRYPTO_PAYIN` → `details` is `TransactionCryptoPayinDetails`\n - `CRYPTO_PAYOUT` → `details` is `TransactionCryptoPayoutDetails`\n - `FIAT_PAYIN` → `details` is `TransactionFiatPayinDetails`\n - `FIAT_PAYOUT` → `details` is `TransactionFiatPayoutDetails`\n - `TRADE` → `details` is `TransactionTradeDetails`\n - `TRANSFER` → `details` is `TransactionTransferDetails`\n - `NXOSNET_TRANSFER` → `details` is `TransactionNxosnetTransferDetails`\n - `CREDIT_ADJUSTMENT` → `details` is `TransactionCreditAdjustmentDetails`\n - `COMMISSION` → `details` is `TransactionCommissionDetails`\n - `DEBIT_ADJUSTMENT` → `details` is `TransactionDebitAdjustmentDetails`","required":["type","details","object","transactionId","accountId","status","description","tags","amount","asset","fee","requiredActions","createdAt","updatedAt"],"properties":{"object":{"type":"string","enum":["transaction"],"description":"Object type. Always `transaction`.","isRequired":true,"uniqueKey":"oneOf.1.object","typeLabel":"enum\u003cstring>"},"transactionId":{"type":"string","description":"Unique transaction identifier.","isRequired":true,"uniqueKey":"oneOf.1.transactionId","typeLabel":"string"},"accountId":{"type":"string","description":"Account this transaction belongs to. Always one of your organization's accounts (the listing query enforces ownership).","isRequired":true,"uniqueKey":"oneOf.1.accountId","typeLabel":"string"},"status":{"type":"string","description":"Current status. See `TransactionStatus` for transitions.","enum":["EXPECTED","ACTION_REQUIRED","LOCKED","COMPLETED","DECLINED","REFUNDED"],"isRequired":true,"uniqueKey":"oneOf.1.status","typeLabel":"enum\u003cstring>"},"description":{"oneOf":[{"type":"string","description":"Optional human-readable description.","isRequired":true,"uniqueKey":"oneOf.1.description.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional human-readable description.","isRequired":true,"uniqueKey":"oneOf.1.description.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.description","typeLabel":"string | null"},"tags":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.tags.items.[INDEX]","typeLabel":"string"},"description":"Free-form tags set at create time (e.g. `[\"crypto_payout\", \"ethereum_mainnet\"]`).","isRequired":true,"uniqueKey":"oneOf.1.tags","typeLabel":"string[]"},"amount":{"oneOf":[{"type":"string","description":"Primary amount in major units. For most types this is the amount the\ncustomer's account moved by. For TRADE this is null — trades have two\ndistinct assets in play; see `details.from` and `details.to` instead.","isRequired":true,"uniqueKey":"oneOf.1.amount.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"oneOf.1.amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.amount","typeLabel":"string | null"},"asset":{"oneOf":[{"type":"string","description":"Asset code of the primary amount. Null for TRADE — see `details.from` / `details.to`.","isRequired":true,"uniqueKey":"oneOf.1.asset.oneOf.0","typeLabel":"string"},{"type":"null","description":"Asset code of the primary amount. Null for TRADE — see `details.from` / `details.to`.","isRequired":true,"uniqueKey":"oneOf.1.asset.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.asset","typeLabel":"string | null"},"fee":{"type":"object","description":"Service-fee breakdown. Always populated; every component is zero when no service fee applied. Note: trade spread fees are NOT here — they live in `details.spread` on TRADE transactions.","required":["fixed","bps","bpsAmount","total","asset"],"example":{"fixed":"50.00","bps":0,"bpsAmount":"0.00","total":"50.00","asset":"USD"},"properties":{"fixed":{"type":"string","description":"Flat component charged regardless of the principal. Zero when the schedule has no fixed component.","isRequired":true,"uniqueKey":"oneOf.1.fee.fixed","typeLabel":"string"},"bps":{"type":"integer","format":"int32","description":"Rate applied to the principal, in basis points (1 bp = 0.01%, so 50 bps = 0.5%). Zero when the schedule has no rate component.","isRequired":true,"uniqueKey":"oneOf.1.fee.bps","typeLabel":"integer\u003cint32>"},"bpsAmount":{"type":"string","description":"Rate-based component, derived from `bps` and the principal and rounded at charge time. Zero when `bps` is zero.","isRequired":true,"uniqueKey":"oneOf.1.fee.bpsAmount","typeLabel":"string"},"total":{"type":"string","description":"Total fee charged: `fixed + bpsAmount`. The single number surfaced to customers as \"Fee\".","isRequired":true,"uniqueKey":"oneOf.1.fee.total","typeLabel":"string"},"asset":{"type":"string","description":"Asset code the fee is denominated in. Always matches the transaction's principal asset — fees are never FX-converted.","isRequired":true,"uniqueKey":"oneOf.1.fee.asset","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.fee","typeLabel":"object"},"requiredActions":{"type":"array","items":{"oneOf":[{"type":"object","title":"Document","description":"Something you must provide before the transaction can go on: a document for a held transaction, or the beneficiary details of a payout waiting to be sent.","required":["type","holdId"],"properties":{"type":{"type":"string","description":"The document type to upload.","enum":["invoice","source_of_funds","counterparty_details"],"isRequired":true,"uniqueKey":"oneOf.1.requiredActions.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"holdId":{"type":"string","description":"The hold this document is for.","isRequired":true,"uniqueKey":"oneOf.1.requiredActions.items.[INDEX].oneOf.0.holdId","typeLabel":"string"}},"uniqueKey":"oneOf.1.requiredActions.items.[INDEX].oneOf.0","typeLabel":"Document · object"},{"type":"object","title":"Beneficiary details","description":"Something you must provide before the transaction can go on: a document for a held transaction, or the beneficiary details of a payout waiting to be sent.","required":["type","fixRequestId","fields","note"],"example":{"type":"beneficiary_details","fixRequestId":"pfix_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4","fields":["iban"],"note":"Our bank needs the recipient's IBAN for UK payouts. Please add it exactly as it appears on their bank statement."},"properties":{"type":{"type":"string","enum":["beneficiary_details"],"description":"Always `beneficiary_details`.","isRequired":true,"uniqueKey":"oneOf.1.requiredActions.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"fixRequestId":{"type":"string","description":"The correction request this action answers.","isRequired":true,"uniqueKey":"oneOf.1.requiredActions.items.[INDEX].oneOf.1.fixRequestId","typeLabel":"string"},"fields":{"type":"array","items":{"type":"string","enum":["iban","accountNumber","swiftCode","bankName","beneficiaryName","addressLine1","city","country"],"description":"A beneficiary field to correct. `beneficiaryName` is `firstName` and\n`lastName` for an individual, `businessName` for a business.","uniqueKey":"oneOf.1.requiredActions.items.[INDEX].oneOf.1.fields.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"The fields to correct. Only these are read from your answer.","isRequired":true,"uniqueKey":"oneOf.1.requiredActions.items.[INDEX].oneOf.1.fields","typeLabel":"enum\u003cstring>[]"},"note":{"type":"string","description":"What operations ask you to correct, in their words.","isRequired":true,"uniqueKey":"oneOf.1.requiredActions.items.[INDEX].oneOf.1.note","typeLabel":"string"}},"uniqueKey":"oneOf.1.requiredActions.items.[INDEX].oneOf.1","typeLabel":"Beneficiary details · object"}],"uniqueKey":"oneOf.1.requiredActions.items.[INDEX]","typeLabel":"Document · object | Beneficiary details · object"},"description":"What you must still provide. While `status` is `ACTION_REQUIRED`: the\ndocuments to upload. On a `LOCKED` fiat payout waiting for corrected details: one\n`beneficiary_details` action with the fields to correct. Empty otherwise.","isRequired":true,"uniqueKey":"oneOf.1.requiredActions","typeLabel":"(Document · object | Beneficiary details · object)[]"},"createdAt":{"type":"string","description":"When the transaction was created (platform clock).","isRequired":true,"uniqueKey":"oneOf.1.createdAt","typeLabel":"string"},"updatedAt":{"type":"string","description":"When the transaction was last updated.","isRequired":true,"uniqueKey":"oneOf.1.updatedAt","typeLabel":"string"},"type":{"type":"string","enum":["CRYPTO_PAYOUT"],"isRequired":true,"uniqueKey":"oneOf.1.type","typeLabel":"enum\u003cstring>"},"details":{"type":"object","required":["chainName","chainTransactionId","toAddress","beneficiaryId","blockHeight","blockTimestamp"],"properties":{"chainName":{"type":"string","description":"Chain identifier (e.g. `ETHEREUM_MAINNET`).","isRequired":true,"uniqueKey":"oneOf.1.details.chainName","typeLabel":"string"},"chainTransactionId":{"oneOf":[{"type":"string","description":"On-chain transaction hash. Null while the payout is still in LOCKED state pre-broadcast.","isRequired":true,"uniqueKey":"oneOf.1.details.chainTransactionId.oneOf.0","typeLabel":"string"},{"type":"null","description":"On-chain transaction hash. Null while the payout is still in LOCKED state pre-broadcast.","isRequired":true,"uniqueKey":"oneOf.1.details.chainTransactionId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.details.chainTransactionId","typeLabel":"string | null"},"toAddress":{"type":"string","description":"Destination address.","isRequired":true,"uniqueKey":"oneOf.1.details.toAddress","typeLabel":"string"},"beneficiaryId":{"oneOf":[{"type":"string","description":"Beneficiary the payout was sent to.","isRequired":true,"uniqueKey":"oneOf.1.details.beneficiaryId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Beneficiary the payout was sent to.","isRequired":true,"uniqueKey":"oneOf.1.details.beneficiaryId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.details.beneficiaryId","typeLabel":"string | null"},"blockHeight":{"oneOf":[{"type":"integer","format":"int32","description":"Block height once confirmed. Null while still LOCKED.","isRequired":true,"uniqueKey":"oneOf.1.details.blockHeight.oneOf.0","typeLabel":"integer\u003cint32>"},{"type":"null","format":"int32","description":"Block height once confirmed. Null while still LOCKED.","isRequired":true,"uniqueKey":"oneOf.1.details.blockHeight.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.details.blockHeight","typeLabel":"integer\u003cint32> | null"},"blockTimestamp":{"oneOf":[{"type":"string","description":"On-chain block timestamp once confirmed. Null while still LOCKED.","isRequired":true,"uniqueKey":"oneOf.1.details.blockTimestamp.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"oneOf.1.details.blockTimestamp.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.1.details.blockTimestamp","typeLabel":"string | null"}},"description":"Crypto withdrawal details.","isRequired":true,"uniqueKey":"oneOf.1.details","typeLabel":"object"}},"uniqueKey":"oneOf.1","typeLabel":"Crypto payout · object"},{"type":"object","title":"Fiat payin","description":"A transaction, discriminated by `type`. Use the `type` field to narrow the\n`details` payload — each variant has a different shape. The envelope\n(status, amount, asset, fee, timestamps) is uniform across variants.\n\nVariants:\n - `CRYPTO_PAYIN` → `details` is `TransactionCryptoPayinDetails`\n - `CRYPTO_PAYOUT` → `details` is `TransactionCryptoPayoutDetails`\n - `FIAT_PAYIN` → `details` is `TransactionFiatPayinDetails`\n - `FIAT_PAYOUT` → `details` is `TransactionFiatPayoutDetails`\n - `TRADE` → `details` is `TransactionTradeDetails`\n - `TRANSFER` → `details` is `TransactionTransferDetails`\n - `NXOSNET_TRANSFER` → `details` is `TransactionNxosnetTransferDetails`\n - `CREDIT_ADJUSTMENT` → `details` is `TransactionCreditAdjustmentDetails`\n - `COMMISSION` → `details` is `TransactionCommissionDetails`\n - `DEBIT_ADJUSTMENT` → `details` is `TransactionDebitAdjustmentDetails`","required":["type","details","object","transactionId","accountId","status","description","tags","amount","asset","fee","requiredActions","createdAt","updatedAt"],"properties":{"object":{"type":"string","enum":["transaction"],"description":"Object type. Always `transaction`.","isRequired":true,"uniqueKey":"oneOf.2.object","typeLabel":"enum\u003cstring>"},"transactionId":{"type":"string","description":"Unique transaction identifier.","isRequired":true,"uniqueKey":"oneOf.2.transactionId","typeLabel":"string"},"accountId":{"type":"string","description":"Account this transaction belongs to. Always one of your organization's accounts (the listing query enforces ownership).","isRequired":true,"uniqueKey":"oneOf.2.accountId","typeLabel":"string"},"status":{"type":"string","description":"Current status. See `TransactionStatus` for transitions.","enum":["EXPECTED","ACTION_REQUIRED","LOCKED","COMPLETED","DECLINED","REFUNDED"],"isRequired":true,"uniqueKey":"oneOf.2.status","typeLabel":"enum\u003cstring>"},"description":{"oneOf":[{"type":"string","description":"Optional human-readable description.","isRequired":true,"uniqueKey":"oneOf.2.description.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional human-readable description.","isRequired":true,"uniqueKey":"oneOf.2.description.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.description","typeLabel":"string | null"},"tags":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.2.tags.items.[INDEX]","typeLabel":"string"},"description":"Free-form tags set at create time (e.g. `[\"crypto_payout\", \"ethereum_mainnet\"]`).","isRequired":true,"uniqueKey":"oneOf.2.tags","typeLabel":"string[]"},"amount":{"oneOf":[{"type":"string","description":"Primary amount in major units. For most types this is the amount the\ncustomer's account moved by. For TRADE this is null — trades have two\ndistinct assets in play; see `details.from` and `details.to` instead.","isRequired":true,"uniqueKey":"oneOf.2.amount.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"oneOf.2.amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.amount","typeLabel":"string | null"},"asset":{"oneOf":[{"type":"string","description":"Asset code of the primary amount. Null for TRADE — see `details.from` / `details.to`.","isRequired":true,"uniqueKey":"oneOf.2.asset.oneOf.0","typeLabel":"string"},{"type":"null","description":"Asset code of the primary amount. Null for TRADE — see `details.from` / `details.to`.","isRequired":true,"uniqueKey":"oneOf.2.asset.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.asset","typeLabel":"string | null"},"fee":{"type":"object","description":"Service-fee breakdown. Always populated; every component is zero when no service fee applied. Note: trade spread fees are NOT here — they live in `details.spread` on TRADE transactions.","required":["fixed","bps","bpsAmount","total","asset"],"example":{"fixed":"50.00","bps":0,"bpsAmount":"0.00","total":"50.00","asset":"USD"},"properties":{"fixed":{"type":"string","description":"Flat component charged regardless of the principal. Zero when the schedule has no fixed component.","isRequired":true,"uniqueKey":"oneOf.2.fee.fixed","typeLabel":"string"},"bps":{"type":"integer","format":"int32","description":"Rate applied to the principal, in basis points (1 bp = 0.01%, so 50 bps = 0.5%). Zero when the schedule has no rate component.","isRequired":true,"uniqueKey":"oneOf.2.fee.bps","typeLabel":"integer\u003cint32>"},"bpsAmount":{"type":"string","description":"Rate-based component, derived from `bps` and the principal and rounded at charge time. Zero when `bps` is zero.","isRequired":true,"uniqueKey":"oneOf.2.fee.bpsAmount","typeLabel":"string"},"total":{"type":"string","description":"Total fee charged: `fixed + bpsAmount`. The single number surfaced to customers as \"Fee\".","isRequired":true,"uniqueKey":"oneOf.2.fee.total","typeLabel":"string"},"asset":{"type":"string","description":"Asset code the fee is denominated in. Always matches the transaction's principal asset — fees are never FX-converted.","isRequired":true,"uniqueKey":"oneOf.2.fee.asset","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.fee","typeLabel":"object"},"requiredActions":{"type":"array","items":{"oneOf":[{"type":"object","title":"Document","description":"Something you must provide before the transaction can go on: a document for a held transaction, or the beneficiary details of a payout waiting to be sent.","required":["type","holdId"],"properties":{"type":{"type":"string","description":"The document type to upload.","enum":["invoice","source_of_funds","counterparty_details"],"isRequired":true,"uniqueKey":"oneOf.2.requiredActions.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"holdId":{"type":"string","description":"The hold this document is for.","isRequired":true,"uniqueKey":"oneOf.2.requiredActions.items.[INDEX].oneOf.0.holdId","typeLabel":"string"}},"uniqueKey":"oneOf.2.requiredActions.items.[INDEX].oneOf.0","typeLabel":"Document · object"},{"type":"object","title":"Beneficiary details","description":"Something you must provide before the transaction can go on: a document for a held transaction, or the beneficiary details of a payout waiting to be sent.","required":["type","fixRequestId","fields","note"],"example":{"type":"beneficiary_details","fixRequestId":"pfix_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4","fields":["iban"],"note":"Our bank needs the recipient's IBAN for UK payouts. Please add it exactly as it appears on their bank statement."},"properties":{"type":{"type":"string","enum":["beneficiary_details"],"description":"Always `beneficiary_details`.","isRequired":true,"uniqueKey":"oneOf.2.requiredActions.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"fixRequestId":{"type":"string","description":"The correction request this action answers.","isRequired":true,"uniqueKey":"oneOf.2.requiredActions.items.[INDEX].oneOf.1.fixRequestId","typeLabel":"string"},"fields":{"type":"array","items":{"type":"string","enum":["iban","accountNumber","swiftCode","bankName","beneficiaryName","addressLine1","city","country"],"description":"A beneficiary field to correct. `beneficiaryName` is `firstName` and\n`lastName` for an individual, `businessName` for a business.","uniqueKey":"oneOf.2.requiredActions.items.[INDEX].oneOf.1.fields.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"The fields to correct. Only these are read from your answer.","isRequired":true,"uniqueKey":"oneOf.2.requiredActions.items.[INDEX].oneOf.1.fields","typeLabel":"enum\u003cstring>[]"},"note":{"type":"string","description":"What operations ask you to correct, in their words.","isRequired":true,"uniqueKey":"oneOf.2.requiredActions.items.[INDEX].oneOf.1.note","typeLabel":"string"}},"uniqueKey":"oneOf.2.requiredActions.items.[INDEX].oneOf.1","typeLabel":"Beneficiary details · object"}],"uniqueKey":"oneOf.2.requiredActions.items.[INDEX]","typeLabel":"Document · object | Beneficiary details · object"},"description":"What you must still provide. While `status` is `ACTION_REQUIRED`: the\ndocuments to upload. On a `LOCKED` fiat payout waiting for corrected details: one\n`beneficiary_details` action with the fields to correct. Empty otherwise.","isRequired":true,"uniqueKey":"oneOf.2.requiredActions","typeLabel":"(Document · object | Beneficiary details · object)[]"},"createdAt":{"type":"string","description":"When the transaction was created (platform clock).","isRequired":true,"uniqueKey":"oneOf.2.createdAt","typeLabel":"string"},"updatedAt":{"type":"string","description":"When the transaction was last updated.","isRequired":true,"uniqueKey":"oneOf.2.updatedAt","typeLabel":"string"},"type":{"type":"string","enum":["FIAT_PAYIN"],"isRequired":true,"uniqueKey":"oneOf.2.type","typeLabel":"enum\u003cstring>"},"details":{"type":"object","required":["method","fundingMethodId","senderName","senderAccount","senderBankName","senderBankCode","remittanceInformation"],"properties":{"method":{"type":"string","description":"Method (e.g. `WIRE`).","isRequired":true,"uniqueKey":"oneOf.2.details.method","typeLabel":"string"},"fundingMethodId":{"oneOf":[{"type":"string","description":"Funding method this deposit landed on.","isRequired":true,"uniqueKey":"oneOf.2.details.fundingMethodId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Funding method this deposit landed on.","isRequired":true,"uniqueKey":"oneOf.2.details.fundingMethodId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.details.fundingMethodId","typeLabel":"string | null"},"senderName":{"oneOf":[{"type":"string","description":"Sender name as reported by the originating bank.","isRequired":true,"uniqueKey":"oneOf.2.details.senderName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Sender name as reported by the originating bank.","isRequired":true,"uniqueKey":"oneOf.2.details.senderName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.details.senderName","typeLabel":"string | null"},"senderAccount":{"oneOf":[{"type":"string","description":"Sender's account identifier (IBAN/account number).","isRequired":true,"uniqueKey":"oneOf.2.details.senderAccount.oneOf.0","typeLabel":"string"},{"type":"null","description":"Sender's account identifier (IBAN/account number).","isRequired":true,"uniqueKey":"oneOf.2.details.senderAccount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.details.senderAccount","typeLabel":"string | null"},"senderBankName":{"oneOf":[{"type":"string","description":"Sender's bank name.","isRequired":true,"uniqueKey":"oneOf.2.details.senderBankName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Sender's bank name.","isRequired":true,"uniqueKey":"oneOf.2.details.senderBankName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.details.senderBankName","typeLabel":"string | null"},"senderBankCode":{"oneOf":[{"type":"string","description":"Sender's bank SWIFT/BIC.","isRequired":true,"uniqueKey":"oneOf.2.details.senderBankCode.oneOf.0","typeLabel":"string"},{"type":"null","description":"Sender's bank SWIFT/BIC.","isRequired":true,"uniqueKey":"oneOf.2.details.senderBankCode.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.details.senderBankCode","typeLabel":"string | null"},"remittanceInformation":{"oneOf":[{"type":"string","description":"Free-form remittance information attached to the wire.","isRequired":true,"uniqueKey":"oneOf.2.details.remittanceInformation.oneOf.0","typeLabel":"string"},{"type":"null","description":"Free-form remittance information attached to the wire.","isRequired":true,"uniqueKey":"oneOf.2.details.remittanceInformation.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.2.details.remittanceInformation","typeLabel":"string | null"}},"description":"Fiat deposit (wire receipt) details.","isRequired":true,"uniqueKey":"oneOf.2.details","typeLabel":"object"}},"uniqueKey":"oneOf.2","typeLabel":"Fiat payin · object"},{"type":"object","title":"Fiat payout","description":"A transaction, discriminated by `type`. Use the `type` field to narrow the\n`details` payload — each variant has a different shape. The envelope\n(status, amount, asset, fee, timestamps) is uniform across variants.\n\nVariants:\n - `CRYPTO_PAYIN` → `details` is `TransactionCryptoPayinDetails`\n - `CRYPTO_PAYOUT` → `details` is `TransactionCryptoPayoutDetails`\n - `FIAT_PAYIN` → `details` is `TransactionFiatPayinDetails`\n - `FIAT_PAYOUT` → `details` is `TransactionFiatPayoutDetails`\n - `TRADE` → `details` is `TransactionTradeDetails`\n - `TRANSFER` → `details` is `TransactionTransferDetails`\n - `NXOSNET_TRANSFER` → `details` is `TransactionNxosnetTransferDetails`\n - `CREDIT_ADJUSTMENT` → `details` is `TransactionCreditAdjustmentDetails`\n - `COMMISSION` → `details` is `TransactionCommissionDetails`\n - `DEBIT_ADJUSTMENT` → `details` is `TransactionDebitAdjustmentDetails`","required":["type","details","object","transactionId","accountId","status","description","tags","amount","asset","fee","requiredActions","createdAt","updatedAt"],"properties":{"object":{"type":"string","enum":["transaction"],"description":"Object type. Always `transaction`.","isRequired":true,"uniqueKey":"oneOf.3.object","typeLabel":"enum\u003cstring>"},"transactionId":{"type":"string","description":"Unique transaction identifier.","isRequired":true,"uniqueKey":"oneOf.3.transactionId","typeLabel":"string"},"accountId":{"type":"string","description":"Account this transaction belongs to. Always one of your organization's accounts (the listing query enforces ownership).","isRequired":true,"uniqueKey":"oneOf.3.accountId","typeLabel":"string"},"status":{"type":"string","description":"Current status. See `TransactionStatus` for transitions.","enum":["EXPECTED","ACTION_REQUIRED","LOCKED","COMPLETED","DECLINED","REFUNDED"],"isRequired":true,"uniqueKey":"oneOf.3.status","typeLabel":"enum\u003cstring>"},"description":{"oneOf":[{"type":"string","description":"Optional human-readable description.","isRequired":true,"uniqueKey":"oneOf.3.description.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional human-readable description.","isRequired":true,"uniqueKey":"oneOf.3.description.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.3.description","typeLabel":"string | null"},"tags":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.3.tags.items.[INDEX]","typeLabel":"string"},"description":"Free-form tags set at create time (e.g. `[\"crypto_payout\", \"ethereum_mainnet\"]`).","isRequired":true,"uniqueKey":"oneOf.3.tags","typeLabel":"string[]"},"amount":{"oneOf":[{"type":"string","description":"Primary amount in major units. For most types this is the amount the\ncustomer's account moved by. For TRADE this is null — trades have two\ndistinct assets in play; see `details.from` and `details.to` instead.","isRequired":true,"uniqueKey":"oneOf.3.amount.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"oneOf.3.amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.3.amount","typeLabel":"string | null"},"asset":{"oneOf":[{"type":"string","description":"Asset code of the primary amount. Null for TRADE — see `details.from` / `details.to`.","isRequired":true,"uniqueKey":"oneOf.3.asset.oneOf.0","typeLabel":"string"},{"type":"null","description":"Asset code of the primary amount. Null for TRADE — see `details.from` / `details.to`.","isRequired":true,"uniqueKey":"oneOf.3.asset.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.3.asset","typeLabel":"string | null"},"fee":{"type":"object","description":"Service-fee breakdown. Always populated; every component is zero when no service fee applied. Note: trade spread fees are NOT here — they live in `details.spread` on TRADE transactions.","required":["fixed","bps","bpsAmount","total","asset"],"example":{"fixed":"50.00","bps":0,"bpsAmount":"0.00","total":"50.00","asset":"USD"},"properties":{"fixed":{"type":"string","description":"Flat component charged regardless of the principal. Zero when the schedule has no fixed component.","isRequired":true,"uniqueKey":"oneOf.3.fee.fixed","typeLabel":"string"},"bps":{"type":"integer","format":"int32","description":"Rate applied to the principal, in basis points (1 bp = 0.01%, so 50 bps = 0.5%). Zero when the schedule has no rate component.","isRequired":true,"uniqueKey":"oneOf.3.fee.bps","typeLabel":"integer\u003cint32>"},"bpsAmount":{"type":"string","description":"Rate-based component, derived from `bps` and the principal and rounded at charge time. Zero when `bps` is zero.","isRequired":true,"uniqueKey":"oneOf.3.fee.bpsAmount","typeLabel":"string"},"total":{"type":"string","description":"Total fee charged: `fixed + bpsAmount`. The single number surfaced to customers as \"Fee\".","isRequired":true,"uniqueKey":"oneOf.3.fee.total","typeLabel":"string"},"asset":{"type":"string","description":"Asset code the fee is denominated in. Always matches the transaction's principal asset — fees are never FX-converted.","isRequired":true,"uniqueKey":"oneOf.3.fee.asset","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.fee","typeLabel":"object"},"requiredActions":{"type":"array","items":{"oneOf":[{"type":"object","title":"Document","description":"Something you must provide before the transaction can go on: a document for a held transaction, or the beneficiary details of a payout waiting to be sent.","required":["type","holdId"],"properties":{"type":{"type":"string","description":"The document type to upload.","enum":["invoice","source_of_funds","counterparty_details"],"isRequired":true,"uniqueKey":"oneOf.3.requiredActions.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"holdId":{"type":"string","description":"The hold this document is for.","isRequired":true,"uniqueKey":"oneOf.3.requiredActions.items.[INDEX].oneOf.0.holdId","typeLabel":"string"}},"uniqueKey":"oneOf.3.requiredActions.items.[INDEX].oneOf.0","typeLabel":"Document · object"},{"type":"object","title":"Beneficiary details","description":"Something you must provide before the transaction can go on: a document for a held transaction, or the beneficiary details of a payout waiting to be sent.","required":["type","fixRequestId","fields","note"],"example":{"type":"beneficiary_details","fixRequestId":"pfix_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4","fields":["iban"],"note":"Our bank needs the recipient's IBAN for UK payouts. Please add it exactly as it appears on their bank statement."},"properties":{"type":{"type":"string","enum":["beneficiary_details"],"description":"Always `beneficiary_details`.","isRequired":true,"uniqueKey":"oneOf.3.requiredActions.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"fixRequestId":{"type":"string","description":"The correction request this action answers.","isRequired":true,"uniqueKey":"oneOf.3.requiredActions.items.[INDEX].oneOf.1.fixRequestId","typeLabel":"string"},"fields":{"type":"array","items":{"type":"string","enum":["iban","accountNumber","swiftCode","bankName","beneficiaryName","addressLine1","city","country"],"description":"A beneficiary field to correct. `beneficiaryName` is `firstName` and\n`lastName` for an individual, `businessName` for a business.","uniqueKey":"oneOf.3.requiredActions.items.[INDEX].oneOf.1.fields.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"The fields to correct. Only these are read from your answer.","isRequired":true,"uniqueKey":"oneOf.3.requiredActions.items.[INDEX].oneOf.1.fields","typeLabel":"enum\u003cstring>[]"},"note":{"type":"string","description":"What operations ask you to correct, in their words.","isRequired":true,"uniqueKey":"oneOf.3.requiredActions.items.[INDEX].oneOf.1.note","typeLabel":"string"}},"uniqueKey":"oneOf.3.requiredActions.items.[INDEX].oneOf.1","typeLabel":"Beneficiary details · object"}],"uniqueKey":"oneOf.3.requiredActions.items.[INDEX]","typeLabel":"Document · object | Beneficiary details · object"},"description":"What you must still provide. While `status` is `ACTION_REQUIRED`: the\ndocuments to upload. On a `LOCKED` fiat payout waiting for corrected details: one\n`beneficiary_details` action with the fields to correct. Empty otherwise.","isRequired":true,"uniqueKey":"oneOf.3.requiredActions","typeLabel":"(Document · object | Beneficiary details · object)[]"},"createdAt":{"type":"string","description":"When the transaction was created (platform clock).","isRequired":true,"uniqueKey":"oneOf.3.createdAt","typeLabel":"string"},"updatedAt":{"type":"string","description":"When the transaction was last updated.","isRequired":true,"uniqueKey":"oneOf.3.updatedAt","typeLabel":"string"},"type":{"type":"string","enum":["FIAT_PAYOUT"],"isRequired":true,"uniqueKey":"oneOf.3.type","typeLabel":"enum\u003cstring>"},"details":{"type":"object","required":["beneficiaryId","method","bankName","swiftCode","accountNumber","iban","currency","country","swiftUetr"],"properties":{"beneficiaryId":{"type":"string","description":"Beneficiary the payout was sent to.","isRequired":true,"uniqueKey":"oneOf.3.details.beneficiaryId","typeLabel":"string"},"method":{"type":"string","description":"Method (e.g. `WIRE`).","isRequired":true,"uniqueKey":"oneOf.3.details.method","typeLabel":"string"},"bankName":{"type":"string","description":"Receiving bank name.","isRequired":true,"uniqueKey":"oneOf.3.details.bankName","typeLabel":"string"},"swiftCode":{"oneOf":[{"type":"string","description":"Receiving bank SWIFT/BIC.","isRequired":true,"uniqueKey":"oneOf.3.details.swiftCode.oneOf.0","typeLabel":"string"},{"type":"null","description":"Receiving bank SWIFT/BIC.","isRequired":true,"uniqueKey":"oneOf.3.details.swiftCode.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.3.details.swiftCode","typeLabel":"string | null"},"accountNumber":{"oneOf":[{"type":"string","description":"Account number.","isRequired":true,"uniqueKey":"oneOf.3.details.accountNumber.oneOf.0","typeLabel":"string"},{"type":"null","description":"Account number.","isRequired":true,"uniqueKey":"oneOf.3.details.accountNumber.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.3.details.accountNumber","typeLabel":"string | null"},"iban":{"oneOf":[{"type":"string","description":"IBAN.","isRequired":true,"uniqueKey":"oneOf.3.details.iban.oneOf.0","typeLabel":"string"},{"type":"null","description":"IBAN.","isRequired":true,"uniqueKey":"oneOf.3.details.iban.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.3.details.iban","typeLabel":"string | null"},"currency":{"type":"string","description":"Currency.","isRequired":true,"uniqueKey":"oneOf.3.details.currency","typeLabel":"string"},"country":{"oneOf":[{"type":"string","description":"Country code of the receiving bank.","isRequired":true,"uniqueKey":"oneOf.3.details.country.oneOf.0","typeLabel":"string"},{"type":"null","description":"Country code of the receiving bank.","isRequired":true,"uniqueKey":"oneOf.3.details.country.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.3.details.country","typeLabel":"string | null"},"swiftUetr":{"oneOf":[{"type":"string","description":"SWIFT's end-to-end reference (UETR) for the wire, once the bank has sent it.\n\nThis is the handle a correspondent bank recognises, so it is what lets you or\nyour recipient trace the payment downstream. Null until the payout settles,\nand on rails that have no SWIFT leg.\n\nOnce the payout is `COMPLETED` and this is set, the bank's SWIFT copy can be\ndownloaded with `GET /v1/transactions/{transactionId}/swift-copy`.","isRequired":true,"uniqueKey":"oneOf.3.details.swiftUetr.oneOf.0","typeLabel":"string"},{"type":"null","description":"SWIFT's end-to-end reference (UETR) for the wire, once the bank has sent it.\n\nThis is the handle a correspondent bank recognises, so it is what lets you or\nyour recipient trace the payment downstream. Null until the payout settles,\nand on rails that have no SWIFT leg.\n\nOnce the payout is `COMPLETED` and this is set, the bank's SWIFT copy can be\ndownloaded with `GET /v1/transactions/{transactionId}/swift-copy`.","isRequired":true,"uniqueKey":"oneOf.3.details.swiftUetr.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.3.details.swiftUetr","typeLabel":"string | null"}},"description":"Fiat withdrawal (SWIFT wire) details.","isRequired":true,"uniqueKey":"oneOf.3.details","typeLabel":"object"}},"uniqueKey":"oneOf.3","typeLabel":"Fiat payout · object"},{"type":"object","title":"Trade","description":"A transaction, discriminated by `type`. Use the `type` field to narrow the\n`details` payload — each variant has a different shape. The envelope\n(status, amount, asset, fee, timestamps) is uniform across variants.\n\nVariants:\n - `CRYPTO_PAYIN` → `details` is `TransactionCryptoPayinDetails`\n - `CRYPTO_PAYOUT` → `details` is `TransactionCryptoPayoutDetails`\n - `FIAT_PAYIN` → `details` is `TransactionFiatPayinDetails`\n - `FIAT_PAYOUT` → `details` is `TransactionFiatPayoutDetails`\n - `TRADE` → `details` is `TransactionTradeDetails`\n - `TRANSFER` → `details` is `TransactionTransferDetails`\n - `NXOSNET_TRANSFER` → `details` is `TransactionNxosnetTransferDetails`\n - `CREDIT_ADJUSTMENT` → `details` is `TransactionCreditAdjustmentDetails`\n - `COMMISSION` → `details` is `TransactionCommissionDetails`\n - `DEBIT_ADJUSTMENT` → `details` is `TransactionDebitAdjustmentDetails`","required":["type","details","object","transactionId","accountId","status","description","tags","amount","asset","fee","requiredActions","createdAt","updatedAt"],"properties":{"object":{"type":"string","enum":["transaction"],"description":"Object type. Always `transaction`.","isRequired":true,"uniqueKey":"oneOf.4.object","typeLabel":"enum\u003cstring>"},"transactionId":{"type":"string","description":"Unique transaction identifier.","isRequired":true,"uniqueKey":"oneOf.4.transactionId","typeLabel":"string"},"accountId":{"type":"string","description":"Account this transaction belongs to. Always one of your organization's accounts (the listing query enforces ownership).","isRequired":true,"uniqueKey":"oneOf.4.accountId","typeLabel":"string"},"status":{"type":"string","description":"Current status. See `TransactionStatus` for transitions.","enum":["EXPECTED","ACTION_REQUIRED","LOCKED","COMPLETED","DECLINED","REFUNDED"],"isRequired":true,"uniqueKey":"oneOf.4.status","typeLabel":"enum\u003cstring>"},"description":{"oneOf":[{"type":"string","description":"Optional human-readable description.","isRequired":true,"uniqueKey":"oneOf.4.description.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional human-readable description.","isRequired":true,"uniqueKey":"oneOf.4.description.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.4.description","typeLabel":"string | null"},"tags":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.4.tags.items.[INDEX]","typeLabel":"string"},"description":"Free-form tags set at create time (e.g. `[\"crypto_payout\", \"ethereum_mainnet\"]`).","isRequired":true,"uniqueKey":"oneOf.4.tags","typeLabel":"string[]"},"amount":{"oneOf":[{"type":"string","description":"Primary amount in major units. For most types this is the amount the\ncustomer's account moved by. For TRADE this is null — trades have two\ndistinct assets in play; see `details.from` and `details.to` instead.","isRequired":true,"uniqueKey":"oneOf.4.amount.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"oneOf.4.amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.4.amount","typeLabel":"string | null"},"asset":{"oneOf":[{"type":"string","description":"Asset code of the primary amount. Null for TRADE — see `details.from` / `details.to`.","isRequired":true,"uniqueKey":"oneOf.4.asset.oneOf.0","typeLabel":"string"},{"type":"null","description":"Asset code of the primary amount. Null for TRADE — see `details.from` / `details.to`.","isRequired":true,"uniqueKey":"oneOf.4.asset.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.4.asset","typeLabel":"string | null"},"fee":{"type":"object","description":"Service-fee breakdown. Always populated; every component is zero when no service fee applied. Note: trade spread fees are NOT here — they live in `details.spread` on TRADE transactions.","required":["fixed","bps","bpsAmount","total","asset"],"example":{"fixed":"50.00","bps":0,"bpsAmount":"0.00","total":"50.00","asset":"USD"},"properties":{"fixed":{"type":"string","description":"Flat component charged regardless of the principal. Zero when the schedule has no fixed component.","isRequired":true,"uniqueKey":"oneOf.4.fee.fixed","typeLabel":"string"},"bps":{"type":"integer","format":"int32","description":"Rate applied to the principal, in basis points (1 bp = 0.01%, so 50 bps = 0.5%). Zero when the schedule has no rate component.","isRequired":true,"uniqueKey":"oneOf.4.fee.bps","typeLabel":"integer\u003cint32>"},"bpsAmount":{"type":"string","description":"Rate-based component, derived from `bps` and the principal and rounded at charge time. Zero when `bps` is zero.","isRequired":true,"uniqueKey":"oneOf.4.fee.bpsAmount","typeLabel":"string"},"total":{"type":"string","description":"Total fee charged: `fixed + bpsAmount`. The single number surfaced to customers as \"Fee\".","isRequired":true,"uniqueKey":"oneOf.4.fee.total","typeLabel":"string"},"asset":{"type":"string","description":"Asset code the fee is denominated in. Always matches the transaction's principal asset — fees are never FX-converted.","isRequired":true,"uniqueKey":"oneOf.4.fee.asset","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.fee","typeLabel":"object"},"requiredActions":{"type":"array","items":{"oneOf":[{"type":"object","title":"Document","description":"Something you must provide before the transaction can go on: a document for a held transaction, or the beneficiary details of a payout waiting to be sent.","required":["type","holdId"],"properties":{"type":{"type":"string","description":"The document type to upload.","enum":["invoice","source_of_funds","counterparty_details"],"isRequired":true,"uniqueKey":"oneOf.4.requiredActions.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"holdId":{"type":"string","description":"The hold this document is for.","isRequired":true,"uniqueKey":"oneOf.4.requiredActions.items.[INDEX].oneOf.0.holdId","typeLabel":"string"}},"uniqueKey":"oneOf.4.requiredActions.items.[INDEX].oneOf.0","typeLabel":"Document · object"},{"type":"object","title":"Beneficiary details","description":"Something you must provide before the transaction can go on: a document for a held transaction, or the beneficiary details of a payout waiting to be sent.","required":["type","fixRequestId","fields","note"],"example":{"type":"beneficiary_details","fixRequestId":"pfix_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4","fields":["iban"],"note":"Our bank needs the recipient's IBAN for UK payouts. Please add it exactly as it appears on their bank statement."},"properties":{"type":{"type":"string","enum":["beneficiary_details"],"description":"Always `beneficiary_details`.","isRequired":true,"uniqueKey":"oneOf.4.requiredActions.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"fixRequestId":{"type":"string","description":"The correction request this action answers.","isRequired":true,"uniqueKey":"oneOf.4.requiredActions.items.[INDEX].oneOf.1.fixRequestId","typeLabel":"string"},"fields":{"type":"array","items":{"type":"string","enum":["iban","accountNumber","swiftCode","bankName","beneficiaryName","addressLine1","city","country"],"description":"A beneficiary field to correct. `beneficiaryName` is `firstName` and\n`lastName` for an individual, `businessName` for a business.","uniqueKey":"oneOf.4.requiredActions.items.[INDEX].oneOf.1.fields.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"The fields to correct. Only these are read from your answer.","isRequired":true,"uniqueKey":"oneOf.4.requiredActions.items.[INDEX].oneOf.1.fields","typeLabel":"enum\u003cstring>[]"},"note":{"type":"string","description":"What operations ask you to correct, in their words.","isRequired":true,"uniqueKey":"oneOf.4.requiredActions.items.[INDEX].oneOf.1.note","typeLabel":"string"}},"uniqueKey":"oneOf.4.requiredActions.items.[INDEX].oneOf.1","typeLabel":"Beneficiary details · object"}],"uniqueKey":"oneOf.4.requiredActions.items.[INDEX]","typeLabel":"Document · object | Beneficiary details · object"},"description":"What you must still provide. While `status` is `ACTION_REQUIRED`: the\ndocuments to upload. On a `LOCKED` fiat payout waiting for corrected details: one\n`beneficiary_details` action with the fields to correct. Empty otherwise.","isRequired":true,"uniqueKey":"oneOf.4.requiredActions","typeLabel":"(Document · object | Beneficiary details · object)[]"},"createdAt":{"type":"string","description":"When the transaction was created (platform clock).","isRequired":true,"uniqueKey":"oneOf.4.createdAt","typeLabel":"string"},"updatedAt":{"type":"string","description":"When the transaction was last updated.","isRequired":true,"uniqueKey":"oneOf.4.updatedAt","typeLabel":"string"},"type":{"type":"string","enum":["TRADE"],"isRequired":true,"uniqueKey":"oneOf.4.type","typeLabel":"enum\u003cstring>"},"details":{"type":"object","required":["from","to","spread","quoteId","appliedRate"],"properties":{"from":{"type":"object","description":"Source money — what the user spent.","required":["amount","asset"],"properties":{"amount":{"type":"string","description":"Amount in major units (e.g. `\"10.50\"`).","isRequired":true,"uniqueKey":"oneOf.4.details.from.amount","typeLabel":"string"},"asset":{"type":"string","description":"Asset code (e.g. `USDC`, `USD`, `EUR`).","isRequired":true,"uniqueKey":"oneOf.4.details.from.asset","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.details.from","typeLabel":"object"},"to":{"type":"object","description":"Destination money — what the user received.","required":["amount","asset"],"properties":{"amount":{"type":"string","description":"Amount in major units (e.g. `\"10.50\"`).","isRequired":true,"uniqueKey":"oneOf.4.details.to.amount","typeLabel":"string"},"asset":{"type":"string","description":"Asset code (e.g. `USDC`, `USD`, `EUR`).","isRequired":true,"uniqueKey":"oneOf.4.details.to.asset","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.details.to","typeLabel":"object"},"spread":{"oneOf":[{"type":"object","description":"Spread fee charged on this trade, in the source asset. Null when no spread applied.","required":["amount","asset"],"properties":{"amount":{"type":"string","description":"Amount in major units (e.g. `\"10.50\"`).","isRequired":true,"uniqueKey":"oneOf.4.details.spread.oneOf.0.amount","typeLabel":"string"},"asset":{"type":"string","description":"Asset code (e.g. `USDC`, `USD`, `EUR`).","isRequired":true,"uniqueKey":"oneOf.4.details.spread.oneOf.0.asset","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.details.spread.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"oneOf.4.details.spread.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.4.details.spread","typeLabel":"object | null"},"quoteId":{"oneOf":[{"type":"string","description":"Quote ID this trade was executed against. Null if the trade was created outside the quote flow.","isRequired":true,"uniqueKey":"oneOf.4.details.quoteId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Quote ID this trade was executed against. Null if the trade was created outside the quote flow.","isRequired":true,"uniqueKey":"oneOf.4.details.quoteId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.4.details.quoteId","typeLabel":"string | null"},"appliedRate":{"oneOf":[{"type":"string","description":"Applied conversion rate, as a decimal string (e.g. `\"1.0850\"` for EUR→USD). Always `from / to` in the natural direction.","isRequired":true,"uniqueKey":"oneOf.4.details.appliedRate.oneOf.0","typeLabel":"string"},{"type":"null","description":"Applied conversion rate, as a decimal string (e.g. `\"1.0850\"` for EUR→USD). Always `from / to` in the natural direction.","isRequired":true,"uniqueKey":"oneOf.4.details.appliedRate.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.4.details.appliedRate","typeLabel":"string | null"}},"description":"Trade (swap) details — currency conversion against the platform's quoted rate.\n\nTrades have two distinct assets in play, so amounts are nested as `Money`\nobjects rather than flat `amount` + `asset` pairs:\n - `from` — what the user spent\n - `to` — what the user received\n - `spread` — fee charged for the trade (in the source asset)\n\nNote: the envelope-level `amount` and `asset` fields are NULL on trades —\nthere's no single principal. Use `details.from` and `details.to` instead.\nThe envelope-level `fee` (TransactionFee) is for service fees and stays\nzero on trades; the trade economics live entirely in `details.spread`.","isRequired":true,"uniqueKey":"oneOf.4.details","typeLabel":"object"}},"uniqueKey":"oneOf.4","typeLabel":"Trade · object"},{"type":"object","title":"Transfer","description":"A transaction, discriminated by `type`. Use the `type` field to narrow the\n`details` payload — each variant has a different shape. The envelope\n(status, amount, asset, fee, timestamps) is uniform across variants.\n\nVariants:\n - `CRYPTO_PAYIN` → `details` is `TransactionCryptoPayinDetails`\n - `CRYPTO_PAYOUT` → `details` is `TransactionCryptoPayoutDetails`\n - `FIAT_PAYIN` → `details` is `TransactionFiatPayinDetails`\n - `FIAT_PAYOUT` → `details` is `TransactionFiatPayoutDetails`\n - `TRADE` → `details` is `TransactionTradeDetails`\n - `TRANSFER` → `details` is `TransactionTransferDetails`\n - `NXOSNET_TRANSFER` → `details` is `TransactionNxosnetTransferDetails`\n - `CREDIT_ADJUSTMENT` → `details` is `TransactionCreditAdjustmentDetails`\n - `COMMISSION` → `details` is `TransactionCommissionDetails`\n - `DEBIT_ADJUSTMENT` → `details` is `TransactionDebitAdjustmentDetails`","required":["type","details","object","transactionId","accountId","status","description","tags","amount","asset","fee","requiredActions","createdAt","updatedAt"],"properties":{"object":{"type":"string","enum":["transaction"],"description":"Object type. Always `transaction`.","isRequired":true,"uniqueKey":"oneOf.5.object","typeLabel":"enum\u003cstring>"},"transactionId":{"type":"string","description":"Unique transaction identifier.","isRequired":true,"uniqueKey":"oneOf.5.transactionId","typeLabel":"string"},"accountId":{"type":"string","description":"Account this transaction belongs to. Always one of your organization's accounts (the listing query enforces ownership).","isRequired":true,"uniqueKey":"oneOf.5.accountId","typeLabel":"string"},"status":{"type":"string","description":"Current status. See `TransactionStatus` for transitions.","enum":["EXPECTED","ACTION_REQUIRED","LOCKED","COMPLETED","DECLINED","REFUNDED"],"isRequired":true,"uniqueKey":"oneOf.5.status","typeLabel":"enum\u003cstring>"},"description":{"oneOf":[{"type":"string","description":"Optional human-readable description.","isRequired":true,"uniqueKey":"oneOf.5.description.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional human-readable description.","isRequired":true,"uniqueKey":"oneOf.5.description.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.5.description","typeLabel":"string | null"},"tags":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.5.tags.items.[INDEX]","typeLabel":"string"},"description":"Free-form tags set at create time (e.g. `[\"crypto_payout\", \"ethereum_mainnet\"]`).","isRequired":true,"uniqueKey":"oneOf.5.tags","typeLabel":"string[]"},"amount":{"oneOf":[{"type":"string","description":"Primary amount in major units. For most types this is the amount the\ncustomer's account moved by. For TRADE this is null — trades have two\ndistinct assets in play; see `details.from` and `details.to` instead.","isRequired":true,"uniqueKey":"oneOf.5.amount.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"oneOf.5.amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.5.amount","typeLabel":"string | null"},"asset":{"oneOf":[{"type":"string","description":"Asset code of the primary amount. Null for TRADE — see `details.from` / `details.to`.","isRequired":true,"uniqueKey":"oneOf.5.asset.oneOf.0","typeLabel":"string"},{"type":"null","description":"Asset code of the primary amount. Null for TRADE — see `details.from` / `details.to`.","isRequired":true,"uniqueKey":"oneOf.5.asset.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.5.asset","typeLabel":"string | null"},"fee":{"type":"object","description":"Service-fee breakdown. Always populated; every component is zero when no service fee applied. Note: trade spread fees are NOT here — they live in `details.spread` on TRADE transactions.","required":["fixed","bps","bpsAmount","total","asset"],"example":{"fixed":"50.00","bps":0,"bpsAmount":"0.00","total":"50.00","asset":"USD"},"properties":{"fixed":{"type":"string","description":"Flat component charged regardless of the principal. Zero when the schedule has no fixed component.","isRequired":true,"uniqueKey":"oneOf.5.fee.fixed","typeLabel":"string"},"bps":{"type":"integer","format":"int32","description":"Rate applied to the principal, in basis points (1 bp = 0.01%, so 50 bps = 0.5%). Zero when the schedule has no rate component.","isRequired":true,"uniqueKey":"oneOf.5.fee.bps","typeLabel":"integer\u003cint32>"},"bpsAmount":{"type":"string","description":"Rate-based component, derived from `bps` and the principal and rounded at charge time. Zero when `bps` is zero.","isRequired":true,"uniqueKey":"oneOf.5.fee.bpsAmount","typeLabel":"string"},"total":{"type":"string","description":"Total fee charged: `fixed + bpsAmount`. The single number surfaced to customers as \"Fee\".","isRequired":true,"uniqueKey":"oneOf.5.fee.total","typeLabel":"string"},"asset":{"type":"string","description":"Asset code the fee is denominated in. Always matches the transaction's principal asset — fees are never FX-converted.","isRequired":true,"uniqueKey":"oneOf.5.fee.asset","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.5.fee","typeLabel":"object"},"requiredActions":{"type":"array","items":{"oneOf":[{"type":"object","title":"Document","description":"Something you must provide before the transaction can go on: a document for a held transaction, or the beneficiary details of a payout waiting to be sent.","required":["type","holdId"],"properties":{"type":{"type":"string","description":"The document type to upload.","enum":["invoice","source_of_funds","counterparty_details"],"isRequired":true,"uniqueKey":"oneOf.5.requiredActions.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"holdId":{"type":"string","description":"The hold this document is for.","isRequired":true,"uniqueKey":"oneOf.5.requiredActions.items.[INDEX].oneOf.0.holdId","typeLabel":"string"}},"uniqueKey":"oneOf.5.requiredActions.items.[INDEX].oneOf.0","typeLabel":"Document · object"},{"type":"object","title":"Beneficiary details","description":"Something you must provide before the transaction can go on: a document for a held transaction, or the beneficiary details of a payout waiting to be sent.","required":["type","fixRequestId","fields","note"],"example":{"type":"beneficiary_details","fixRequestId":"pfix_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4","fields":["iban"],"note":"Our bank needs the recipient's IBAN for UK payouts. Please add it exactly as it appears on their bank statement."},"properties":{"type":{"type":"string","enum":["beneficiary_details"],"description":"Always `beneficiary_details`.","isRequired":true,"uniqueKey":"oneOf.5.requiredActions.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"fixRequestId":{"type":"string","description":"The correction request this action answers.","isRequired":true,"uniqueKey":"oneOf.5.requiredActions.items.[INDEX].oneOf.1.fixRequestId","typeLabel":"string"},"fields":{"type":"array","items":{"type":"string","enum":["iban","accountNumber","swiftCode","bankName","beneficiaryName","addressLine1","city","country"],"description":"A beneficiary field to correct. `beneficiaryName` is `firstName` and\n`lastName` for an individual, `businessName` for a business.","uniqueKey":"oneOf.5.requiredActions.items.[INDEX].oneOf.1.fields.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"The fields to correct. Only these are read from your answer.","isRequired":true,"uniqueKey":"oneOf.5.requiredActions.items.[INDEX].oneOf.1.fields","typeLabel":"enum\u003cstring>[]"},"note":{"type":"string","description":"What operations ask you to correct, in their words.","isRequired":true,"uniqueKey":"oneOf.5.requiredActions.items.[INDEX].oneOf.1.note","typeLabel":"string"}},"uniqueKey":"oneOf.5.requiredActions.items.[INDEX].oneOf.1","typeLabel":"Beneficiary details · object"}],"uniqueKey":"oneOf.5.requiredActions.items.[INDEX]","typeLabel":"Document · object | Beneficiary details · object"},"description":"What you must still provide. While `status` is `ACTION_REQUIRED`: the\ndocuments to upload. On a `LOCKED` fiat payout waiting for corrected details: one\n`beneficiary_details` action with the fields to correct. Empty otherwise.","isRequired":true,"uniqueKey":"oneOf.5.requiredActions","typeLabel":"(Document · object | Beneficiary details · object)[]"},"createdAt":{"type":"string","description":"When the transaction was created (platform clock).","isRequired":true,"uniqueKey":"oneOf.5.createdAt","typeLabel":"string"},"updatedAt":{"type":"string","description":"When the transaction was last updated.","isRequired":true,"uniqueKey":"oneOf.5.updatedAt","typeLabel":"string"},"type":{"type":"string","enum":["TRANSFER"],"isRequired":true,"uniqueKey":"oneOf.5.type","typeLabel":"enum\u003cstring>"},"details":{"type":"object","required":["transferType"],"properties":{"transferType":{"type":"string","description":"Subtype of internal transfer (free-form string, used by ops tooling).","isRequired":true,"uniqueKey":"oneOf.5.details.transferType","typeLabel":"string"}},"description":"Internal transfer details (between accounts within the platform).","isRequired":true,"uniqueKey":"oneOf.5.details","typeLabel":"object"}},"uniqueKey":"oneOf.5","typeLabel":"Transfer · object"},{"type":"object","title":"Nxosnet transfer","description":"A transaction, discriminated by `type`. Use the `type` field to narrow the\n`details` payload — each variant has a different shape. The envelope\n(status, amount, asset, fee, timestamps) is uniform across variants.\n\nVariants:\n - `CRYPTO_PAYIN` → `details` is `TransactionCryptoPayinDetails`\n - `CRYPTO_PAYOUT` → `details` is `TransactionCryptoPayoutDetails`\n - `FIAT_PAYIN` → `details` is `TransactionFiatPayinDetails`\n - `FIAT_PAYOUT` → `details` is `TransactionFiatPayoutDetails`\n - `TRADE` → `details` is `TransactionTradeDetails`\n - `TRANSFER` → `details` is `TransactionTransferDetails`\n - `NXOSNET_TRANSFER` → `details` is `TransactionNxosnetTransferDetails`\n - `CREDIT_ADJUSTMENT` → `details` is `TransactionCreditAdjustmentDetails`\n - `COMMISSION` → `details` is `TransactionCommissionDetails`\n - `DEBIT_ADJUSTMENT` → `details` is `TransactionDebitAdjustmentDetails`","required":["type","details","object","transactionId","accountId","status","description","tags","amount","asset","fee","requiredActions","createdAt","updatedAt"],"properties":{"object":{"type":"string","enum":["transaction"],"description":"Object type. Always `transaction`.","isRequired":true,"uniqueKey":"oneOf.6.object","typeLabel":"enum\u003cstring>"},"transactionId":{"type":"string","description":"Unique transaction identifier.","isRequired":true,"uniqueKey":"oneOf.6.transactionId","typeLabel":"string"},"accountId":{"type":"string","description":"Account this transaction belongs to. Always one of your organization's accounts (the listing query enforces ownership).","isRequired":true,"uniqueKey":"oneOf.6.accountId","typeLabel":"string"},"status":{"type":"string","description":"Current status. See `TransactionStatus` for transitions.","enum":["EXPECTED","ACTION_REQUIRED","LOCKED","COMPLETED","DECLINED","REFUNDED"],"isRequired":true,"uniqueKey":"oneOf.6.status","typeLabel":"enum\u003cstring>"},"description":{"oneOf":[{"type":"string","description":"Optional human-readable description.","isRequired":true,"uniqueKey":"oneOf.6.description.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional human-readable description.","isRequired":true,"uniqueKey":"oneOf.6.description.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.6.description","typeLabel":"string | null"},"tags":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.6.tags.items.[INDEX]","typeLabel":"string"},"description":"Free-form tags set at create time (e.g. `[\"crypto_payout\", \"ethereum_mainnet\"]`).","isRequired":true,"uniqueKey":"oneOf.6.tags","typeLabel":"string[]"},"amount":{"oneOf":[{"type":"string","description":"Primary amount in major units. For most types this is the amount the\ncustomer's account moved by. For TRADE this is null — trades have two\ndistinct assets in play; see `details.from` and `details.to` instead.","isRequired":true,"uniqueKey":"oneOf.6.amount.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"oneOf.6.amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.6.amount","typeLabel":"string | null"},"asset":{"oneOf":[{"type":"string","description":"Asset code of the primary amount. Null for TRADE — see `details.from` / `details.to`.","isRequired":true,"uniqueKey":"oneOf.6.asset.oneOf.0","typeLabel":"string"},{"type":"null","description":"Asset code of the primary amount. Null for TRADE — see `details.from` / `details.to`.","isRequired":true,"uniqueKey":"oneOf.6.asset.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.6.asset","typeLabel":"string | null"},"fee":{"type":"object","description":"Service-fee breakdown. Always populated; every component is zero when no service fee applied. Note: trade spread fees are NOT here — they live in `details.spread` on TRADE transactions.","required":["fixed","bps","bpsAmount","total","asset"],"example":{"fixed":"50.00","bps":0,"bpsAmount":"0.00","total":"50.00","asset":"USD"},"properties":{"fixed":{"type":"string","description":"Flat component charged regardless of the principal. Zero when the schedule has no fixed component.","isRequired":true,"uniqueKey":"oneOf.6.fee.fixed","typeLabel":"string"},"bps":{"type":"integer","format":"int32","description":"Rate applied to the principal, in basis points (1 bp = 0.01%, so 50 bps = 0.5%). Zero when the schedule has no rate component.","isRequired":true,"uniqueKey":"oneOf.6.fee.bps","typeLabel":"integer\u003cint32>"},"bpsAmount":{"type":"string","description":"Rate-based component, derived from `bps` and the principal and rounded at charge time. Zero when `bps` is zero.","isRequired":true,"uniqueKey":"oneOf.6.fee.bpsAmount","typeLabel":"string"},"total":{"type":"string","description":"Total fee charged: `fixed + bpsAmount`. The single number surfaced to customers as \"Fee\".","isRequired":true,"uniqueKey":"oneOf.6.fee.total","typeLabel":"string"},"asset":{"type":"string","description":"Asset code the fee is denominated in. Always matches the transaction's principal asset — fees are never FX-converted.","isRequired":true,"uniqueKey":"oneOf.6.fee.asset","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.6.fee","typeLabel":"object"},"requiredActions":{"type":"array","items":{"oneOf":[{"type":"object","title":"Document","description":"Something you must provide before the transaction can go on: a document for a held transaction, or the beneficiary details of a payout waiting to be sent.","required":["type","holdId"],"properties":{"type":{"type":"string","description":"The document type to upload.","enum":["invoice","source_of_funds","counterparty_details"],"isRequired":true,"uniqueKey":"oneOf.6.requiredActions.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"holdId":{"type":"string","description":"The hold this document is for.","isRequired":true,"uniqueKey":"oneOf.6.requiredActions.items.[INDEX].oneOf.0.holdId","typeLabel":"string"}},"uniqueKey":"oneOf.6.requiredActions.items.[INDEX].oneOf.0","typeLabel":"Document · object"},{"type":"object","title":"Beneficiary details","description":"Something you must provide before the transaction can go on: a document for a held transaction, or the beneficiary details of a payout waiting to be sent.","required":["type","fixRequestId","fields","note"],"example":{"type":"beneficiary_details","fixRequestId":"pfix_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4","fields":["iban"],"note":"Our bank needs the recipient's IBAN for UK payouts. Please add it exactly as it appears on their bank statement."},"properties":{"type":{"type":"string","enum":["beneficiary_details"],"description":"Always `beneficiary_details`.","isRequired":true,"uniqueKey":"oneOf.6.requiredActions.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"fixRequestId":{"type":"string","description":"The correction request this action answers.","isRequired":true,"uniqueKey":"oneOf.6.requiredActions.items.[INDEX].oneOf.1.fixRequestId","typeLabel":"string"},"fields":{"type":"array","items":{"type":"string","enum":["iban","accountNumber","swiftCode","bankName","beneficiaryName","addressLine1","city","country"],"description":"A beneficiary field to correct. `beneficiaryName` is `firstName` and\n`lastName` for an individual, `businessName` for a business.","uniqueKey":"oneOf.6.requiredActions.items.[INDEX].oneOf.1.fields.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"The fields to correct. Only these are read from your answer.","isRequired":true,"uniqueKey":"oneOf.6.requiredActions.items.[INDEX].oneOf.1.fields","typeLabel":"enum\u003cstring>[]"},"note":{"type":"string","description":"What operations ask you to correct, in their words.","isRequired":true,"uniqueKey":"oneOf.6.requiredActions.items.[INDEX].oneOf.1.note","typeLabel":"string"}},"uniqueKey":"oneOf.6.requiredActions.items.[INDEX].oneOf.1","typeLabel":"Beneficiary details · object"}],"uniqueKey":"oneOf.6.requiredActions.items.[INDEX]","typeLabel":"Document · object | Beneficiary details · object"},"description":"What you must still provide. While `status` is `ACTION_REQUIRED`: the\ndocuments to upload. On a `LOCKED` fiat payout waiting for corrected details: one\n`beneficiary_details` action with the fields to correct. Empty otherwise.","isRequired":true,"uniqueKey":"oneOf.6.requiredActions","typeLabel":"(Document · object | Beneficiary details · object)[]"},"createdAt":{"type":"string","description":"When the transaction was created (platform clock).","isRequired":true,"uniqueKey":"oneOf.6.createdAt","typeLabel":"string"},"updatedAt":{"type":"string","description":"When the transaction was last updated.","isRequired":true,"uniqueKey":"oneOf.6.updatedAt","typeLabel":"string"},"type":{"type":"string","enum":["NXOSNET_TRANSFER"],"isRequired":true,"uniqueKey":"oneOf.6.type","typeLabel":"enum\u003cstring>"},"details":{"type":"object","required":["beneficiaryId","targetHandle","targetOrganizationName","sourceHandle","sourceOrganizationName","note"],"properties":{"beneficiaryId":{"type":"string","description":"Beneficiary the transfer was sent to (sender side).","isRequired":true,"uniqueKey":"oneOf.6.details.beneficiaryId","typeLabel":"string"},"targetHandle":{"type":"string","description":"Recipient's NxosNet handle.","isRequired":true,"uniqueKey":"oneOf.6.details.targetHandle","typeLabel":"string"},"targetOrganizationName":{"oneOf":[{"type":"string","description":"Recipient organization's display name. Null if the recipient has hidden their org name.","isRequired":true,"uniqueKey":"oneOf.6.details.targetOrganizationName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Recipient organization's display name. Null if the recipient has hidden their org name.","isRequired":true,"uniqueKey":"oneOf.6.details.targetOrganizationName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.6.details.targetOrganizationName","typeLabel":"string | null"},"sourceHandle":{"oneOf":[{"type":"string","description":"Sender's NxosNet handle (recipient side).","isRequired":true,"uniqueKey":"oneOf.6.details.sourceHandle.oneOf.0","typeLabel":"string"},{"type":"null","description":"Sender's NxosNet handle (recipient side).","isRequired":true,"uniqueKey":"oneOf.6.details.sourceHandle.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.6.details.sourceHandle","typeLabel":"string | null"},"sourceOrganizationName":{"oneOf":[{"type":"string","description":"Sender organization's display name. Null if the sender has hidden their org name.","isRequired":true,"uniqueKey":"oneOf.6.details.sourceOrganizationName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Sender organization's display name. Null if the sender has hidden their org name.","isRequired":true,"uniqueKey":"oneOf.6.details.sourceOrganizationName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.6.details.sourceOrganizationName","typeLabel":"string | null"},"note":{"oneOf":[{"type":"string","description":"Free-form note attached to the transfer.","isRequired":true,"uniqueKey":"oneOf.6.details.note.oneOf.0","typeLabel":"string"},{"type":"null","description":"Free-form note attached to the transfer.","isRequired":true,"uniqueKey":"oneOf.6.details.note.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.6.details.note","typeLabel":"string | null"}},"description":"NxosNet transfer details — instant handle-based transfer between platform users.","isRequired":true,"uniqueKey":"oneOf.6.details","typeLabel":"object"}},"uniqueKey":"oneOf.6","typeLabel":"Nxosnet transfer · object"},{"type":"object","title":"Credit adjustment","description":"A transaction, discriminated by `type`. Use the `type` field to narrow the\n`details` payload — each variant has a different shape. The envelope\n(status, amount, asset, fee, timestamps) is uniform across variants.\n\nVariants:\n - `CRYPTO_PAYIN` → `details` is `TransactionCryptoPayinDetails`\n - `CRYPTO_PAYOUT` → `details` is `TransactionCryptoPayoutDetails`\n - `FIAT_PAYIN` → `details` is `TransactionFiatPayinDetails`\n - `FIAT_PAYOUT` → `details` is `TransactionFiatPayoutDetails`\n - `TRADE` → `details` is `TransactionTradeDetails`\n - `TRANSFER` → `details` is `TransactionTransferDetails`\n - `NXOSNET_TRANSFER` → `details` is `TransactionNxosnetTransferDetails`\n - `CREDIT_ADJUSTMENT` → `details` is `TransactionCreditAdjustmentDetails`\n - `COMMISSION` → `details` is `TransactionCommissionDetails`\n - `DEBIT_ADJUSTMENT` → `details` is `TransactionDebitAdjustmentDetails`","required":["type","details","object","transactionId","accountId","status","description","tags","amount","asset","fee","requiredActions","createdAt","updatedAt"],"properties":{"object":{"type":"string","enum":["transaction"],"description":"Object type. Always `transaction`.","isRequired":true,"uniqueKey":"oneOf.7.object","typeLabel":"enum\u003cstring>"},"transactionId":{"type":"string","description":"Unique transaction identifier.","isRequired":true,"uniqueKey":"oneOf.7.transactionId","typeLabel":"string"},"accountId":{"type":"string","description":"Account this transaction belongs to. Always one of your organization's accounts (the listing query enforces ownership).","isRequired":true,"uniqueKey":"oneOf.7.accountId","typeLabel":"string"},"status":{"type":"string","description":"Current status. See `TransactionStatus` for transitions.","enum":["EXPECTED","ACTION_REQUIRED","LOCKED","COMPLETED","DECLINED","REFUNDED"],"isRequired":true,"uniqueKey":"oneOf.7.status","typeLabel":"enum\u003cstring>"},"description":{"oneOf":[{"type":"string","description":"Optional human-readable description.","isRequired":true,"uniqueKey":"oneOf.7.description.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional human-readable description.","isRequired":true,"uniqueKey":"oneOf.7.description.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.7.description","typeLabel":"string | null"},"tags":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.7.tags.items.[INDEX]","typeLabel":"string"},"description":"Free-form tags set at create time (e.g. `[\"crypto_payout\", \"ethereum_mainnet\"]`).","isRequired":true,"uniqueKey":"oneOf.7.tags","typeLabel":"string[]"},"amount":{"oneOf":[{"type":"string","description":"Primary amount in major units. For most types this is the amount the\ncustomer's account moved by. For TRADE this is null — trades have two\ndistinct assets in play; see `details.from` and `details.to` instead.","isRequired":true,"uniqueKey":"oneOf.7.amount.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"oneOf.7.amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.7.amount","typeLabel":"string | null"},"asset":{"oneOf":[{"type":"string","description":"Asset code of the primary amount. Null for TRADE — see `details.from` / `details.to`.","isRequired":true,"uniqueKey":"oneOf.7.asset.oneOf.0","typeLabel":"string"},{"type":"null","description":"Asset code of the primary amount. Null for TRADE — see `details.from` / `details.to`.","isRequired":true,"uniqueKey":"oneOf.7.asset.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.7.asset","typeLabel":"string | null"},"fee":{"type":"object","description":"Service-fee breakdown. Always populated; every component is zero when no service fee applied. Note: trade spread fees are NOT here — they live in `details.spread` on TRADE transactions.","required":["fixed","bps","bpsAmount","total","asset"],"example":{"fixed":"50.00","bps":0,"bpsAmount":"0.00","total":"50.00","asset":"USD"},"properties":{"fixed":{"type":"string","description":"Flat component charged regardless of the principal. Zero when the schedule has no fixed component.","isRequired":true,"uniqueKey":"oneOf.7.fee.fixed","typeLabel":"string"},"bps":{"type":"integer","format":"int32","description":"Rate applied to the principal, in basis points (1 bp = 0.01%, so 50 bps = 0.5%). Zero when the schedule has no rate component.","isRequired":true,"uniqueKey":"oneOf.7.fee.bps","typeLabel":"integer\u003cint32>"},"bpsAmount":{"type":"string","description":"Rate-based component, derived from `bps` and the principal and rounded at charge time. Zero when `bps` is zero.","isRequired":true,"uniqueKey":"oneOf.7.fee.bpsAmount","typeLabel":"string"},"total":{"type":"string","description":"Total fee charged: `fixed + bpsAmount`. The single number surfaced to customers as \"Fee\".","isRequired":true,"uniqueKey":"oneOf.7.fee.total","typeLabel":"string"},"asset":{"type":"string","description":"Asset code the fee is denominated in. Always matches the transaction's principal asset — fees are never FX-converted.","isRequired":true,"uniqueKey":"oneOf.7.fee.asset","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.7.fee","typeLabel":"object"},"requiredActions":{"type":"array","items":{"oneOf":[{"type":"object","title":"Document","description":"Something you must provide before the transaction can go on: a document for a held transaction, or the beneficiary details of a payout waiting to be sent.","required":["type","holdId"],"properties":{"type":{"type":"string","description":"The document type to upload.","enum":["invoice","source_of_funds","counterparty_details"],"isRequired":true,"uniqueKey":"oneOf.7.requiredActions.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"holdId":{"type":"string","description":"The hold this document is for.","isRequired":true,"uniqueKey":"oneOf.7.requiredActions.items.[INDEX].oneOf.0.holdId","typeLabel":"string"}},"uniqueKey":"oneOf.7.requiredActions.items.[INDEX].oneOf.0","typeLabel":"Document · object"},{"type":"object","title":"Beneficiary details","description":"Something you must provide before the transaction can go on: a document for a held transaction, or the beneficiary details of a payout waiting to be sent.","required":["type","fixRequestId","fields","note"],"example":{"type":"beneficiary_details","fixRequestId":"pfix_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4","fields":["iban"],"note":"Our bank needs the recipient's IBAN for UK payouts. Please add it exactly as it appears on their bank statement."},"properties":{"type":{"type":"string","enum":["beneficiary_details"],"description":"Always `beneficiary_details`.","isRequired":true,"uniqueKey":"oneOf.7.requiredActions.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"fixRequestId":{"type":"string","description":"The correction request this action answers.","isRequired":true,"uniqueKey":"oneOf.7.requiredActions.items.[INDEX].oneOf.1.fixRequestId","typeLabel":"string"},"fields":{"type":"array","items":{"type":"string","enum":["iban","accountNumber","swiftCode","bankName","beneficiaryName","addressLine1","city","country"],"description":"A beneficiary field to correct. `beneficiaryName` is `firstName` and\n`lastName` for an individual, `businessName` for a business.","uniqueKey":"oneOf.7.requiredActions.items.[INDEX].oneOf.1.fields.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"The fields to correct. Only these are read from your answer.","isRequired":true,"uniqueKey":"oneOf.7.requiredActions.items.[INDEX].oneOf.1.fields","typeLabel":"enum\u003cstring>[]"},"note":{"type":"string","description":"What operations ask you to correct, in their words.","isRequired":true,"uniqueKey":"oneOf.7.requiredActions.items.[INDEX].oneOf.1.note","typeLabel":"string"}},"uniqueKey":"oneOf.7.requiredActions.items.[INDEX].oneOf.1","typeLabel":"Beneficiary details · object"}],"uniqueKey":"oneOf.7.requiredActions.items.[INDEX]","typeLabel":"Document · object | Beneficiary details · object"},"description":"What you must still provide. While `status` is `ACTION_REQUIRED`: the\ndocuments to upload. On a `LOCKED` fiat payout waiting for corrected details: one\n`beneficiary_details` action with the fields to correct. Empty otherwise.","isRequired":true,"uniqueKey":"oneOf.7.requiredActions","typeLabel":"(Document · object | Beneficiary details · object)[]"},"createdAt":{"type":"string","description":"When the transaction was created (platform clock).","isRequired":true,"uniqueKey":"oneOf.7.createdAt","typeLabel":"string"},"updatedAt":{"type":"string","description":"When the transaction was last updated.","isRequired":true,"uniqueKey":"oneOf.7.updatedAt","typeLabel":"string"},"type":{"type":"string","enum":["CREDIT_ADJUSTMENT"],"isRequired":true,"uniqueKey":"oneOf.7.type","typeLabel":"enum\u003cstring>"},"details":{"type":"object","required":["kind","reason"],"properties":{"kind":{"type":"string","description":"Credit adjustment kind — analytics discriminator.","enum":["PROMO","APOLOGY","GOODWILL","CORRECTION"],"isRequired":true,"uniqueKey":"oneOf.7.details.kind","typeLabel":"enum\u003cstring>"},"reason":{"type":"string","description":"Human-readable reason shown on the customer's transaction history.","isRequired":true,"uniqueKey":"oneOf.7.details.reason","typeLabel":"string"}},"description":"Credit adjustment details — ex-gratia credit issued by the platform (promo, apology, goodwill, correction).","isRequired":true,"uniqueKey":"oneOf.7.details","typeLabel":"object"}},"uniqueKey":"oneOf.7","typeLabel":"Credit adjustment · object"},{"type":"object","title":"Commission","description":"A transaction, discriminated by `type`. Use the `type` field to narrow the\n`details` payload — each variant has a different shape. The envelope\n(status, amount, asset, fee, timestamps) is uniform across variants.\n\nVariants:\n - `CRYPTO_PAYIN` → `details` is `TransactionCryptoPayinDetails`\n - `CRYPTO_PAYOUT` → `details` is `TransactionCryptoPayoutDetails`\n - `FIAT_PAYIN` → `details` is `TransactionFiatPayinDetails`\n - `FIAT_PAYOUT` → `details` is `TransactionFiatPayoutDetails`\n - `TRADE` → `details` is `TransactionTradeDetails`\n - `TRANSFER` → `details` is `TransactionTransferDetails`\n - `NXOSNET_TRANSFER` → `details` is `TransactionNxosnetTransferDetails`\n - `CREDIT_ADJUSTMENT` → `details` is `TransactionCreditAdjustmentDetails`\n - `COMMISSION` → `details` is `TransactionCommissionDetails`\n - `DEBIT_ADJUSTMENT` → `details` is `TransactionDebitAdjustmentDetails`","required":["type","details","object","transactionId","accountId","status","description","tags","amount","asset","fee","requiredActions","createdAt","updatedAt"],"properties":{"object":{"type":"string","enum":["transaction"],"description":"Object type. Always `transaction`.","isRequired":true,"uniqueKey":"oneOf.8.object","typeLabel":"enum\u003cstring>"},"transactionId":{"type":"string","description":"Unique transaction identifier.","isRequired":true,"uniqueKey":"oneOf.8.transactionId","typeLabel":"string"},"accountId":{"type":"string","description":"Account this transaction belongs to. Always one of your organization's accounts (the listing query enforces ownership).","isRequired":true,"uniqueKey":"oneOf.8.accountId","typeLabel":"string"},"status":{"type":"string","description":"Current status. See `TransactionStatus` for transitions.","enum":["EXPECTED","ACTION_REQUIRED","LOCKED","COMPLETED","DECLINED","REFUNDED"],"isRequired":true,"uniqueKey":"oneOf.8.status","typeLabel":"enum\u003cstring>"},"description":{"oneOf":[{"type":"string","description":"Optional human-readable description.","isRequired":true,"uniqueKey":"oneOf.8.description.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional human-readable description.","isRequired":true,"uniqueKey":"oneOf.8.description.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.8.description","typeLabel":"string | null"},"tags":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.8.tags.items.[INDEX]","typeLabel":"string"},"description":"Free-form tags set at create time (e.g. `[\"crypto_payout\", \"ethereum_mainnet\"]`).","isRequired":true,"uniqueKey":"oneOf.8.tags","typeLabel":"string[]"},"amount":{"oneOf":[{"type":"string","description":"Primary amount in major units. For most types this is the amount the\ncustomer's account moved by. For TRADE this is null — trades have two\ndistinct assets in play; see `details.from` and `details.to` instead.","isRequired":true,"uniqueKey":"oneOf.8.amount.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"oneOf.8.amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.8.amount","typeLabel":"string | null"},"asset":{"oneOf":[{"type":"string","description":"Asset code of the primary amount. Null for TRADE — see `details.from` / `details.to`.","isRequired":true,"uniqueKey":"oneOf.8.asset.oneOf.0","typeLabel":"string"},{"type":"null","description":"Asset code of the primary amount. Null for TRADE — see `details.from` / `details.to`.","isRequired":true,"uniqueKey":"oneOf.8.asset.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.8.asset","typeLabel":"string | null"},"fee":{"type":"object","description":"Service-fee breakdown. Always populated; every component is zero when no service fee applied. Note: trade spread fees are NOT here — they live in `details.spread` on TRADE transactions.","required":["fixed","bps","bpsAmount","total","asset"],"example":{"fixed":"50.00","bps":0,"bpsAmount":"0.00","total":"50.00","asset":"USD"},"properties":{"fixed":{"type":"string","description":"Flat component charged regardless of the principal. Zero when the schedule has no fixed component.","isRequired":true,"uniqueKey":"oneOf.8.fee.fixed","typeLabel":"string"},"bps":{"type":"integer","format":"int32","description":"Rate applied to the principal, in basis points (1 bp = 0.01%, so 50 bps = 0.5%). Zero when the schedule has no rate component.","isRequired":true,"uniqueKey":"oneOf.8.fee.bps","typeLabel":"integer\u003cint32>"},"bpsAmount":{"type":"string","description":"Rate-based component, derived from `bps` and the principal and rounded at charge time. Zero when `bps` is zero.","isRequired":true,"uniqueKey":"oneOf.8.fee.bpsAmount","typeLabel":"string"},"total":{"type":"string","description":"Total fee charged: `fixed + bpsAmount`. The single number surfaced to customers as \"Fee\".","isRequired":true,"uniqueKey":"oneOf.8.fee.total","typeLabel":"string"},"asset":{"type":"string","description":"Asset code the fee is denominated in. Always matches the transaction's principal asset — fees are never FX-converted.","isRequired":true,"uniqueKey":"oneOf.8.fee.asset","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.8.fee","typeLabel":"object"},"requiredActions":{"type":"array","items":{"oneOf":[{"type":"object","title":"Document","description":"Something you must provide before the transaction can go on: a document for a held transaction, or the beneficiary details of a payout waiting to be sent.","required":["type","holdId"],"properties":{"type":{"type":"string","description":"The document type to upload.","enum":["invoice","source_of_funds","counterparty_details"],"isRequired":true,"uniqueKey":"oneOf.8.requiredActions.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"holdId":{"type":"string","description":"The hold this document is for.","isRequired":true,"uniqueKey":"oneOf.8.requiredActions.items.[INDEX].oneOf.0.holdId","typeLabel":"string"}},"uniqueKey":"oneOf.8.requiredActions.items.[INDEX].oneOf.0","typeLabel":"Document · object"},{"type":"object","title":"Beneficiary details","description":"Something you must provide before the transaction can go on: a document for a held transaction, or the beneficiary details of a payout waiting to be sent.","required":["type","fixRequestId","fields","note"],"example":{"type":"beneficiary_details","fixRequestId":"pfix_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4","fields":["iban"],"note":"Our bank needs the recipient's IBAN for UK payouts. Please add it exactly as it appears on their bank statement."},"properties":{"type":{"type":"string","enum":["beneficiary_details"],"description":"Always `beneficiary_details`.","isRequired":true,"uniqueKey":"oneOf.8.requiredActions.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"fixRequestId":{"type":"string","description":"The correction request this action answers.","isRequired":true,"uniqueKey":"oneOf.8.requiredActions.items.[INDEX].oneOf.1.fixRequestId","typeLabel":"string"},"fields":{"type":"array","items":{"type":"string","enum":["iban","accountNumber","swiftCode","bankName","beneficiaryName","addressLine1","city","country"],"description":"A beneficiary field to correct. `beneficiaryName` is `firstName` and\n`lastName` for an individual, `businessName` for a business.","uniqueKey":"oneOf.8.requiredActions.items.[INDEX].oneOf.1.fields.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"The fields to correct. Only these are read from your answer.","isRequired":true,"uniqueKey":"oneOf.8.requiredActions.items.[INDEX].oneOf.1.fields","typeLabel":"enum\u003cstring>[]"},"note":{"type":"string","description":"What operations ask you to correct, in their words.","isRequired":true,"uniqueKey":"oneOf.8.requiredActions.items.[INDEX].oneOf.1.note","typeLabel":"string"}},"uniqueKey":"oneOf.8.requiredActions.items.[INDEX].oneOf.1","typeLabel":"Beneficiary details · object"}],"uniqueKey":"oneOf.8.requiredActions.items.[INDEX]","typeLabel":"Document · object | Beneficiary details · object"},"description":"What you must still provide. While `status` is `ACTION_REQUIRED`: the\ndocuments to upload. On a `LOCKED` fiat payout waiting for corrected details: one\n`beneficiary_details` action with the fields to correct. Empty otherwise.","isRequired":true,"uniqueKey":"oneOf.8.requiredActions","typeLabel":"(Document · object | Beneficiary details · object)[]"},"createdAt":{"type":"string","description":"When the transaction was created (platform clock).","isRequired":true,"uniqueKey":"oneOf.8.createdAt","typeLabel":"string"},"updatedAt":{"type":"string","description":"When the transaction was last updated.","isRequired":true,"uniqueKey":"oneOf.8.updatedAt","typeLabel":"string"},"type":{"type":"string","enum":["COMMISSION"],"isRequired":true,"uniqueKey":"oneOf.8.type","typeLabel":"enum\u003cstring>"},"details":{"type":"object","required":["sourceTransactionId","referralLinkId","referredOrganizationId","referredOrganizationName","appliedCommissionBps"],"properties":{"sourceTransactionId":{"type":"string","description":"Source transaction (the trade that earned this commission).","isRequired":true,"uniqueKey":"oneOf.8.details.sourceTransactionId","typeLabel":"string"},"referralLinkId":{"type":"string","description":"Referral link the commission was earned through.","isRequired":true,"uniqueKey":"oneOf.8.details.referralLinkId","typeLabel":"string"},"referredOrganizationId":{"type":"string","description":"The org whose trade earned this commission (the referred org).","isRequired":true,"uniqueKey":"oneOf.8.details.referredOrganizationId","typeLabel":"string"},"referredOrganizationName":{"type":"string","description":"Display name of the referred org.","isRequired":true,"uniqueKey":"oneOf.8.details.referredOrganizationName","typeLabel":"string"},"appliedCommissionBps":{"type":"integer","format":"int32","description":"Commission rate applied at payment time, in basis points (10000 = 100%). Snapshotted — survives later settings changes.","isRequired":true,"uniqueKey":"oneOf.8.details.appliedCommissionBps","typeLabel":"integer\u003cint32>"}},"description":"Commission details — referral commission paid to a referrer.","isRequired":true,"uniqueKey":"oneOf.8.details","typeLabel":"object"}},"uniqueKey":"oneOf.8","typeLabel":"Commission · object"},{"type":"object","title":"Debit adjustment","description":"A transaction, discriminated by `type`. Use the `type` field to narrow the\n`details` payload — each variant has a different shape. The envelope\n(status, amount, asset, fee, timestamps) is uniform across variants.\n\nVariants:\n - `CRYPTO_PAYIN` → `details` is `TransactionCryptoPayinDetails`\n - `CRYPTO_PAYOUT` → `details` is `TransactionCryptoPayoutDetails`\n - `FIAT_PAYIN` → `details` is `TransactionFiatPayinDetails`\n - `FIAT_PAYOUT` → `details` is `TransactionFiatPayoutDetails`\n - `TRADE` → `details` is `TransactionTradeDetails`\n - `TRANSFER` → `details` is `TransactionTransferDetails`\n - `NXOSNET_TRANSFER` → `details` is `TransactionNxosnetTransferDetails`\n - `CREDIT_ADJUSTMENT` → `details` is `TransactionCreditAdjustmentDetails`\n - `COMMISSION` → `details` is `TransactionCommissionDetails`\n - `DEBIT_ADJUSTMENT` → `details` is `TransactionDebitAdjustmentDetails`","required":["type","details","object","transactionId","accountId","status","description","tags","amount","asset","fee","requiredActions","createdAt","updatedAt"],"properties":{"object":{"type":"string","enum":["transaction"],"description":"Object type. Always `transaction`.","isRequired":true,"uniqueKey":"oneOf.9.object","typeLabel":"enum\u003cstring>"},"transactionId":{"type":"string","description":"Unique transaction identifier.","isRequired":true,"uniqueKey":"oneOf.9.transactionId","typeLabel":"string"},"accountId":{"type":"string","description":"Account this transaction belongs to. Always one of your organization's accounts (the listing query enforces ownership).","isRequired":true,"uniqueKey":"oneOf.9.accountId","typeLabel":"string"},"status":{"type":"string","description":"Current status. See `TransactionStatus` for transitions.","enum":["EXPECTED","ACTION_REQUIRED","LOCKED","COMPLETED","DECLINED","REFUNDED"],"isRequired":true,"uniqueKey":"oneOf.9.status","typeLabel":"enum\u003cstring>"},"description":{"oneOf":[{"type":"string","description":"Optional human-readable description.","isRequired":true,"uniqueKey":"oneOf.9.description.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional human-readable description.","isRequired":true,"uniqueKey":"oneOf.9.description.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.9.description","typeLabel":"string | null"},"tags":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.9.tags.items.[INDEX]","typeLabel":"string"},"description":"Free-form tags set at create time (e.g. `[\"crypto_payout\", \"ethereum_mainnet\"]`).","isRequired":true,"uniqueKey":"oneOf.9.tags","typeLabel":"string[]"},"amount":{"oneOf":[{"type":"string","description":"Primary amount in major units. For most types this is the amount the\ncustomer's account moved by. For TRADE this is null — trades have two\ndistinct assets in play; see `details.from` and `details.to` instead.","isRequired":true,"uniqueKey":"oneOf.9.amount.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"oneOf.9.amount.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.9.amount","typeLabel":"string | null"},"asset":{"oneOf":[{"type":"string","description":"Asset code of the primary amount. Null for TRADE — see `details.from` / `details.to`.","isRequired":true,"uniqueKey":"oneOf.9.asset.oneOf.0","typeLabel":"string"},{"type":"null","description":"Asset code of the primary amount. Null for TRADE — see `details.from` / `details.to`.","isRequired":true,"uniqueKey":"oneOf.9.asset.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.9.asset","typeLabel":"string | null"},"fee":{"type":"object","description":"Service-fee breakdown. Always populated; every component is zero when no service fee applied. Note: trade spread fees are NOT here — they live in `details.spread` on TRADE transactions.","required":["fixed","bps","bpsAmount","total","asset"],"example":{"fixed":"50.00","bps":0,"bpsAmount":"0.00","total":"50.00","asset":"USD"},"properties":{"fixed":{"type":"string","description":"Flat component charged regardless of the principal. Zero when the schedule has no fixed component.","isRequired":true,"uniqueKey":"oneOf.9.fee.fixed","typeLabel":"string"},"bps":{"type":"integer","format":"int32","description":"Rate applied to the principal, in basis points (1 bp = 0.01%, so 50 bps = 0.5%). Zero when the schedule has no rate component.","isRequired":true,"uniqueKey":"oneOf.9.fee.bps","typeLabel":"integer\u003cint32>"},"bpsAmount":{"type":"string","description":"Rate-based component, derived from `bps` and the principal and rounded at charge time. Zero when `bps` is zero.","isRequired":true,"uniqueKey":"oneOf.9.fee.bpsAmount","typeLabel":"string"},"total":{"type":"string","description":"Total fee charged: `fixed + bpsAmount`. The single number surfaced to customers as \"Fee\".","isRequired":true,"uniqueKey":"oneOf.9.fee.total","typeLabel":"string"},"asset":{"type":"string","description":"Asset code the fee is denominated in. Always matches the transaction's principal asset — fees are never FX-converted.","isRequired":true,"uniqueKey":"oneOf.9.fee.asset","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.9.fee","typeLabel":"object"},"requiredActions":{"type":"array","items":{"oneOf":[{"type":"object","title":"Document","description":"Something you must provide before the transaction can go on: a document for a held transaction, or the beneficiary details of a payout waiting to be sent.","required":["type","holdId"],"properties":{"type":{"type":"string","description":"The document type to upload.","enum":["invoice","source_of_funds","counterparty_details"],"isRequired":true,"uniqueKey":"oneOf.9.requiredActions.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"holdId":{"type":"string","description":"The hold this document is for.","isRequired":true,"uniqueKey":"oneOf.9.requiredActions.items.[INDEX].oneOf.0.holdId","typeLabel":"string"}},"uniqueKey":"oneOf.9.requiredActions.items.[INDEX].oneOf.0","typeLabel":"Document · object"},{"type":"object","title":"Beneficiary details","description":"Something you must provide before the transaction can go on: a document for a held transaction, or the beneficiary details of a payout waiting to be sent.","required":["type","fixRequestId","fields","note"],"example":{"type":"beneficiary_details","fixRequestId":"pfix_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4","fields":["iban"],"note":"Our bank needs the recipient's IBAN for UK payouts. Please add it exactly as it appears on their bank statement."},"properties":{"type":{"type":"string","enum":["beneficiary_details"],"description":"Always `beneficiary_details`.","isRequired":true,"uniqueKey":"oneOf.9.requiredActions.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"fixRequestId":{"type":"string","description":"The correction request this action answers.","isRequired":true,"uniqueKey":"oneOf.9.requiredActions.items.[INDEX].oneOf.1.fixRequestId","typeLabel":"string"},"fields":{"type":"array","items":{"type":"string","enum":["iban","accountNumber","swiftCode","bankName","beneficiaryName","addressLine1","city","country"],"description":"A beneficiary field to correct. `beneficiaryName` is `firstName` and\n`lastName` for an individual, `businessName` for a business.","uniqueKey":"oneOf.9.requiredActions.items.[INDEX].oneOf.1.fields.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"The fields to correct. Only these are read from your answer.","isRequired":true,"uniqueKey":"oneOf.9.requiredActions.items.[INDEX].oneOf.1.fields","typeLabel":"enum\u003cstring>[]"},"note":{"type":"string","description":"What operations ask you to correct, in their words.","isRequired":true,"uniqueKey":"oneOf.9.requiredActions.items.[INDEX].oneOf.1.note","typeLabel":"string"}},"uniqueKey":"oneOf.9.requiredActions.items.[INDEX].oneOf.1","typeLabel":"Beneficiary details · object"}],"uniqueKey":"oneOf.9.requiredActions.items.[INDEX]","typeLabel":"Document · object | Beneficiary details · object"},"description":"What you must still provide. While `status` is `ACTION_REQUIRED`: the\ndocuments to upload. On a `LOCKED` fiat payout waiting for corrected details: one\n`beneficiary_details` action with the fields to correct. Empty otherwise.","isRequired":true,"uniqueKey":"oneOf.9.requiredActions","typeLabel":"(Document · object | Beneficiary details · object)[]"},"createdAt":{"type":"string","description":"When the transaction was created (platform clock).","isRequired":true,"uniqueKey":"oneOf.9.createdAt","typeLabel":"string"},"updatedAt":{"type":"string","description":"When the transaction was last updated.","isRequired":true,"uniqueKey":"oneOf.9.updatedAt","typeLabel":"string"},"type":{"type":"string","enum":["DEBIT_ADJUSTMENT"],"isRequired":true,"uniqueKey":"oneOf.9.type","typeLabel":"enum\u003cstring>"},"details":{"type":"object","required":["kind","reason"],"properties":{"kind":{"type":"string","description":"Debit adjustment kind — analytics discriminator.","enum":["ACCOUNT_CLOSURE","CORRECTION","OTHER"],"isRequired":true,"uniqueKey":"oneOf.9.details.kind","typeLabel":"enum\u003cstring>"},"reason":{"type":"string","description":"Human-readable reason shown on the customer's transaction history.","isRequired":true,"uniqueKey":"oneOf.9.details.reason","typeLabel":"string"}},"description":"Debit adjustment details — platform-initiated debit (the banking-statement \"debit adjustment\").","isRequired":true,"uniqueKey":"oneOf.9.details","typeLabel":"object"}},"uniqueKey":"oneOf.9","typeLabel":"Debit adjustment · object"}],"uniqueKey":"","typeLabel":"Crypto payin · object | Crypto payout · object | Fiat payin · object | Fiat payout · object | Trade · object | Transfer · object | Nxosnet transfer · object | Credit adjustment · object | Commission · object | Debit adjustment · object"},"examples":{"Example":{"title":"Example","value":{"object":"transaction","transactionId":"\u003cstring>","accountId":"\u003cstring>","status":"EXPECTED","description":"\u003cstring>","tags":["\u003cstring>"],"amount":"\u003cstring>","asset":"\u003cstring>","fee":{"fixed":"50.00","bps":0,"bpsAmount":"0.00","total":"50.00","asset":"USD"},"requiredActions":[{"type":"invoice","holdId":"\u003cstring>"}],"createdAt":"\u003cstring>","updatedAt":"\u003cstring>","type":"CRYPTO_PAYIN","details":{"chainName":"\u003cstring>","chainTransactionId":"\u003cstring>","fromAddress":"\u003cstring>","toAddress":"\u003cstring>","blockHeight":123,"blockTimestamp":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"dc635915-694b-4717-b874-e849c5223f85":{"description":"The server could not understand the request due to invalid syntax.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","requestId"],"properties":{"code":{"type":"string","description":"Machine-readable error code.","enum":["missing_api_key","authentication_failed","invalid_api_key","forbidden","acting_org_not_found","authorization_required","swap_direction_not_allowed","sub_org_tier_not_available","service_not_enabled","not_found","organization_not_found","account_not_found","quote_not_found","beneficiary_not_found","transaction_not_found","funding_method_not_found","authorization_not_found","nxosnet_handle_not_found","sub_org_tier_not_found","report_not_found","quote_expired","quote_already_used","beneficiary_already_archived","beneficiary_not_archived","beneficiary_blocked","transaction_blocked","transaction_not_held","beneficiary_fix_not_requested","fee_schedule_drifted","nxosnet_not_enabled","nxosnet_handle_taken","chain_send_failed","swift_copy_not_found","swift_copy_not_ready","bank_unavailable","verification_closed","idempotency_key_in_use","idempotency_request_in_flight","referral_invite_already_accepted","report_not_ready","too_many_pending_reports","invalid_request","insufficient_funds","trade_size_out_of_bounds","validation_error","invalid_document","too_many_documents","document_too_large","invalid_beneficiary_details","document_not_found","document_not_uploaded","share_token_invalid","verification_import_unsupported","verification_required","rate_limited","webhooks_unavailable","internal_error"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"requestId":{"type":"string","description":"Unique identifier for this request, useful for debugging.","isRequired":true,"uniqueKey":"error.requestId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"description":"Standard error response returned by all endpoints on failure.","uniqueKey":"","typeLabel":"object"},"examples":{"invalid_request: Content-Type must be application/json.":{"title":"invalid_request: Content-Type must be application/json.","value":{"error":{"code":"invalid_request","message":"Content-Type must be application/json.","requestId":"req_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4"}}},"invalid_request: Malformed JSON in request body.":{"title":"invalid_request: Malformed JSON in request body.","value":{"error":{"code":"invalid_request","message":"Malformed JSON in request body.","requestId":"req_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4"}}}},"exampleType":"examples"}},"exampleType":"examples"},"2e8c77f5-7931-4a4f-b919-675af54b1a27":{"description":"Access is unauthorized.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","requestId"],"properties":{"code":{"type":"string","description":"Machine-readable error code.","enum":["missing_api_key","authentication_failed","invalid_api_key","forbidden","acting_org_not_found","authorization_required","swap_direction_not_allowed","sub_org_tier_not_available","service_not_enabled","not_found","organization_not_found","account_not_found","quote_not_found","beneficiary_not_found","transaction_not_found","funding_method_not_found","authorization_not_found","nxosnet_handle_not_found","sub_org_tier_not_found","report_not_found","quote_expired","quote_already_used","beneficiary_already_archived","beneficiary_not_archived","beneficiary_blocked","transaction_blocked","transaction_not_held","beneficiary_fix_not_requested","fee_schedule_drifted","nxosnet_not_enabled","nxosnet_handle_taken","chain_send_failed","swift_copy_not_found","swift_copy_not_ready","bank_unavailable","verification_closed","idempotency_key_in_use","idempotency_request_in_flight","referral_invite_already_accepted","report_not_ready","too_many_pending_reports","invalid_request","insufficient_funds","trade_size_out_of_bounds","validation_error","invalid_document","too_many_documents","document_too_large","invalid_beneficiary_details","document_not_found","document_not_uploaded","share_token_invalid","verification_import_unsupported","verification_required","rate_limited","webhooks_unavailable","internal_error"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"requestId":{"type":"string","description":"Unique identifier for this request, useful for debugging.","isRequired":true,"uniqueKey":"error.requestId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"description":"Standard error response returned by all endpoints on failure.","example":{"error":{"code":"missing_api_key","message":"Missing or invalid Authorization header. Expected: Bearer \u003capi_key>","requestId":"req_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"missing_api_key","message":"Missing or invalid Authorization header. Expected: Bearer \u003capi_key>","requestId":"req_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4"}}}},"exampleType":"generated"}},"exampleType":"generated"},"4e6e4cc4-dace-419d-a94e-3f5c73397925":{"description":"Access is forbidden.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","requestId"],"properties":{"code":{"type":"string","description":"Machine-readable error code.","enum":["missing_api_key","authentication_failed","invalid_api_key","forbidden","acting_org_not_found","authorization_required","swap_direction_not_allowed","sub_org_tier_not_available","service_not_enabled","not_found","organization_not_found","account_not_found","quote_not_found","beneficiary_not_found","transaction_not_found","funding_method_not_found","authorization_not_found","nxosnet_handle_not_found","sub_org_tier_not_found","report_not_found","quote_expired","quote_already_used","beneficiary_already_archived","beneficiary_not_archived","beneficiary_blocked","transaction_blocked","transaction_not_held","beneficiary_fix_not_requested","fee_schedule_drifted","nxosnet_not_enabled","nxosnet_handle_taken","chain_send_failed","swift_copy_not_found","swift_copy_not_ready","bank_unavailable","verification_closed","idempotency_key_in_use","idempotency_request_in_flight","referral_invite_already_accepted","report_not_ready","too_many_pending_reports","invalid_request","insufficient_funds","trade_size_out_of_bounds","validation_error","invalid_document","too_many_documents","document_too_large","invalid_beneficiary_details","document_not_found","document_not_uploaded","share_token_invalid","verification_import_unsupported","verification_required","rate_limited","webhooks_unavailable","internal_error"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"requestId":{"type":"string","description":"Unique identifier for this request, useful for debugging.","isRequired":true,"uniqueKey":"error.requestId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"description":"Standard error response returned by all endpoints on failure.","uniqueKey":"","typeLabel":"object"},"examples":{"acting_org_not_found":{"title":"acting_org_not_found","value":{"error":{"code":"acting_org_not_found","message":"Nxos-On-Behalf-Of points to an organization that does not exist.","requestId":"req_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4"}}},"authorization_required":{"title":"authorization_required","value":{"error":{"code":"authorization_required","message":"No active authorization for the requested organization.","requestId":"req_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4"}}},"verification_required: Complete identity verification before moving funds or managing clients":{"title":"verification_required: Complete identity verification before moving funds or managing clients","value":{"error":{"code":"verification_required","message":"Complete identity verification before moving funds or managing clients and recipients.","requestId":"req_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4"}}}},"exampleType":"examples"}},"exampleType":"examples"},"67777c5a-35a7-4827-a4dd-37b409c78f80":{"description":"The server cannot find the requested resource.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","requestId"],"properties":{"code":{"type":"string","description":"Machine-readable error code.","enum":["missing_api_key","authentication_failed","invalid_api_key","forbidden","acting_org_not_found","authorization_required","swap_direction_not_allowed","sub_org_tier_not_available","service_not_enabled","not_found","organization_not_found","account_not_found","quote_not_found","beneficiary_not_found","transaction_not_found","funding_method_not_found","authorization_not_found","nxosnet_handle_not_found","sub_org_tier_not_found","report_not_found","quote_expired","quote_already_used","beneficiary_already_archived","beneficiary_not_archived","beneficiary_blocked","transaction_blocked","transaction_not_held","beneficiary_fix_not_requested","fee_schedule_drifted","nxosnet_not_enabled","nxosnet_handle_taken","chain_send_failed","swift_copy_not_found","swift_copy_not_ready","bank_unavailable","verification_closed","idempotency_key_in_use","idempotency_request_in_flight","referral_invite_already_accepted","report_not_ready","too_many_pending_reports","invalid_request","insufficient_funds","trade_size_out_of_bounds","validation_error","invalid_document","too_many_documents","document_too_large","invalid_beneficiary_details","document_not_found","document_not_uploaded","share_token_invalid","verification_import_unsupported","verification_required","rate_limited","webhooks_unavailable","internal_error"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"requestId":{"type":"string","description":"Unique identifier for this request, useful for debugging.","isRequired":true,"uniqueKey":"error.requestId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"description":"Standard error response returned by all endpoints on failure.","uniqueKey":"","typeLabel":"object"},"examples":{"transaction_not_found":{"title":"transaction_not_found","value":{"error":{"code":"transaction_not_found","message":"Transaction not found.","requestId":"req_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4"}}}},"exampleType":"examples"}},"exampleType":"examples"},"a7a26ba8-afa1-4e98-bc2c-0e0ddd244d40":{"description":"The request conflicts with the current state of the server.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","requestId"],"properties":{"code":{"type":"string","description":"Machine-readable error code.","enum":["missing_api_key","authentication_failed","invalid_api_key","forbidden","acting_org_not_found","authorization_required","swap_direction_not_allowed","sub_org_tier_not_available","service_not_enabled","not_found","organization_not_found","account_not_found","quote_not_found","beneficiary_not_found","transaction_not_found","funding_method_not_found","authorization_not_found","nxosnet_handle_not_found","sub_org_tier_not_found","report_not_found","quote_expired","quote_already_used","beneficiary_already_archived","beneficiary_not_archived","beneficiary_blocked","transaction_blocked","transaction_not_held","beneficiary_fix_not_requested","fee_schedule_drifted","nxosnet_not_enabled","nxosnet_handle_taken","chain_send_failed","swift_copy_not_found","swift_copy_not_ready","bank_unavailable","verification_closed","idempotency_key_in_use","idempotency_request_in_flight","referral_invite_already_accepted","report_not_ready","too_many_pending_reports","invalid_request","insufficient_funds","trade_size_out_of_bounds","validation_error","invalid_document","too_many_documents","document_too_large","invalid_beneficiary_details","document_not_found","document_not_uploaded","share_token_invalid","verification_import_unsupported","verification_required","rate_limited","webhooks_unavailable","internal_error"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"requestId":{"type":"string","description":"Unique identifier for this request, useful for debugging.","isRequired":true,"uniqueKey":"error.requestId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"description":"Standard error response returned by all endpoints on failure.","uniqueKey":"","typeLabel":"object"},"examples":{"idempotency_request_in_flight":{"title":"idempotency_request_in_flight","value":{"error":{"code":"idempotency_request_in_flight","message":"A request with this Idempotency-Key is currently being processed. Retry shortly.","requestId":"req_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4"}}},"idempotency_key_in_use":{"title":"idempotency_key_in_use","value":{"error":{"code":"idempotency_key_in_use","message":"This Idempotency-Key was previously used with a different request body. Use a unique key per logical operation.","requestId":"req_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4"}}},"beneficiary_already_archived":{"title":"beneficiary_already_archived","value":{"error":{"code":"beneficiary_already_archived","message":"The beneficiary of this payout is archived.","requestId":"req_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4"}}},"beneficiary_fix_not_requested":{"title":"beneficiary_fix_not_requested","value":{"error":{"code":"beneficiary_fix_not_requested","message":"This transaction is not waiting for beneficiary details.","requestId":"req_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4"}}}},"exampleType":"examples"}},"exampleType":"examples"},"3e1eda30-f1a8-41f4-8e52-a390b869b589":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","requestId"],"properties":{"code":{"type":"string","description":"Machine-readable error code.","enum":["missing_api_key","authentication_failed","invalid_api_key","forbidden","acting_org_not_found","authorization_required","swap_direction_not_allowed","sub_org_tier_not_available","service_not_enabled","not_found","organization_not_found","account_not_found","quote_not_found","beneficiary_not_found","transaction_not_found","funding_method_not_found","authorization_not_found","nxosnet_handle_not_found","sub_org_tier_not_found","report_not_found","quote_expired","quote_already_used","beneficiary_already_archived","beneficiary_not_archived","beneficiary_blocked","transaction_blocked","transaction_not_held","beneficiary_fix_not_requested","fee_schedule_drifted","nxosnet_not_enabled","nxosnet_handle_taken","chain_send_failed","swift_copy_not_found","swift_copy_not_ready","bank_unavailable","verification_closed","idempotency_key_in_use","idempotency_request_in_flight","referral_invite_already_accepted","report_not_ready","too_many_pending_reports","invalid_request","insufficient_funds","trade_size_out_of_bounds","validation_error","invalid_document","too_many_documents","document_too_large","invalid_beneficiary_details","document_not_found","document_not_uploaded","share_token_invalid","verification_import_unsupported","verification_required","rate_limited","webhooks_unavailable","internal_error"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"requestId":{"type":"string","description":"Unique identifier for this request, useful for debugging.","isRequired":true,"uniqueKey":"error.requestId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"description":"Standard error response returned by all endpoints on failure.","uniqueKey":"","typeLabel":"object"},"examples":{"validation_error":{"title":"validation_error","value":{"error":{"code":"validation_error","message":"Request body failed validation.","requestId":"req_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4"}}},"invalid_beneficiary_details":{"title":"invalid_beneficiary_details","value":{"error":{"code":"invalid_beneficiary_details","message":"Invalid beneficiary details. iban: This IBAN is not valid: check each character.","requestId":"req_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4"}}}},"exampleType":"examples"}},"exampleType":"examples"},"b6afe029-2a50-47c2-830a-cc721709e695":{"description":"Client error","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","requestId"],"properties":{"code":{"type":"string","description":"Machine-readable error code.","enum":["missing_api_key","authentication_failed","invalid_api_key","forbidden","acting_org_not_found","authorization_required","swap_direction_not_allowed","sub_org_tier_not_available","service_not_enabled","not_found","organization_not_found","account_not_found","quote_not_found","beneficiary_not_found","transaction_not_found","funding_method_not_found","authorization_not_found","nxosnet_handle_not_found","sub_org_tier_not_found","report_not_found","quote_expired","quote_already_used","beneficiary_already_archived","beneficiary_not_archived","beneficiary_blocked","transaction_blocked","transaction_not_held","beneficiary_fix_not_requested","fee_schedule_drifted","nxosnet_not_enabled","nxosnet_handle_taken","chain_send_failed","swift_copy_not_found","swift_copy_not_ready","bank_unavailable","verification_closed","idempotency_key_in_use","idempotency_request_in_flight","referral_invite_already_accepted","report_not_ready","too_many_pending_reports","invalid_request","insufficient_funds","trade_size_out_of_bounds","validation_error","invalid_document","too_many_documents","document_too_large","invalid_beneficiary_details","document_not_found","document_not_uploaded","share_token_invalid","verification_import_unsupported","verification_required","rate_limited","webhooks_unavailable","internal_error"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"requestId":{"type":"string","description":"Unique identifier for this request, useful for debugging.","isRequired":true,"uniqueKey":"error.requestId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"description":"Standard error response returned by all endpoints on failure.","example":{"error":{"code":"rate_limited","message":"Rate limit exceeded: 1000 requests per minute. Retry in 23 seconds.","requestId":"req_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"rate_limited","message":"Rate limit exceeded: 1000 requests per minute. Retry in 23 seconds.","requestId":"req_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4"}}}},"exampleType":"generated"}},"exampleType":"generated"},"4cca9719-8416-449e-af72-d89cd05d73c1":{"description":"Server error","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","requestId"],"properties":{"code":{"type":"string","description":"Machine-readable error code.","enum":["missing_api_key","authentication_failed","invalid_api_key","forbidden","acting_org_not_found","authorization_required","swap_direction_not_allowed","sub_org_tier_not_available","service_not_enabled","not_found","organization_not_found","account_not_found","quote_not_found","beneficiary_not_found","transaction_not_found","funding_method_not_found","authorization_not_found","nxosnet_handle_not_found","sub_org_tier_not_found","report_not_found","quote_expired","quote_already_used","beneficiary_already_archived","beneficiary_not_archived","beneficiary_blocked","transaction_blocked","transaction_not_held","beneficiary_fix_not_requested","fee_schedule_drifted","nxosnet_not_enabled","nxosnet_handle_taken","chain_send_failed","swift_copy_not_found","swift_copy_not_ready","bank_unavailable","verification_closed","idempotency_key_in_use","idempotency_request_in_flight","referral_invite_already_accepted","report_not_ready","too_many_pending_reports","invalid_request","insufficient_funds","trade_size_out_of_bounds","validation_error","invalid_document","too_many_documents","document_too_large","invalid_beneficiary_details","document_not_found","document_not_uploaded","share_token_invalid","verification_import_unsupported","verification_required","rate_limited","webhooks_unavailable","internal_error"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"requestId":{"type":"string","description":"Unique identifier for this request, useful for debugging.","isRequired":true,"uniqueKey":"error.requestId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"description":"Standard error response returned by all endpoints on failure.","example":{"error":{"code":"internal_error","message":"An unexpected error occurred.","requestId":"req_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"internal_error","message":"An unexpected error occurred.","requestId":"req_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4"}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{},"servers":{"1d851d4a-35d4-4a0c-8312-c26e0f4b4afe":{"url":"https://api.nxos.io","description":"Production","variables":{}},"49d15fb3-5344-46c2-b146-57ee14344a18":{"url":"https://api.sandbox.nxos.io","description":"Sandbox","variables":{}}}},"originalFileLocation":"openapi.yaml"},"subdomain":"nxos-f4022d2e","siteName":"Nxos","title":"Correct beneficiary details - Nxos","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-05T11:00:03.870Z","originalFileLocation":"api-reference/transactions/beneficiary-details.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Correct the beneficiary of a LOCKED fiat payout waiting to be sent, when its requiredActions holds a beneficiary_details action. Send the fields it lists; the others are ignored. The beneficiary is updated for this payout and every later one, the action leaves requiredActions, and operations send the payout: follow it with GET /v1/transactions/{transactionId} or transaction.status.updated. Returns the transaction.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Nxos\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/nxos-f4022d2e/90KjkNkfbw9xtcVN/_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/nxos-f4022d2e/90KjkNkfbw9xtcVN/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/nxos-f4022d2e/90KjkNkfbw9xtcVN/_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/nxos-f4022d2e/90KjkNkfbw9xtcVN/_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/nxos-f4022d2e/90KjkNkfbw9xtcVN/_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/nxos-f4022d2e/90KjkNkfbw9xtcVN/_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/nxos-f4022d2e/90KjkNkfbw9xtcVN/_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/nxos-f4022d2e/90KjkNkfbw9xtcVN/_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/nxos-f4022d2e/90KjkNkfbw9xtcVN/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Correct beneficiary details - Nxos\">\u003cmeta data-mint-head property=\"og:description\" content=\"Correct the beneficiary of a LOCKED fiat payout waiting to be sent, when its requiredActions holds a beneficiary_details action. Send the fields it lists; the others are ignored. The beneficiary is updated for this payout and every later one, the action leaves requiredActions, and operations send the payout: follow it with GET /v1/transactions/{transactionId} or transaction.status.updated. Returns the transaction.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Nxos\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.nxos.io/api-reference/transactions/beneficiary-details\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://nxos-f4022d2e.mintlify.app/_mintlify/api/og/v2?division=Transactions\u0026amp;title=Correct+beneficiary+details\u0026amp;description=Correct+the+beneficiary+of+a+%60LOCKED%60+fiat+payout+waiting+to+be+sent%2C+when+its%0A%60requiredActions%60+holds+a+%60beneficiary_details%60+action.+Send+the+fields+it%0Alists%3B\u0026amp;theme=e95154c898ac3503117a4076\u0026amp;signature=77c9e4c8231ffece5415e84b3112931ae4f19e2368e96f26c196b33fa870c227\">\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=\"Correct beneficiary details - Nxos\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Correct the beneficiary of a LOCKED fiat payout waiting to be sent, when its requiredActions holds a beneficiary_details action. Send the fields it lists; the others are ignored. The beneficiary is updated for this payout and every later one, the action leaves requiredActions, and operations send the payout: follow it with GET /v1/transactions/{transactionId} or transaction.status.updated. Returns the transaction.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://nxos-f4022d2e.mintlify.app/_mintlify/api/og/v2?division=Transactions\u0026amp;title=Correct+beneficiary+details\u0026amp;description=Correct+the+beneficiary+of+a+%60LOCKED%60+fiat+payout+waiting+to+be+sent%2C+when+its%0A%60requiredActions%60+holds+a+%60beneficiary_details%60+action.+Send+the+fields+it%0Alists%3B\u0026amp;theme=e95154c898ac3503117a4076\u0026amp;signature=77c9e4c8231ffece5415e84b3112931ae4f19e2368e96f26c196b33fa870c227\">\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/nxos-f4022d2e/90KjkNkfbw9xtcVN/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Nxos\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#38bdf8\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.nxos.io/api-reference/transactions/beneficiary-details\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/transactions/beneficiary-details.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.nxos.io/#organization\",\"name\":\"Nxos\",\"url\":\"https://docs.nxos.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/nxos-f4022d2e/1BbvSIMfTEn6iDBa/logo/light.svg?fit=max\u0026auto=format\u0026n=1BbvSIMfTEn6iDBa\u0026q=85\u0026s=cfc2eecff02a32cd44c0881bd70c3a30\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.nxos.io#website\",\"name\":\"Nxos\",\"url\":\"https://docs.nxos.io\",\"publisher\":{\"@id\":\"https://docs.nxos.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.nxos.io/api-reference/transactions/beneficiary-details#webpage\",\"url\":\"https://docs.nxos.io/api-reference/transactions/beneficiary-details\",\"name\":\"Correct beneficiary details\",\"description\":\"Correct the beneficiary of a LOCKED fiat payout waiting to be sent, when its requiredActions holds a beneficiary_details action. Send the fields it lists; the others are ignored. The beneficiary is updated for this payout and every later one, the action leaves requiredActions, and operations send the payout: follow it with GET /v1/transactions/{transactionId} or transaction.status.updated. Returns the transaction.\",\"dateModified\":\"2026-11-05T11:00:03.870Z\",\"isPartOf\":{\"@id\":\"https://docs.nxos.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.nxos.io/api-reference/transactions/beneficiary-details#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.nxos.io/api-reference/transactions/beneficiary-details#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Track\",\"item\":\"https://docs.nxos.io/api-reference/transactions/list\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Transactions\",\"item\":\"https://docs.nxos.io/api-reference/transactions/list\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Correct beneficiary details\",\"item\":\"https://docs.nxos.io/api-reference/transactions/beneficiary-details\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.nxos.io/api-reference/transactions/beneficiary-details#apireference\",\"headline\":\"Correct beneficiary details\",\"name\":\"Correct beneficiary details\",\"description\":\"Correct the beneficiary of a LOCKED fiat payout waiting to be sent, when its requiredActions holds a beneficiary_details action. Send the fields it lists; the others are ignored. The beneficiary is updated for this payout and every later one, the action leaves requiredActions, and operations send the payout: follow it with GET /v1/transactions/{transactionId} or transaction.status.updated. Returns the transaction.\",\"url\":\"https://docs.nxos.io/api-reference/transactions/beneficiary-details\",\"mainEntityOfPage\":{\"@id\":\"https://docs.nxos.io/api-reference/transactions/beneficiary-details#webpage\"},\"dateModified\":\"2026-11-05T11:00:03.870Z\",\"publisher\":{\"@id\":\"https://docs.nxos.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.nxos.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Nxos\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Nxos","nav":{"global":{},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":""}]},{"tab":"API reference","groups":[{"group":"Overview","pages":[{"title":"API reference","href":"/api-reference/introduction"}]},{"group":"Setup","pages":[{"group":"Organizations","pages":[{"title":"Get organization","openapi":"GET /v1/organizations","href":"/api-reference/organizations/get"},{"title":"Create organization","openapi":"POST /v1/organizations","href":"/api-reference/organizations/create"},{"title":"Get verification","openapi":"GET /v1/organizations/verification","href":"/api-reference/organizations/get-verification"},{"title":"Start verification","openapi":"POST /v1/organizations/verification","href":"/api-reference/organizations/start-verification"},{"title":"Import verification","openapi":"POST /v1/organizations/verification/import","href":"/api-reference/organizations/import-verification"}]},{"group":"Accounts","pages":[{"title":"List accounts","openapi":"GET /v1/accounts","href":"/api-reference/accounts/list"},{"title":"Get account","openapi":"GET /v1/accounts/{accountId}","href":"/api-reference/accounts/get"}]},{"group":"Assets","pages":[{"title":"List available assets","openapi":"GET /v1/assets","href":"/api-reference/assets/list"}]},{"group":"Funding methods","pages":[{"title":"List funding methods","openapi":"GET /v1/funding-methods","href":"/api-reference/funding-methods/list"},{"title":"Get a funding method","openapi":"GET /v1/funding-methods/{fundingMethodId}","href":"/api-reference/funding-methods/get"},{"title":"Create a funding method","openapi":"POST /v1/funding-methods","href":"/api-reference/funding-methods/create"}]}]},{"group":"Move money","pages":[{"group":"Quotes","pages":[{"title":"Create quote","openapi":"POST /v1/quotes","href":"/api-reference/quotes/create"},{"title":"Get quote","openapi":"GET /v1/quotes/{quoteId}","href":"/api-reference/quotes/get"},{"title":"Execute quote","openapi":"POST /v1/quotes/{quoteId}/execute","href":"/api-reference/quotes/execute"}]},{"group":"Beneficiaries","pages":[{"title":"List beneficiaries","openapi":"GET /v1/beneficiaries","href":"/api-reference/beneficiaries/list"},{"title":"Get beneficiary","openapi":"GET /v1/beneficiaries/{beneficiaryId}","href":"/api-reference/beneficiaries/get"},{"title":"Create bank beneficiary","openapi":"POST /v1/beneficiaries/bank","href":"/api-reference/beneficiaries/create-bank"},{"title":"Create crypto beneficiary","openapi":"POST /v1/beneficiaries/crypto","href":"/api-reference/beneficiaries/create-crypto"},{"title":"Create nxosnet beneficiary","openapi":"POST /v1/beneficiaries/nxosnet","href":"/api-reference/beneficiaries/create-nxosnet"},{"title":"Update beneficiary","openapi":"PATCH /v1/beneficiaries/{beneficiaryId}","href":"/api-reference/beneficiaries/update"},{"title":"Archive beneficiary","openapi":"DELETE /v1/beneficiaries/{beneficiaryId}","href":"/api-reference/beneficiaries/archive"}]},{"group":"Payouts","pages":[{"title":"Get fiat payout options","openapi":"GET /v1/transactions/fiat-payouts/options","href":"/api-reference/fiat-payouts/options"},{"title":"Fiat payout fee","openapi":"GET /v1/fees/fiat-payout","href":"/api-reference/fees/fiat-payout"},{"title":"Initiate fiat payout","openapi":"POST /v1/transactions/fiat-payouts","href":"/api-reference/fiat-payouts/initiate"},{"title":"Crypto payout fee","openapi":"GET /v1/fees/crypto-payout","href":"/api-reference/fees/crypto-payout"},{"title":"Execute crypto payout","openapi":"POST /v1/transactions/crypto-payouts","href":"/api-reference/crypto-payouts/execute"}]},{"group":"Nxosnet","pages":[{"title":"Get nxosnet settings","openapi":"GET /v1/organizations/nxosnet","href":"/api-reference/organizations/get-nxosnet"},{"title":"Update nxosnet settings","openapi":"PATCH /v1/organizations/nxosnet","href":"/api-reference/organizations/update-nxosnet"},{"title":"Resolve nxosnet handle","openapi":"GET /v1/nxosnet/handles/{handle}","href":"/api-reference/nxosnet-transfers/resolve-handle"},{"title":"Send nxosnet transfer","openapi":"POST /v1/transactions/nxosnet-transfers","href":"/api-reference/nxosnet-transfers/send"}]}]},{"group":"Track","pages":[{"group":"Transactions","pages":[{"title":"List transactions","api":"GET /v1/transactions","href":"/api-reference/transactions/list"},{"title":"Get a transaction","api":"GET /v1/transactions/{transactionId}","description":null,"href":"/api-reference/transactions/get"},{"title":"Correct beneficiary details","openapi":"POST /v1/transactions/{transactionId}/beneficiary-details","href":"/api-reference/transactions/beneficiary-details"},{"title":"Download a SWIFT copy","openapi":"GET /v1/transactions/{transactionId}/swift-copy","description":"Download the bank's SWIFT copy of a completed SWIFT payout: the PDF of the\nSWIFT message (pacs.008) that sent the payment, as the bank issued it.\n\nAvailable once the payout is `COMPLETED` and its `swiftUetr` is set. The file\nis fetched from the bank on each call, and the bank serves each file a limited\nnumber of times: download it once and keep it. On `swift_copy_not_ready`,\nretry no more than every few minutes.\n\nSupports `Nxos-On-Behalf-Of` on the same terms as retrieving a transaction.","href":"/api-reference/transactions/swift-copy"}]},{"group":"Reports","pages":[{"title":"List reports","openapi":"GET /v1/reports","href":"/api-reference/reports/list"},{"title":"Get a report","openapi":"GET /v1/reports/{reportId}","href":"/api-reference/reports/get"},{"title":"Request a report","openapi":"POST /v1/reports","href":"/api-reference/reports/create"},{"title":"Download a report","openapi":"GET /v1/reports/{reportId}/download","href":"/api-reference/reports/download"}]},{"group":"Webhooks","pages":[{"title":"List endpoints","openapi":"GET /v1/webhooks/endpoints","href":"/api-reference/webhooks/list"},{"title":"Get endpoint","openapi":"GET /v1/webhooks/endpoints/{endpointId}","href":"/api-reference/webhooks/get"},{"title":"Create endpoint","openapi":"POST /v1/webhooks/endpoints","href":"/api-reference/webhooks/create"},{"title":"Update endpoint","openapi":"PATCH /v1/webhooks/endpoints/{endpointId}","href":"/api-reference/webhooks/update"},{"title":"Delete endpoint","openapi":"DELETE /v1/webhooks/endpoints/{endpointId}","href":"/api-reference/webhooks/delete"},{"title":"Get signing secret","openapi":"GET /v1/webhooks/endpoints/{endpointId}/secret","href":"/api-reference/webhooks/get-secret"},{"title":"Rotate signing secret","openapi":"POST /v1/webhooks/endpoints/{endpointId}/secret/rotate","href":"/api-reference/webhooks/rotate-secret"}]},{"group":"Webhook events","pages":[{"title":"organization.verification.updated","href":"/api-reference/webhooks/events/organization-verification-updated"},{"title":"transaction.status.updated","href":"/api-reference/webhooks/events/transaction-status-updated"},{"title":"transaction.action_required","href":"/api-reference/webhooks/events/transaction-action-required"},{"title":"report.ready","href":"/api-reference/webhooks/events/report-ready"},{"title":"report.failed","href":"/api-reference/webhooks/events/report-failed"}]}]},{"group":"Broker","pages":[{"group":"Client access","pages":[{"title":"List authorizations","openapi":"GET /v1/authorizations","href":"/api-reference/authorizations/list"},{"title":"Activate authorization","openapi":"POST /v1/authorizations/activate","href":"/api-reference/authorizations/activate"},{"title":"Revoke authorization","openapi":"POST /v1/authorizations/revoke","href":"/api-reference/authorizations/revoke"}]},{"group":"Client pricing","pages":[{"title":"List your pricing tiers","openapi":"GET /v1/sub-org-tiers","href":"/api-reference/broker-tiers/list"},{"title":"Set a client's tier","openapi":"PUT /v1/organizations/sub-org-tier","href":"/api-reference/organizations/set-sub-org-tier"}]}]},{"group":"Referrals","pages":[{"group":"Referral links","pages":[{"title":"Create referral invite","openapi":"POST /v1/referral-invites","href":"/api-reference/referral-invites/create"},{"title":"List referral links","openapi":"GET /v1/referral-links","href":"/api-reference/referral-links/list"}]}]},{"group":"Testing","pages":[{"group":"Sandbox","pages":[{"title":"Fund a test balance","openapi":"POST /v1/transactions/faucet","href":"/api-reference/sandbox/faucet"}]}]}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"Correct beneficiary details - Nxos","buildId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","deploymentId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-DX1Meug0.js","utils-B_OMIQVC.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-ChxhRPMa.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CuKvD8Iv.js","snippetPresets-C5d7p2hp.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","Page-BAvA99GL.js","ApiExamples-CfHcE8m4.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C1zZV314.js","shallow-CmQhqCJn.js","getApiPlaygroundDisplay-YRo9s1O7.js","CodeSnippet-RN1MTdfk.js","CodeSnippets-DKLPHxJA.js","getPastedJson-bz0M41mU.js","icon-CsmhpPrv.js","MethodPill-CNGsVE77.js","DuplicateIcon-DilfU_Z2.js","createIcon-BdsYzQck.js","DynamicMarkdown-CbqEDjbV.js","SectionHeading-O6hXpFCN.js","axios-vUo_bRtp.js","Markdown-nKm-uidQ.js","clsx-ClVdStUn.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CIQkMg3R.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-ImrFS4Fy.js"]}