The workspace’s KYB state (workspace.kybStatus) and, for each capability, whether it is
allowed now or blocked, with each blocker’s code and the step that clears it. The quote and
order routes enforce the same decision. An API key needs the compliance_read scope and reads
only the workspace it is bound to.
GET
/
api
/
v1
/
workspaces
/
{workspaceId}
/
capabilities
Read the workspace's verification state and the capabilities it allows
The workspace the request acts in. An API key bound to a workspace implies it: omit the header, or send that same id (another id answers 403 WORKSPACE_SCOPE_MISMATCH). A member session must send it (400 MISSING_WORKSPACE without it).
Capability snapshot with blockers per capability and permission-filtered KYB record facts; failed review reads report unavailable while preserving HTTP 200
What the workspace can do now, as the API enforces it. capabilities holds one decision per capability: allowed, or blocked with each blocker's code, the step that clears it (unlockStep), an estimate and the items still due. The quote and order routes apply the same decision and refuse with CAPABILITY_BLOCKED and the same blockers in details.capabilityBlockers.
The acting member's own verification: identity verification (kycStatus), verified wallet count and name screening. For an API key, the member who owns the key.
The workspace's own verification. No workspace type needs TetraFi KYB to trade, and KYB blocks no capability. kybStatus is its effective KYB state, kept as profile information: not_started, pending, in_review, approved, rejected, expired, or unavailable when it could not be read; new values may be added.
The LPs this workspace has a relationship with whose enforced serving
requirements find a fact it has not recorded, with the onboarding items
that supply it. Advisory, never a blocker. null when the requirements
could not be read; an empty list when nothing is needed.
Where the workspace stands, as the gates read it: onboarding, active, suspended, deactivated or archived.
Available options:
onboarding,
active,
suspended,
deactivated,
archived
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"TetraFi","colors":{"primary":"#2c5282","light":"#3b6db5","dark":"#1e3a8a"},"logo":{"light":"https://mintcdn.com/tetrafi/hT7nGse44PNS7QpH/logo/tetrafi-mark-light.svg?fit=max\u0026auto=format\u0026n=hT7nGse44PNS7QpH\u0026q=85\u0026s=cd79dd1bf9d966d0f47e539b4d3775f6","dark":"https://mintcdn.com/tetrafi/hT7nGse44PNS7QpH/logo/tetrafi-mark-dark.svg?fit=max\u0026auto=format\u0026n=hT7nGse44PNS7QpH\u0026q=85\u0026s=e2f93f71b83104dc5a7ca71c43afe890"},"favicon":"https://mintcdn.com/tetrafi/hT7nGse44PNS7QpH/favicon.svg?fit=max\u0026auto=format\u0026n=hT7nGse44PNS7QpH\u0026q=85\u0026s=e599c74d138eb2e52fd6405556f494a3","api":{"params":{"expanded":"closed"},"playground":{"display":"simple"}},"appearance":{"default":"dark"},"footer":{"socials":{"github":"https://github.com/TetraFi","linkedin":"https://www.linkedin.com/company/tetrafi","telegram":"https://t.me/TetraFi_Team","website":"https://tetrafi.io"}},"seo":{"metatags":{"og:image":"https://tetrafi.mintlify.app/images/og-default.png","og:image:width":"1200","og:image:height":"630","twitter:card":"summary_large_image"}},"fonts":{"family":"Inter"},"banner":{"content":"The API may change until launch. Every change is in the [Changelog](/changelog).","dismissible":true},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"tetrafi","hasAudioNarration":false,"actualSubdomain":"tetrafi","customDomains":[],"gitSource":{"type":"github","owner":"tetrafi","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6af5c842c7a2465f28869588","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"default","tag":"API reference","count":54},{"language":"default","tag":"Discover","count":32},{"language":"default","tag":"Introduction","count":22},{"language":"default","tag":"Guides","count":19},{"language":"default","tag":"Trades and settlement","count":13},{"language":"default","tag":"Webhooks","count":10},{"language":"default","tag":"Balances and accounts","count":9},{"language":"default","tag":"Use Cases","count":9},{"language":"default","tag":"Multilateral Netting","count":8},{"language":"default","tag":"Resources","count":7}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"custom.css","content":"#banner{background-color:#8b13cc!important}.home-page{max-width:768px;margin:0px auto;padding:2rem 1.5rem 4rem;color:rgb(23, 23, 23)}:root.dark .home-page{color:rgb(255, 255, 255)}.home-hero{text-align:center;padding:3rem 0px 2.5rem}.home-hero h1{font-size:2.5rem;font-weight:700;margin:0px 0px 0.75rem}.home-hero p{font-size:1.125rem;margin:0px}.home-hero p+p{font-size:1rem;line-height:1.6;margin:1rem auto 0px;max-width:42rem;opacity:0.8}.home-section{margin-top:3.5rem}.home-section h2{font-size:1.25rem;font-weight:600;margin-bottom:0.75rem}.color-grid{display:grid;grid-template-columns:repeat(6, 1fr);gap:1rem;margin:1rem 0px 2rem}@media (max-width: 768px){.color-grid{grid-template-columns:repeat(3, 1fr)}}@media (max-width: 480px){.color-grid{grid-template-columns:repeat(2, 1fr)}}.color-swatch{display:flex;flex-direction:column;gap:0.5rem}.color-swatch-block{aspect-ratio:1 / 1;border-radius:16px;display:flex;align-items:flex-end;padding:0.625rem}.color-swatch-block span{font-size:0.75rem;font-weight:600;font-family:monospace}.color-swatch-label{font-size:0.8125rem;font-weight:600}.logo-showcase-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0px 2rem}.logo-showcase{border-radius:16px;padding:1.25rem 1.5rem;display:grid;grid-template-columns:auto auto;grid-template-rows:1fr auto;gap:0.75rem 1.5rem;align-items:center}.logo-showcase-dark{background:rgb(23, 23, 23);color:rgb(255, 255, 255)}.logo-showcase-light{background:rgb(245, 245, 245);color:rgb(23, 23, 23)}.logo-showcase-left{display:flex;flex-direction:column;gap:0.75rem;align-items:flex-start}.logo-showcase-right{display:flex;justify-content:center;align-items:center}.logo-showcase img.logo-sm{height:32px;width:auto}.logo-showcase img.logo-md{height:32px;width:auto}.logo-showcase img.logo-lg{height:110px;width:auto}.logo-showcase-label{grid-column:1 / -1;font-size:0.75rem;opacity:0.5;text-align:center}@media (max-width: 640px){.logo-showcase-row{grid-template-columns:1fr}}"}],"page":{"pagePath":"api-reference/workspaces/get-capabilities","slug":"/api-reference/workspaces/get-capabilities","pageMetadata":{"title":"Get capabilities","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/capabilities","description":"The workspace's KYB state (`workspace.kybStatus`) and, for each capability, whether it is\nallowed now or blocked, with each blocker's code and the step that clears it. The quote and\norder routes enforce the same decision. An API key needs the `compliance_read` scope and reads\nonly the workspace it is bound to.","href":"/api-reference/workspaces/get-capabilities"},"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: [\"The workspace’s KYB state (\", _jsx(_components.code, {\n children: \"workspace.kybStatus\"\n }), \") and, for each capability, whether it is\\nallowed now or blocked, with each blocker’s code and the step that clears it. The quote and\\norder routes enforce the same decision. An API key needs the \", _jsx(_components.code, {\n children: \"compliance_read\"\n }), \" scope and reads\\nonly the workspace it is bound to.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Get capabilities","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/capabilities","description":"The workspace's KYB state (`workspace.kybStatus`) and, for each capability, whether it is\nallowed now or blocked, with each blocker's code and the step that clears it. The quote and\norder routes enforce the same decision. An API key needs the `compliance_read` scope and reads\nonly the workspace it is bound to.","href":"/api-reference/workspaces/get-capabilities"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"description":"The workspace's KYB state (`workspace.kybStatus`) and, for each capability, whether it is\nallowed now or blocked, with each blocker's code and the step that clears it. The quote and\norder routes enforce the same decision. An API key needs the `compliance_read` scope and reads\nonly the workspace it is bound to.","operationId":"get_workspace_capabilities","parameters":["b90c59a5-a17f-46b8-af98-81f4d1f49904","62f52617-55fc-46cc-a915-76088e2b2644"],"responses":{"200":"46cff9ce-fcd5-4bf7-ac76-695aac538e4a","400":"2dcddce7-92e5-41ed-bcf2-84d47b88d451","401":"216ecca0-d9fd-4e75-b55f-7e55f9a5ea25","403":"0f94fab7-4a30-4ff4-b77c-135b87d3a053","404":"9f9eb7aa-46f4-4c89-9ea0-a35ae76e45f2","408":"4897b8f9-9e8e-4dd8-8b00-d98223809ae4","429":"72db6fc2-3269-47c5-9ed9-1cd27112b7f3","500":"1233fe2d-debe-4285-b78e-d5473410cb63","503":"f6a31c89-2ffc-47a4-80dc-ce9d97a3eb59"},"security":["aa45cfda-bf23-43cc-b1f4-1d147e3e4a9c","a1eaf651-485e-4df1-bbb2-99a9425f4ea5"],"summary":"Read the workspace's verification state and the capabilities it allows","tags":["workspaces"],"method":"get","type":"path","servers":["92d20a25-080c-474f-9db4-28984500f104","07a83933-bc6b-4ce5-848c-8f94d4edfd7a"],"path":"/api/v1/workspaces/{workspaceId}/capabilities","baseUrlOptions":["https://api.tetrafi.io","https://api-dev.tetrafi.io"],"title":"Read the workspace's verification state and the capabilities it allows","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"b90c59a5-a17f-46b8-af98-81f4d1f49904":{"description":"The workspace the request acts in. An API key bound to a workspace implies it: omit the header, or send that same id (another id answers 403 WORKSPACE_SCOPE_MISMATCH). A member session must send it (400 MISSING_WORKSPACE without it).","in":"header","name":"X-Workspace-Id","required":false,"schema":{"format":"uuid","type":"string","isRequired":false,"description":"The workspace the request acts in. An API key bound to a workspace implies it: omit the header, or send that same id (another id answers 403 WORKSPACE_SCOPE_MISMATCH). A member session must send it (400 MISSING_WORKSPACE without it).","uniqueKey":"","typeLabel":"string\u003cuuid>"}},"62f52617-55fc-46cc-a915-76088e2b2644":{"description":"Workspace ID","in":"path","name":"workspaceId","required":true,"schema":{"type":"string","isRequired":true,"description":"Workspace ID","uniqueKey":"","typeLabel":"string"}}},"responses":{"46cff9ce-fcd5-4bf7-ac76-695aac538e4a":{"content":{"application/json":{"schema":{"description":"What the workspace can do now, as the API enforces it. capabilities holds one decision per capability: allowed, or blocked with each blocker's code, the step that clears it (unlockStep), an estimate and the items still due. The quote and order routes apply the same decision and refuse with CAPABILITY_BLOCKED and the same blockers in details.capabilityBlockers.","properties":{"account":{"description":"The acting member's own verification: identity verification (kycStatus), verified wallet count and name screening. For an API key, the member who owns the key.","properties":{"kycStatus":{"description":"New values may be added; treat unknown values as other.","enum":["not_registered","pending","under_review","verified","denied","expired","renewal_pending","frozen"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"account.kycStatus","typeLabel":"enum\u003cstring>"},"sanctionsScreening":{"description":"A name and jurisdiction screening state. Only clear is clear: unscreened (no verdict recorded) and pending (no current verdict, for example after a name change) both block value movement.\n\nNew values may be added; treat unknown values as other.","enum":["unscreened","pending","clear","flagged"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"account.sanctionsScreening","typeLabel":"enum\u003cstring>"},"walletVerifiedCount":{"minimum":0,"type":"integer","isRequired":true,"uniqueKey":"account.walletVerifiedCount","typeLabel":"integer"}},"required":["kycStatus","walletVerifiedCount","sanctionsScreening"],"type":"object","isRequired":true,"uniqueKey":"account","typeLabel":"object"},"capabilities":{"additionalProperties":{"description":"Evaluation result for one capability.","properties":{"allowed":{"type":"boolean","isRequired":true,"uniqueKey":"capabilities.additionalProperties.allowed","typeLabel":"boolean"},"blockers":{"items":{"description":"One reason a capability is blocked, plus the step that unlocks it.","properties":{"code":{"description":"Stable machine-readable blocker codes returned by the capability gate.\n\nNew values may be added; treat unknown values as other.","enum":["WORKSPACE_NOT_FOUND","WORKSPACE_NOT_ACTIVE","WORKSPACE_SUSPENDED","PARENT_WORKSPACE_INACTIVE","INSUFFICIENT_PERMISSION","WORKSPACE_TYPE_UNSUPPORTED","BASE_PROFILE_INCOMPLETE","BASE_PROFILE_UNREADABLE","KYB_NOT_VERIFIED","KYC_NOT_VERIFIED","SANCTIONS_FLAGGED","MEMBER_COMPLIANCE_FROZEN","MEMBER_COMPLIANCE_DENIED","SCREENING_PENDING","SCREENING_UNAVAILABLE","GEO_RESTRICTED","WALLET_NOT_VERIFIED","DIRECT_USER_NOT_FOUND","DIRECT_USER_SUSPENDED","DIRECT_USER_KYC_NOT_VERIFIED","INSUFFICIENT_SCOPE","TREASURY_DISABLED","NO_USABLE_CREDENTIAL","CROSS_OWNER_WRITE_DENIED","AGGREGATE_SCOPE_READ_ONLY","OWNER_SCOPE_REQUIRED","VENUE_OPERATION_UNSUPPORTED","TAKER_ONBOARDING_INCOMPLETE","TAKER_ADMISSION_UNAVAILABLE"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"capabilities.additionalProperties.blockers.items.[INDEX].code","typeLabel":"enum\u003cstring>"},"estimate":{"description":"Coarse time-to-unlock class. The UI owns the copy; figures are engineering\nestimates until the KYB queue and Sumsub webhooks supply measured values.\n\nNew values may be added; treat unknown values as other.","enum":["minutes","formsThenReview","adminAction","otherParty","unknown","notUnlockable"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"capabilities.additionalProperties.blockers.items.[INDEX].estimate","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"capabilities.additionalProperties.blockers.items.[INDEX].message","typeLabel":"string"},"unlockStep":{"description":"Stable key of the step that unlocks this blocker. The UI maps it to a\nroute or dialog.","enum":["finishOnboarding","companyDetails","kybProfile","kycDialog","linkWallet","askAdmin","contactBroker","manageDirectUsers","manageApiKey","connectCustodian","switchAccountScope","contactSupport","awaitScreening","none"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"capabilities.additionalProperties.blockers.items.[INDEX].unlockStep","typeLabel":"enum\u003cstring>"},"currentlyDue":{"description":"Requirement keys still due, such as `kyb_review`, `actor_kyc` or\n`permission:place_order`. Empty when nothing specific is due.","items":{"type":"string","uniqueKey":"capabilities.additionalProperties.blockers.items.[INDEX].currentlyDue.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"capabilities.additionalProperties.blockers.items.[INDEX].currentlyDue","typeLabel":"string[]"}},"required":["code","message","unlockStep","estimate"],"type":"object","uniqueKey":"capabilities.additionalProperties.blockers.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"capabilities.additionalProperties.blockers","typeLabel":"object[]"}},"required":["allowed"],"type":"object","uniqueKey":"capabilities.additionalProperties","typeLabel":"object"},"propertyNames":{"description":"A capability: view_indicative_quotes, request_quotes (firm quotes), submit_order, establish_counterparty_relationship, onboard_direct_users, execute_value_movement, create_signing_authority, provision_wallet or activate_solver. Viewing never blocks on verification; acting does.\n\nNew values may be added; treat unknown values as other.","enum":["view_indicative_quotes","request_quotes","submit_order","establish_counterparty_relationship","onboard_direct_users","execute_value_movement","create_signing_authority","provision_wallet","activate_solver"],"type":"string","x-extensible-enum":true},"type":"object","isRequired":true,"uniqueKey":"capabilities","typeLabel":"object"},"platformStatus":{"description":"The workspace's platform status: onboarding, active, suspended or deactivated. lifecycle tells a KYB lapse apart from a suspension.\n\nNew values may be added; treat unknown values as other.","enum":["onboarding","active","suspended","deactivated"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"platformStatus","typeLabel":"enum\u003cstring>"},"screening":{"description":"The environment's screening sources, so a client can tell whether a screened claim is a real sanctions check.","properties":{"geoSource":{"description":"Where the request-geo fact comes from. `none` means no trusted source is\nconfigured in this zone, so no geo restriction is enforced (and nothing\nmay claim it is).\n\nNew values may be added; treat unknown values as other.","enum":["edgeHeader","none"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"screening.geoSource","typeLabel":"enum\u003cstring>"},"walletScreeningProvider":{"description":"The wallet-address screening provider this environment runs. unconfigured means none, and value-moving capabilities refuse with SCREENING_UNAVAILABLE.\n\nNew values may be added; treat unknown values as other.","enum":["chainalysis","sanctionsLists","mock","unconfigured"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"screening.walletScreeningProvider","typeLabel":"enum\u003cstring>"}},"required":["walletScreeningProvider","geoSource"],"type":"object","isRequired":true,"uniqueKey":"screening","typeLabel":"object"},"workspace":{"description":"The workspace's own verification. No workspace type needs TetraFi KYB to trade, and KYB blocks no capability. kybStatus is its effective KYB state, kept as profile information: not_started, pending, in_review, approved, rejected, expired, or unavailable when it could not be read; new values may be added.","properties":{"kybStatus":{"description":"New values may be added; treat unknown values as other.","enum":["not_started","pending","in_review","approved","rejected","expired","unavailable"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"workspace.kybStatus","typeLabel":"enum\u003cstring>"},"nameScreening":{"description":"A name and jurisdiction screening state. Only clear is clear: unscreened (no verdict recorded) and pending (no current verdict, for example after a name change) both block value movement.\n\nNew values may be added; treat unknown values as other.","enum":["unscreened","pending","clear","flagged"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"workspace.nameScreening","typeLabel":"enum\u003cstring>"},"kybRecord":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"workspace.kybRecord.oneOf.0","typeLabel":"null"},{"type":"object","description":"Permission-filtered KYB record facts; absent only from an older server.","required":["state"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"state":{"description":"New values may be added; treat unknown values as other.","enum":["notApplicable"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"workspace.kybRecord.oneOf.1.state","typeLabel":"enum\u003cstring>"}},"uniqueKey":"workspace.kybRecord.oneOf.1","typeLabel":"object"},{"type":"object","description":"Permission-filtered KYB record facts; absent only from an older server.","required":["state"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"state":{"description":"New values may be added; treat unknown values as other.","enum":["withheld"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"workspace.kybRecord.oneOf.2.state","typeLabel":"enum\u003cstring>"}},"uniqueKey":"workspace.kybRecord.oneOf.2","typeLabel":"object"},{"type":"object","description":"Permission-filtered KYB record facts; absent only from an older server.","required":["state"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"state":{"description":"New values may be added; treat unknown values as other.","enum":["absent"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"workspace.kybRecord.oneOf.3.state","typeLabel":"enum\u003cstring>"}},"uniqueKey":"workspace.kybRecord.oneOf.3","typeLabel":"object"},{"type":"object","description":"Permission-filtered KYB record facts; absent only from an older server.","required":["state"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"state":{"description":"New values may be added; treat unknown values as other.","enum":["unavailable"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"workspace.kybRecord.oneOf.4.state","typeLabel":"enum\u003cstring>"}},"uniqueKey":"workspace.kybRecord.oneOf.4","typeLabel":"object"},{"type":"object","description":"Permission-filtered KYB record facts; absent only from an older server.","required":["state"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"state":{"description":"New values may be added; treat unknown values as other.","enum":["recorded"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"workspace.kybRecord.oneOf.5.state","typeLabel":"enum\u003cstring>"},"expiresAt":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"workspace.kybRecord.oneOf.5.expiresAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"workspace.kybRecord.oneOf.5.expiresAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"workspace.kybRecord.oneOf.5.expiresAt","typeLabel":"string\u003cdate-time> | null"},"review":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"workspace.kybRecord.oneOf.5.review.oneOf.0","typeLabel":"null"},{"type":"object","description":"The workspace's active KYB review, when there is one.","required":["state"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"state":{"description":"New values may be added; treat unknown values as other.","enum":["none"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"workspace.kybRecord.oneOf.5.review.oneOf.1.state","typeLabel":"enum\u003cstring>"}},"uniqueKey":"workspace.kybRecord.oneOf.5.review.oneOf.1","typeLabel":"object"},{"type":"object","description":"The workspace's active KYB review, when there is one.","required":["state","queueId","status","reason","submittedAt"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"queueId":{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"workspace.kybRecord.oneOf.5.review.oneOf.2.queueId","typeLabel":"string\u003cuuid>"},"reason":{"description":"Why a KYB review was opened: the initial review, an expiry, an operator request or a compliance review.\n\nNew values may be added; treat unknown values as other.","enum":["expiry","operator_requested","compliance_review","initial"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"workspace.kybRecord.oneOf.5.review.oneOf.2.reason","typeLabel":"enum\u003cstring>"},"status":{"description":"Status of a KYB review: pending, under_review, approved, rejected or expired.\n\nNew values may be added; treat unknown values as other.","enum":["pending","under_review","approved","rejected","expired"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"workspace.kybRecord.oneOf.5.review.oneOf.2.status","typeLabel":"enum\u003cstring>"},"submittedAt":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"workspace.kybRecord.oneOf.5.review.oneOf.2.submittedAt","typeLabel":"string\u003cdate-time>"},"state":{"description":"New values may be added; treat unknown values as other.","enum":["recorded"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"workspace.kybRecord.oneOf.5.review.oneOf.2.state","typeLabel":"enum\u003cstring>"},"decidedAt":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"workspace.kybRecord.oneOf.5.review.oneOf.2.decidedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"workspace.kybRecord.oneOf.5.review.oneOf.2.decidedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"workspace.kybRecord.oneOf.5.review.oneOf.2.decidedAt","typeLabel":"string\u003cdate-time> | null"}},"uniqueKey":"workspace.kybRecord.oneOf.5.review.oneOf.2","typeLabel":"object"},{"type":"object","description":"The workspace's active KYB review, when there is one.","required":["state"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"state":{"description":"New values may be added; treat unknown values as other.","enum":["unavailable"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"workspace.kybRecord.oneOf.5.review.oneOf.3.state","typeLabel":"enum\u003cstring>"}},"uniqueKey":"workspace.kybRecord.oneOf.5.review.oneOf.3","typeLabel":"object"}],"uniqueKey":"workspace.kybRecord.oneOf.5.review","typeLabel":"null · object · object · object"},"verifiedAt":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"workspace.kybRecord.oneOf.5.verifiedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"workspace.kybRecord.oneOf.5.verifiedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"workspace.kybRecord.oneOf.5.verifiedAt","typeLabel":"string\u003cdate-time> | null"}},"uniqueKey":"workspace.kybRecord.oneOf.5","typeLabel":"object"}],"uniqueKey":"workspace.kybRecord","typeLabel":"null · object · object · object · object · object"}},"required":["nameScreening","kybStatus"],"type":"object","isRequired":true,"uniqueKey":"workspace","typeLabel":"object"},"workspaceId":{"type":"string","isRequired":true,"uniqueKey":"workspaceId","typeLabel":"string"},"workspaceType":{"description":"The workspace type: direct_user, company, broker or lp.\n\nNew values may be added; treat unknown values as other.","enum":["direct_user","company","broker","lp"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"workspaceType","typeLabel":"enum\u003cstring>"},"bookAccountsEnabled":{"description":"Whether the platform exposes desk books. This is presentation availability,\nnot permission to read another holder's book or to move funds.","type":"boolean","uniqueKey":"bookAccountsEnabled","typeLabel":"boolean"},"informationNeeded":{"oneOf":[{"description":"The LPs this workspace has a relationship with whose enforced serving\nrequirements find a fact it has not recorded, with the onboarding items\nthat supply it. Advisory, never a blocker. `null` when the requirements\ncould not be read; an empty list when nothing is needed.","items":{"description":"One LP whose enforced serving requirement finds a fact the workspace has\nnot recorded, and the onboarding catalogue items that supply it. Advisory:\nit blocks nothing by itself; the trading path refuses with\n`LP_REQUIREMENT_INFORMATION_NEEDED` and the same items.","properties":{"items":{"description":"Catalogue item ids (`std.*`), in catalogue-map order, without repeats.","items":{"type":"string","uniqueKey":"informationNeeded.oneOf.0.items.[INDEX].\\items.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"informationNeeded.oneOf.0.items.[INDEX].\\items","typeLabel":"string[]"},"lpEntityId":{"type":"string","isRequired":true,"uniqueKey":"informationNeeded.oneOf.0.items.[INDEX].lpEntityId","typeLabel":"string"}},"required":["lpEntityId","items"],"type":"object","uniqueKey":"informationNeeded.oneOf.0.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"informationNeeded.oneOf.0","typeLabel":"object[]"},{"description":"The LPs this workspace has a relationship with whose enforced serving\nrequirements find a fact it has not recorded, with the onboarding items\nthat supply it. Advisory, never a blocker. `null` when the requirements\ncould not be read; an empty list when nothing is needed.","items":{"description":"One LP whose enforced serving requirement finds a fact the workspace has\nnot recorded, and the onboarding catalogue items that supply it. Advisory:\nit blocks nothing by itself; the trading path refuses with\n`LP_REQUIREMENT_INFORMATION_NEEDED` and the same items.","properties":{"items":{"description":"Catalogue item ids (`std.*`), in catalogue-map order, without repeats.","items":{"type":"string"},"type":"array"},"lpEntityId":{"type":"string"}},"required":["lpEntityId","items"],"type":"object"},"type":"null","uniqueKey":"informationNeeded.oneOf.1","typeLabel":"null"}],"uniqueKey":"informationNeeded","typeLabel":"object[] | null"},"lifecycle":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"lifecycle.oneOf.0","typeLabel":"null"},{"type":"string","description":"Where the workspace stands, as the gates read it: onboarding, active, suspended, deactivated or archived.","enum":["onboarding","active","suspended","deactivated","archived"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"lifecycle.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"lifecycle","typeLabel":"null | enum\u003cstring>"}},"required":["workspaceId","workspaceType","platformStatus","account","workspace","screening","capabilities"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"account":{"kycStatus":"not_registered","sanctionsScreening":"unscreened","walletVerifiedCount":1},"capabilities":{},"platformStatus":"onboarding","screening":{"geoSource":"edgeHeader","walletScreeningProvider":"chainalysis"},"workspace":{"kybStatus":"not_started","nameScreening":"unscreened","kybRecord":{"state":"notApplicable"}},"workspaceId":"\u003cstring>","workspaceType":"direct_user","bookAccountsEnabled":true,"informationNeeded":[{"items":["\u003cstring>"],"lpEntityId":"\u003cstring>"}],"lifecycle":"onboarding"}}},"exampleType":"generated"}},"description":"Capability snapshot with blockers per capability and permission-filtered KYB record facts; failed review reads report unavailable while preserving HTTP 200","headers":{"Deprecation":{"description":"Present when this operation is deprecated: an RFC 9745 structured date, for example @1792443399. Absence makes no deprecation claim.","schema":{"type":"string"}},"Link":{"description":"When deprecation applies, links to the deprecation notice with rel=deprecation; other link relations may also be sent.","schema":{"type":"string"}},"RateLimit":{"description":"draft-ietf-httpapi-ratelimit-headers-07 section 3.1 structured dictionary, for example `limit=100, remaining=41, reset=19`. Remaining is the admitted decision's headroom; reset is whole seconds until quota next becomes available, not an epoch or a promise of a full burst refill. On a limiter's 429 remaining is 0 and reset equals Retry-After. Accepted key, route and per-address policies are compared by lowest remaining, then longest reset. A venue refusal without a known quota makes no rate-limit header claim.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"draft-ietf-httpapi-ratelimit-headers-07 section 3.5: quota and window in seconds, for example `100;w=60`. Sent on every status when a finite limiter counted the request. The applicable policy closest to exhaustion is reported (section 3.2): lowest remaining, then longest reset. On a limiter's 429 this is exactly the policy that refused; if a venue discloses no quota, the headers are absent.","schema":{"type":"string"}},"Sunset":{"description":"Present when retirement is scheduled: the HTTP-date after which this version may stop being served (RFC 8594).","schema":{"type":"string"}},"x-request-id":{"description":"The request's id: the caller's valid `X-Request-Id`, or a generated UUID v4. Quote it when asking for support.","schema":{"type":"string"}}},"exampleType":"generated"},"2dcddce7-92e5-41ed-bcf2-84d47b88d451":{"content":{"application/json":{"schema":{"description":"The shared refusal body of every integrator operation, including edge-layer errors.\n`error` is an open, stable machine-readable code; `docUrl` links to its documentation and\n`retryable` says whether an unchanged request may succeed later. `message` is for people,\nnot matching. `timestamp` is RFC 3339 UTC; optional `requestId` mirrors `X-Request-Id`.\nOptional `next` describes recovery and `details` carries code-specific information.\nHandle known codes and fall back on the HTTP status for unknown ones.","properties":{"docUrl":{"description":"Stable documentation for this refusal code.","type":"string","isRequired":true,"uniqueKey":"docUrl","typeLabel":"string"},"error":{"description":"The machine-readable code, for example `QUOTE_EXPIRED`.","type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"description":"What happened, in words a person can read. Not for matching.","type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"retryable":{"description":"Whether an unchanged request may succeed later, from the error catalogue.","type":"boolean","isRequired":true,"uniqueKey":"retryable","typeLabel":"boolean"},"timestamp":{"description":"When the refusal was made, as an RFC 3339 UTC timestamp.","format":"date-time","type":"string","isRequired":true,"uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"},"details":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.0","typeLabel":"null"},{"type":"object","description":"The code's detail. Each field is present only on the codes named beside it; other codes may\ncarry further fields, named in camelCase, which a client may ignore.","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"capabilityBlockers":{"oneOf":[{"description":"`CAPABILITY_BLOCKED` and the other capability refusals: what blocks the workspace.","items":{"description":"One reason a capability is blocked, plus the step that unlocks it.","properties":{"code":{"description":"Stable machine-readable blocker codes returned by the capability gate.\n\nNew values may be added; treat unknown values as other.","enum":["WORKSPACE_NOT_FOUND","WORKSPACE_NOT_ACTIVE","WORKSPACE_SUSPENDED","PARENT_WORKSPACE_INACTIVE","INSUFFICIENT_PERMISSION","WORKSPACE_TYPE_UNSUPPORTED","BASE_PROFILE_INCOMPLETE","BASE_PROFILE_UNREADABLE","KYB_NOT_VERIFIED","KYC_NOT_VERIFIED","SANCTIONS_FLAGGED","MEMBER_COMPLIANCE_FROZEN","MEMBER_COMPLIANCE_DENIED","SCREENING_PENDING","SCREENING_UNAVAILABLE","GEO_RESTRICTED","WALLET_NOT_VERIFIED","DIRECT_USER_NOT_FOUND","DIRECT_USER_SUSPENDED","DIRECT_USER_KYC_NOT_VERIFIED","INSUFFICIENT_SCOPE","TREASURY_DISABLED","NO_USABLE_CREDENTIAL","CROSS_OWNER_WRITE_DENIED","AGGREGATE_SCOPE_READ_ONLY","OWNER_SCOPE_REQUIRED","VENUE_OPERATION_UNSUPPORTED","TAKER_ONBOARDING_INCOMPLETE","TAKER_ADMISSION_UNAVAILABLE"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].code","typeLabel":"enum\u003cstring>"},"estimate":{"description":"Coarse time-to-unlock class. The UI owns the copy; figures are engineering\nestimates until the KYB queue and Sumsub webhooks supply measured values.\n\nNew values may be added; treat unknown values as other.","enum":["minutes","formsThenReview","adminAction","otherParty","unknown","notUnlockable"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].estimate","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].message","typeLabel":"string"},"unlockStep":{"description":"Stable key of the step that unlocks this blocker. The UI maps it to a\nroute or dialog.","enum":["finishOnboarding","companyDetails","kybProfile","kycDialog","linkWallet","askAdmin","contactBroker","manageDirectUsers","manageApiKey","connectCustodian","switchAccountScope","contactSupport","awaitScreening","none"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].unlockStep","typeLabel":"enum\u003cstring>"},"currentlyDue":{"description":"Requirement keys still due, such as `kyb_review`, `actor_kyc` or\n`permission:place_order`. Empty when nothing specific is due.","items":{"type":"string","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].currentlyDue.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].currentlyDue","typeLabel":"string[]"}},"required":["code","message","unlockStep","estimate"],"type":"object","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0","typeLabel":"object[]"},{"description":"`CAPABILITY_BLOCKED` and the other capability refusals: what blocks the workspace.","items":{"description":"One reason a capability is blocked, plus the step that unlocks it.","properties":{"code":{"description":"Stable machine-readable blocker codes returned by the capability gate.\n\nNew values may be added; treat unknown values as other.","enum":["WORKSPACE_NOT_FOUND","WORKSPACE_NOT_ACTIVE","WORKSPACE_SUSPENDED","PARENT_WORKSPACE_INACTIVE","INSUFFICIENT_PERMISSION","WORKSPACE_TYPE_UNSUPPORTED","BASE_PROFILE_INCOMPLETE","BASE_PROFILE_UNREADABLE","KYB_NOT_VERIFIED","KYC_NOT_VERIFIED","SANCTIONS_FLAGGED","MEMBER_COMPLIANCE_FROZEN","MEMBER_COMPLIANCE_DENIED","SCREENING_PENDING","SCREENING_UNAVAILABLE","GEO_RESTRICTED","WALLET_NOT_VERIFIED","DIRECT_USER_NOT_FOUND","DIRECT_USER_SUSPENDED","DIRECT_USER_KYC_NOT_VERIFIED","INSUFFICIENT_SCOPE","TREASURY_DISABLED","NO_USABLE_CREDENTIAL","CROSS_OWNER_WRITE_DENIED","AGGREGATE_SCOPE_READ_ONLY","OWNER_SCOPE_REQUIRED","VENUE_OPERATION_UNSUPPORTED","TAKER_ONBOARDING_INCOMPLETE","TAKER_ADMISSION_UNAVAILABLE"],"type":"string","x-extensible-enum":true},"currentlyDue":{"description":"Requirement keys still due, such as `kyb_review`, `actor_kyc` or\n`permission:place_order`. Empty when nothing specific is due.","items":{"type":"string"},"type":"array"},"estimate":{"description":"Coarse time-to-unlock class. The UI owns the copy; figures are engineering\nestimates until the KYB queue and Sumsub webhooks supply measured values.\n\nNew values may be added; treat unknown values as other.","enum":["minutes","formsThenReview","adminAction","otherParty","unknown","notUnlockable"],"type":"string","x-extensible-enum":true},"message":{"type":"string"},"unlockStep":{"description":"Stable key of the step that unlocks this blocker. The UI maps it to a\nroute or dialog.","enum":["finishOnboarding","companyDetails","kybProfile","kycDialog","linkWallet","askAdmin","contactBroker","manageDirectUsers","manageApiKey","connectCustodian","switchAccountScope","contactSupport","awaitScreening","none"],"type":"string","x-extensible-enum":true}},"required":["code","message","unlockStep","estimate"],"type":"object"},"type":"null","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.capabilityBlockers","typeLabel":"object[] | null"},"conflicts":{"oneOf":[{"description":"`REQUOTE_FIELDS_CONFLICT`: the fields that cannot go with `requote`.","items":{"type":"string","uniqueKey":"details.oneOf.1.conflicts.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"details.oneOf.1.conflicts.oneOf.0","typeLabel":"string[]"},{"description":"`REQUOTE_FIELDS_CONFLICT`: the fields that cannot go with `requote`.","items":{"type":"string"},"type":"null","uniqueKey":"details.oneOf.1.conflicts.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.conflicts","typeLabel":"string[] | null"},"consentedWindow":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.0","typeLabel":"null"},{"type":"object","description":"`SETTLEMENT_WINDOW_CHANGED`: the settlement window the order consented to (the quoted\nwindow, or the one its `settlementWindowId` named), which is no longer the one assigned.","required":["windowId","scheduleId","scheduleVersion","scheduleLabel","cadence","snapshotAt"],"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"cadence":{"oneOf":[{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.dayBasis","typeLabel":"enum\u003cstring>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["intraday"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"everyHours":{"oneOf":[{"format":"int32","minimum":0,"type":"integer","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.everyHours.oneOf.0","typeLabel":"integer\u003cint32>"},{"format":"int32","minimum":0,"type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.everyHours.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.everyHours","typeLabel":"integer\u003cint32> | null"},"localTimes":{"oneOf":[{"items":{"type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.0","typeLabel":"string[]"},{"items":{"type":"string"},"type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.localTimes","typeLabel":"string[] | null"}},"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0","typeLabel":"object"},{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["days","dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.1.dayBasis","typeLabel":"enum\u003cstring>"},"days":{"format":"int32","minimum":0,"type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.1.days","typeLabel":"integer\u003cint32>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["daily"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.1.kind","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.1","typeLabel":"object"},{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["days","dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.2.dayBasis","typeLabel":"enum\u003cstring>"},"days":{"format":"int32","minimum":0,"type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.2.days","typeLabel":"integer\u003cint32>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["multiDay"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.2.kind","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.2","typeLabel":"object"}],"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence","typeLabel":"object"},"scheduleId":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.scheduleId","typeLabel":"string"},"scheduleLabel":{"description":"The published schedule version's display name (e.g. \"EU\"), so a quote card or Review\nnames the window without a settlement read permission.","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.scheduleLabel","typeLabel":"string"},"scheduleVersion":{"format":"int64","type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.scheduleVersion","typeLabel":"integer\u003cint64>"},"snapshotAt":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.snapshotAt","typeLabel":"string\u003cdate-time>"},"windowId":{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.windowId","typeLabel":"string\u003cuuid>"},"assumedBoundary":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.0","typeLabel":"null"},{"type":"object","description":"Present when the window's boundary comes from an assumed schedule term rather than the\nLP's confirmation: every surface shows the window as assumed until the LP confirms it.","required":["timeZone","source","lpName"],"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"lpName":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.1.lpName","typeLabel":"string"},"source":{"description":"Where the assumed boundary came from, as recorded in the settlement schedule; free text.","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.1.source","typeLabel":"string"},"timeZone":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.1.timeZone","typeLabel":"string"}},"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.1","typeLabel":"object"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary","typeLabel":"null | object"},"cutoffAt":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cutoffAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cutoffAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cutoffAt","typeLabel":"string\u003cdate-time> | null"},"paymentDeadlineAt":{"oneOf":[{"description":"The occurrence's payment deadline from its schedule terms: what a credit trade's debt is\npaid by. Absent while the schedule has not confirmed it; never derived from `settlesBy`.","format":"date-time","type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.paymentDeadlineAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"description":"The occurrence's payment deadline from its schedule terms: what a credit trade's debt is\npaid by. Absent while the schedule has not confirmed it; never derived from `settlesBy`.","format":"date-time","type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.paymentDeadlineAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.paymentDeadlineAt","typeLabel":"string\u003cdate-time> | null"},"settlementBasis":{"description":"What completes a window's settlement. `clock`: the occurrence's confirmed completion time\n(`settlesBy`). `onAgreement`: the LP issues the window's statement and the trade settles\nonce that statement is agreed (Keyrock), so the window states no clock time.\n\nNew values may be added; treat unknown values as other.","enum":["clock","onAgreement"],"type":"string","x-extensible-enum":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.settlementBasis","typeLabel":"enum\u003cstring>"},"settlesBy":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.settlesBy.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.settlesBy.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.settlesBy","typeLabel":"string\u003cdate-time> | null"},"statementIssuer":{"oneOf":[{"description":"The LP whose statement settles an `onAgreement` window (\"Keyrock\"); absent on a clock window.","type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.statementIssuer.oneOf.0","typeLabel":"string"},{"description":"The LP whose statement settles an `onAgreement` window (\"Keyrock\"); absent on a clock window.","type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.statementIssuer.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.statementIssuer","typeLabel":"string | null"}},"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1","typeLabel":"object"}],"uniqueKey":"details.oneOf.1.consentedWindow","typeLabel":"null | object"},"currentWindow":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.currentWindow.oneOf.0","typeLabel":"null"},{"type":"object","description":"`SETTLEMENT_WINDOW_CHANGED`: the settlement window the server assigns the trade now.\nSend the same quote again with `settlementWindowId` set to `details.currentWindow.windowId`\nto consent to it.","required":["windowId","scheduleId","scheduleVersion","scheduleLabel","cadence","snapshotAt"],"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"cadence":{"oneOf":[{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.dayBasis","typeLabel":"enum\u003cstring>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["intraday"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"everyHours":{"oneOf":[{"format":"int32","minimum":0,"type":"integer","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.everyHours.oneOf.0","typeLabel":"integer\u003cint32>"},{"format":"int32","minimum":0,"type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.everyHours.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.everyHours","typeLabel":"integer\u003cint32> | null"},"localTimes":{"oneOf":[{"items":{"type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.0","typeLabel":"string[]"},{"items":{"type":"string"},"type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.localTimes","typeLabel":"string[] | null"}},"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0","typeLabel":"object"},{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["days","dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.1.dayBasis","typeLabel":"enum\u003cstring>"},"days":{"format":"int32","minimum":0,"type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.1.days","typeLabel":"integer\u003cint32>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["daily"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.1.kind","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.1","typeLabel":"object"},{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["days","dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.2.dayBasis","typeLabel":"enum\u003cstring>"},"days":{"format":"int32","minimum":0,"type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.2.days","typeLabel":"integer\u003cint32>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["multiDay"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.2.kind","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.2","typeLabel":"object"}],"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence","typeLabel":"object"},"scheduleId":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.scheduleId","typeLabel":"string"},"scheduleLabel":{"description":"The published schedule version's display name (e.g. \"EU\"), so a quote card or Review\nnames the window without a settlement read permission.","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.scheduleLabel","typeLabel":"string"},"scheduleVersion":{"format":"int64","type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.scheduleVersion","typeLabel":"integer\u003cint64>"},"snapshotAt":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.snapshotAt","typeLabel":"string\u003cdate-time>"},"windowId":{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.windowId","typeLabel":"string\u003cuuid>"},"assumedBoundary":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.0","typeLabel":"null"},{"type":"object","description":"Present when the window's boundary comes from an assumed schedule term rather than the\nLP's confirmation: every surface shows the window as assumed until the LP confirms it.","required":["timeZone","source","lpName"],"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"lpName":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.1.lpName","typeLabel":"string"},"source":{"description":"Where the assumed boundary came from, as recorded in the settlement schedule; free text.","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.1.source","typeLabel":"string"},"timeZone":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.1.timeZone","typeLabel":"string"}},"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.1","typeLabel":"object"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary","typeLabel":"null | object"},"cutoffAt":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cutoffAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cutoffAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cutoffAt","typeLabel":"string\u003cdate-time> | null"},"paymentDeadlineAt":{"oneOf":[{"description":"The occurrence's payment deadline from its schedule terms: what a credit trade's debt is\npaid by. Absent while the schedule has not confirmed it; never derived from `settlesBy`.","format":"date-time","type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.paymentDeadlineAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"description":"The occurrence's payment deadline from its schedule terms: what a credit trade's debt is\npaid by. Absent while the schedule has not confirmed it; never derived from `settlesBy`.","format":"date-time","type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.paymentDeadlineAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.paymentDeadlineAt","typeLabel":"string\u003cdate-time> | null"},"settlementBasis":{"description":"What completes a window's settlement. `clock`: the occurrence's confirmed completion time\n(`settlesBy`). `onAgreement`: the LP issues the window's statement and the trade settles\nonce that statement is agreed (Keyrock), so the window states no clock time.\n\nNew values may be added; treat unknown values as other.","enum":["clock","onAgreement"],"type":"string","x-extensible-enum":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.settlementBasis","typeLabel":"enum\u003cstring>"},"settlesBy":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.settlesBy.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.settlesBy.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.settlesBy","typeLabel":"string\u003cdate-time> | null"},"statementIssuer":{"oneOf":[{"description":"The LP whose statement settles an `onAgreement` window (\"Keyrock\"); absent on a clock window.","type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.statementIssuer.oneOf.0","typeLabel":"string"},{"description":"The LP whose statement settles an `onAgreement` window (\"Keyrock\"); absent on a clock window.","type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.statementIssuer.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.statementIssuer","typeLabel":"string | null"}},"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1","typeLabel":"object"}],"uniqueKey":"details.oneOf.1.currentWindow","typeLabel":"null | object"},"field":{"oneOf":[{"description":"`INVALID_REQUEST`: the path of a missing required, unknown, mistyped or out-of-range\nfield (for example `buy` or `sell.asset`), never the parser's message or input value.","type":"string","uniqueKey":"details.oneOf.1.field.oneOf.0","typeLabel":"string"},{"description":"`INVALID_REQUEST`: the path of a missing required, unknown, mistyped or out-of-range\nfield (for example `buy` or `sell.asset`), never the parser's message or input value.","type":"null","uniqueKey":"details.oneOf.1.field.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.field","typeLabel":"string | null"},"reason":{"oneOf":[{"type":"string","description":"A machine-readable reason token the refusing step gave.\n\nKnown source reason tokens (not all apply to every status): `clockUnavailable`, `assetUnsupported`, `referenceUndeclarable`, `referenceNotAdmitted`, `referenceStale`, `referenceDepth`, `marketDataUnavailable`, `calibrationUnavailable`, `livePriceUnavailable`, `lpQuoteUnavailable`, `platformJurisdictionCountryRequired`, `platformJurisdictionUnavailable`, `platformJurisdictionBlocked`, `venueJurisdictionExcluded`, `workspaceJurisdictionRequired`, `jurisdictionRegionRequired`, `jurisdictionUnavailable`, `venueKeyRefusedLikelyIpAllowlist`, `venueWithdrawalDestinationNotWhitelisted`, `adapterPayloadSerializationFailed`, `basicVenueAccountsUnavailable`, `billingPaymentOverdue`, `walletNotOnChain`, `ccxtVenueRequiresCexLane`, `executionStageDisabled`, `jurisdictionUnproven`, `onboardedVenuesUnavailable`, `onchainAccountDefaultWalletRequired`, `onchainAccountDefaultWalletUnavailable`, `onchainAccountWalletRequired`, `onchainAssetDecimalsMismatch`, `onchainAssetIdentityMismatch`, `onchainAssetUnmapped`, `onchainAssetVariantFiltered`, `onchainWalletUnavailable`, `onchainCatalogueUnavailable`, `onchainDeliverToNotReceivingWallet`, `onchainDeliverToUnverified`, `onchainMarketsUnavailable`, `onchainMarketCatalogUnreadable`, `onchainMarketChainRequired`, `onchainMarketVariantRequired`, `onchainMarketTokenRequired`, `onchainSiteChainUnreadable`, `onchainWalletChainUnreadable`, `onchainWalletInactive`, `onchainWalletNotLinked`, `onchainWalletNotUsable`, `onchainWalletPickAmbiguous`, `onchainWalletWrongNetwork`, `signerLacksRight`, `signerUnavailable`, `signingGrantAmbiguous`, `signingGrantExpired`, `nativeGrantExpiryReapprovalRequired`, `nativeBalanceUnavailable`, `solanaFinalityUnavailable`, `tronSolidBlockUnavailable`, `signingGrantPolicyUnreadable`, `signingGrantPolicyChecking`, `signingGrantRequired`, `signingGrantTokenNotKept`, `signingGrantTokenNotPayable`, `solverChainUnready`, `walletChainMismatch`, `walletNotUsableByYou`, `walletNotVerifiedForAce`, `walletNotWhitelisted`, `withdrawalChainUnsupported`, `accountFeeUnavailable`, `comparisonCostsUnavailable`, `connectionListingUnavailable`, `feeUnverified`, `noPool`, `noPrice`, `noSize`, `notFilled`, `notYetPublished`, `priceArithmetic`, `priceSourceNone`, `referenceMidUnavailable`, `settlementPrecisionUnavailable`, `accountSetupIncomplete`, `admissionUnavailable`, `advancedAccountEligibilityUnavailable`, `advancedAccountStateInconsistent`, `advancedConnectionDisabled`, `advancedConnectionNotConfigured`, `advancedConnectionPaused`, `advancedSettlementNeedsVerification`, `advancedModeDisabled`, `advancedNotAvailableForAccount`, `advancedNotEnabledForAccount`, `allowanceUnavailable`, `acrossCapacityExceeded`, `relayCapacityExceeded`, `acrossChainNotCarried`, `cctpChainNotCarried`, `cctpWalletRequired`, `acrossWalletRequired`, `walletBrowserSigningEvmOnly`, `relayChainNotCarried`, `apiKeyAdvancedWalletUnsupported`, `apiKeyOrganisationWalletScopeRequired`, `grantCapExceeded`, `amountAboveMaximum`, `amountBelowMinimum`, `belowVenueMinimum`, `amountUnreadable`, `amountsUnreadable`, `askFirst`, `authorityUnavailable`, `automationNeverAsks`, `availabilityUnreadable`, `backgroundNeverAsks`, `balanceUnreadable`, `defaultsUnavailable`, `walletHasNoAddress`, `walletUnavailable`, `bondAmountUnreadable`, `bondAssetUnreadable`, `catalogueUnavailable`, `chainFamilyUnknown`, `chainUnrecorded`, `clientSessionRequired`, `clockUnreadable`, `comingSoon`, `connectionChanged`, `connectionRevoked`, `corridorInvalid`, `credential`, `deadlineExceeded`, `defaultsLoading`, `deliverToCalldataUnsupported`, `deliverToTagUnsupported`, `deliverToNotPermitted`, `deliverToUnreadable`, `tradingPermissionRequired`, `directPatienceHarvest`, `economicallyInferior`, `exactAmountConflictsWithCard`, `exactAmountConflictsWithQuote`, `exactOutputDeliveryUnsupported`, `exactOutputEstimateUnavailable`, `exactRouteHypothesisUnavailable`, `expiredOnArrival`, `expiryUnknown`, `feeUnreadable`, `filteredOut`, `firmAskRefused`, `firmAskFundsTimedOut`, `firmAskPreparationTimedOut`, `quotePreparationFailed`, `firmAskAdmissionTimedOut`, `seliniFirmAskMarketsTimedOut`, `seliniFirmAskHandoffTimedOut`, `seliniFirmAskBeforePostTimedOut`, `seliniFirmAskValidationTimedOut`, `seliniFirmAskResponseTimedOut`, `seliniFirmAskTransportFailure`, `rfqQuoteRefusedQuoteNotAvailable`, `rfqQuoteRefusedQuotingDisabled`, `rfqQuoteRefusedClientRfqNotConfigured`, `rfqQuoteRefusedClientProfileNotLoaded`, `rfqQuoteRefusedMarketDisabled`, `rfqQuoteRefusedInvalidQuantity`, `rfqQuoteRefusedInvalidSide`, `rfqQuoteRefusedInvalidCurrency`, `rfqQuoteRefusedPricePrecisionError`, `rfqQuoteRefusedRfqError`, `rfqQuoteRefused`, `venueOutcomeIndeterminate`, `venueBodyUnreadable`, `venueResponseUnmapped`, `venueRateLimited`, `venueQuoteAdmissionExpired`, `placementSignedPastDeadline`, `quoteIdentityConflict`, `symbolUnsupported`, `marketSymbolAmbiguous`, `firmAskPrincipalRequired`, `indicativeRequested`, `freshnessUnknown`, `fundingWindow`, `insufficientLiquidity`, `venueRelationship`, `venueRelationshipUnavailable`, `lpUnknown`, `mfaEnrolmentRequired`, `mfaRequired`, `minimumUnverified`, `mixedNetworks`, `netReceivedUnavailable`, `networkUnrecorded`, `noAddress`, `noCard`, `noFetcher`, `noInventory`, `noLaneForPair`, `noLegs`, `noOnChainCorridor`, `noPlannedVenue`, `noQuote`, `noRpc`, `notConnected`, `notEligible`, `notExecutable`, `orderPayloadMissing`, `outsideTopComposites`, `pairUnmapped`, `sellChainInvalid`, `permissionsUnreadable`, `placeOrderNotPermitted`, `prefundingMarkerUnreadable`, `prefundingRequired`, `indicative`, `priceOnRequest`, `priceOutOfRange`, `priceProtectionInvalid`, `pricingBookOnly`, `productNotQuoted`, `protocolChainMissing`, `providerFeeTreatmentUnknown`, `providerSiteUnrecorded`, `quoteIdUnissuable`, `quoteNotHeld`, `buyChainInvalid`, `buyAmountUnsupported`, `exactOutputDebitUnavailable`, `pairNotServed`, `accountFundingReadUnverified`, `quoteReconfirmationRequired`, `quoteRejected`, `keyrockSecurityCatalogueUnavailable`, `venueAnsweredAfterQuoteWindow`, `venueQuoteIntentMismatch`, `payExactUnsupported`, `receiveWalletNotServed`, `referenceMidUnreadable`, `referencePriceUnavailable`, `registryUnavailable`, `releaseRecheckUnavailable`, `requestUnbuildable`, `routeLegChainUnknown`, `routeLegUnnamed`, `routeLegUnplanned`, `routeUnavailable`, `secondFactorUnreadable`, `shortfallUnmeasured`, `shortfallUnreadable`, `singleChainVenue`, `siteChainUnreadable`, `sizeNotEligible`, `submitOrderBlocked`, `takerOnboardingIncomplete`, `tierNotQuoted`, `tradePaused`, `venueConnectionStorageUnavailable`, `venueDataStale`, `venueDeclined`, `venueNotConnected`, `venueNotEnabledForWorkspace`, `venueNotListed`, `venueTradeKeyUnavailable`, `venueTradeScopeRequired`, `venueTradeUnreadable`, `venueUnavailable`, `walletRefused`, `withdrawalFeeUnread`, `acrossRoutedViaCctp`, `apiKeyOrganisationWalletNotAllowlisted`, `balanceAvailabilityUnconfirmed`, `bankDestinationUnavailable`, `bebopJamKeyNotEnabled`, `bebopJamQuoteDeclined`, `bebopTokenUnavailable`, `relayCurrencyUnsupported`, `relaySwapImpactTooHigh`, `tetrafiSolverCallbackNotAuthorized`, `tradingLinkSnapshotChanged`, `tradingLinkSnapshotUnavailable`, `uniswapChainReadUnavailable`, `uniswapInsufficientDepth`, `uniswapQuoteUnreadable`, `uniswapUnwrapAboveDailyCap`, `uniswapUnwrapAboveTradeCap`, `uniswapRouteNotGranted`, `venueNotEnabled`, `askLimitReached`, `balanceMeaningUnconfirmed`, `bebopQuorumWalletTooSlow`, `bebopWalletQuorumUnreadable`, `bebopBrowserWalletUnsupported`, `connectionNotConfigured`, `deliveryAccountNetworkUnavailable`, `deliveryAccountUnavailable`, `destinationCannotSendOnChain`, `dexReferencePriceUnavailable`, `firmQuoteLimited`, `fundingAccountNetworkUnavailable`, `fundingAccountUnavailable`, `insufficientDepth`, `missingPermission`, `needsNativeGas`, `needsWallet`, `notPriced`, `payInTermsUnavailable`, `pilotTradeCapExceeded`, `pilotMinimumAboveTradeCap`, `platformFeeRateUnavailable`, `pricingBookPairUnserved`, `settlementDeclarationUnavailable`, `settlementNotAvailable`, `timedOut`, `timedOutBeforeSend`, `tradingSourceNetworkUnavailable`, `tradingSourceNotLinked`, `venueEnablementRechecking`, `venueEnablementUnavailable`, `venueListingTimedOut`, `venuePoliciesUnavailable`, `multiliquidPaused`, `multiliquidAssetNotAccepted`, `walletNotAllowlistedForAsset`, `walletBlacklisted`, `multiliquidPriceInvalid`, `multiliquidStablePriceOutOfBand`, `multiliquidInsufficientLiquidity`, `multiliquidProviderPrefundUnavailable`, `multiliquidDailyLimitReached`, `eligibilityUnverifiable`, `multiliquidInsufficientBalance`, `multiliquidWalletFundsInsufficient`, `multiliquidInsufficientAllowance`, `walletTokenAccountFrozen`, `multiliquidAmountInTooHigh`, `multiliquidAmountOutTooLow`, `multiliquidInsufficientLpFeeBalance`, `multiliquidTransferFeeNotSupported`, `multiliquidParticipantUnavailable`, `multiliquidChainNotSupported`, `multiliquidObservationWalletUnavailable`, `privyMultiliquidArrayPinsUnsupported`, `cctpDestinationNotGranted`, `signingGrantNativeOnly`, `quoteRejectedInsufficientBalance`, `walletGateUnreadable`, `policyBlocked`, `treasuryPolicyApprovalRequired`, `destinationTagRequired`, `destinationTagMismatch`, `destinationTagInvalid`, `acrossBasicLaneNotEnabled`, `creditReadUnavailable`, `exactOutputFirmAskUnsupported`, `grantEndsBeforeVenueFunding`, `jurisdictionNotServed`, `pairUnsupported`, `requesterJurisdictionUnknown`, `venueAccountHasNoKey`, `venueAssessmentRequired`, `venueConnectionInvalid`, `venueReenableRequiresNewCredentials`, `venueTradingPaused`, `balanceNotObserved`, `notPermitted`, `balanceNotPermitted`, `gasUnchecked`, `catalogueWaitStateUnavailable`, `cctpRouteUpgrading`, `creditOnly`, `dexReferencePriceMissing`, `quoteAuthorityUnavailable`, `venueRoutingOff`, `venueRoutingStateUnavailable`, `indicativeUnavailable`, `marketUnavailable`, `noReferenceMid`, `observationBindingUnavailable`, `quoteIdUnavailable`, `stalePrice`.\n\nNew values may be added; treat unknown values as other.","enum":["clockUnavailable","assetUnsupported","referenceUndeclarable","referenceNotAdmitted","referenceStale","referenceDepth","marketDataUnavailable","calibrationUnavailable","livePriceUnavailable","lpQuoteUnavailable","platformJurisdictionCountryRequired","platformJurisdictionUnavailable","platformJurisdictionBlocked","venueJurisdictionExcluded","workspaceJurisdictionRequired","jurisdictionRegionRequired","jurisdictionUnavailable","venueKeyRefusedLikelyIpAllowlist","venueWithdrawalDestinationNotWhitelisted","adapterPayloadSerializationFailed","basicVenueAccountsUnavailable","billingPaymentOverdue","walletNotOnChain","ccxtVenueRequiresCexLane","executionStageDisabled","jurisdictionUnproven","onboardedVenuesUnavailable","onchainAccountDefaultWalletRequired","onchainAccountDefaultWalletUnavailable","onchainAccountWalletRequired","onchainAssetDecimalsMismatch","onchainAssetIdentityMismatch","onchainAssetUnmapped","onchainAssetVariantFiltered","onchainWalletUnavailable","onchainCatalogueUnavailable","onchainDeliverToNotReceivingWallet","onchainDeliverToUnverified","onchainMarketsUnavailable","onchainMarketCatalogUnreadable","onchainMarketChainRequired","onchainMarketVariantRequired","onchainMarketTokenRequired","onchainSiteChainUnreadable","onchainWalletChainUnreadable","onchainWalletInactive","onchainWalletNotLinked","onchainWalletNotUsable","onchainWalletPickAmbiguous","onchainWalletWrongNetwork","signerLacksRight","signerUnavailable","signingGrantAmbiguous","signingGrantExpired","nativeGrantExpiryReapprovalRequired","nativeBalanceUnavailable","solanaFinalityUnavailable","tronSolidBlockUnavailable","signingGrantPolicyUnreadable","signingGrantPolicyChecking","signingGrantRequired","signingGrantTokenNotKept","signingGrantTokenNotPayable","solverChainUnready","walletChainMismatch","walletNotUsableByYou","walletNotVerifiedForAce","walletNotWhitelisted","withdrawalChainUnsupported","accountFeeUnavailable","comparisonCostsUnavailable","connectionListingUnavailable","feeUnverified","noPool","noPrice","noSize","notFilled","notYetPublished","priceArithmetic","priceSourceNone","referenceMidUnavailable","settlementPrecisionUnavailable","accountSetupIncomplete","admissionUnavailable","advancedAccountEligibilityUnavailable","advancedAccountStateInconsistent","advancedConnectionDisabled","advancedConnectionNotConfigured","advancedConnectionPaused","advancedSettlementNeedsVerification","advancedModeDisabled","advancedNotAvailableForAccount","advancedNotEnabledForAccount","allowanceUnavailable","acrossCapacityExceeded","relayCapacityExceeded","acrossChainNotCarried","cctpChainNotCarried","cctpWalletRequired","acrossWalletRequired","walletBrowserSigningEvmOnly","relayChainNotCarried","apiKeyAdvancedWalletUnsupported","apiKeyOrganisationWalletScopeRequired","grantCapExceeded","amountAboveMaximum","amountBelowMinimum","belowVenueMinimum","amountUnreadable","amountsUnreadable","askFirst","authorityUnavailable","automationNeverAsks","availabilityUnreadable","backgroundNeverAsks","balanceUnreadable","defaultsUnavailable","walletHasNoAddress","walletUnavailable","bondAmountUnreadable","bondAssetUnreadable","catalogueUnavailable","chainFamilyUnknown","chainUnrecorded","clientSessionRequired","clockUnreadable","comingSoon","connectionChanged","connectionRevoked","corridorInvalid","credential","deadlineExceeded","defaultsLoading","deliverToCalldataUnsupported","deliverToTagUnsupported","deliverToNotPermitted","deliverToUnreadable","tradingPermissionRequired","directPatienceHarvest","economicallyInferior","exactAmountConflictsWithCard","exactAmountConflictsWithQuote","exactOutputDeliveryUnsupported","exactOutputEstimateUnavailable","exactRouteHypothesisUnavailable","expiredOnArrival","expiryUnknown","feeUnreadable","filteredOut","firmAskRefused","firmAskFundsTimedOut","firmAskPreparationTimedOut","quotePreparationFailed","firmAskAdmissionTimedOut","seliniFirmAskMarketsTimedOut","seliniFirmAskHandoffTimedOut","seliniFirmAskBeforePostTimedOut","seliniFirmAskValidationTimedOut","seliniFirmAskResponseTimedOut","seliniFirmAskTransportFailure","rfqQuoteRefusedQuoteNotAvailable","rfqQuoteRefusedQuotingDisabled","rfqQuoteRefusedClientRfqNotConfigured","rfqQuoteRefusedClientProfileNotLoaded","rfqQuoteRefusedMarketDisabled","rfqQuoteRefusedInvalidQuantity","rfqQuoteRefusedInvalidSide","rfqQuoteRefusedInvalidCurrency","rfqQuoteRefusedPricePrecisionError","rfqQuoteRefusedRfqError","rfqQuoteRefused","venueOutcomeIndeterminate","venueBodyUnreadable","venueResponseUnmapped","venueRateLimited","venueQuoteAdmissionExpired","placementSignedPastDeadline","quoteIdentityConflict","symbolUnsupported","marketSymbolAmbiguous","firmAskPrincipalRequired","indicativeRequested","freshnessUnknown","fundingWindow","insufficientLiquidity","venueRelationship","venueRelationshipUnavailable","lpUnknown","mfaEnrolmentRequired","mfaRequired","minimumUnverified","mixedNetworks","netReceivedUnavailable","networkUnrecorded","noAddress","noCard","noFetcher","noInventory","noLaneForPair","noLegs","noOnChainCorridor","noPlannedVenue","noQuote","noRpc","notConnected","notEligible","notExecutable","orderPayloadMissing","outsideTopComposites","pairUnmapped","sellChainInvalid","permissionsUnreadable","placeOrderNotPermitted","prefundingMarkerUnreadable","prefundingRequired","indicative","priceOnRequest","priceOutOfRange","priceProtectionInvalid","pricingBookOnly","productNotQuoted","protocolChainMissing","providerFeeTreatmentUnknown","providerSiteUnrecorded","quoteIdUnissuable","quoteNotHeld","buyChainInvalid","buyAmountUnsupported","exactOutputDebitUnavailable","pairNotServed","accountFundingReadUnverified","quoteReconfirmationRequired","quoteRejected","keyrockSecurityCatalogueUnavailable","venueAnsweredAfterQuoteWindow","venueQuoteIntentMismatch","payExactUnsupported","receiveWalletNotServed","referenceMidUnreadable","referencePriceUnavailable","registryUnavailable","releaseRecheckUnavailable","requestUnbuildable","routeLegChainUnknown","routeLegUnnamed","routeLegUnplanned","routeUnavailable","secondFactorUnreadable","shortfallUnmeasured","shortfallUnreadable","singleChainVenue","siteChainUnreadable","sizeNotEligible","submitOrderBlocked","takerOnboardingIncomplete","tierNotQuoted","tradePaused","venueConnectionStorageUnavailable","venueDataStale","venueDeclined","venueNotConnected","venueNotEnabledForWorkspace","venueNotListed","venueTradeKeyUnavailable","venueTradeScopeRequired","venueTradeUnreadable","venueUnavailable","walletRefused","withdrawalFeeUnread","acrossRoutedViaCctp","apiKeyOrganisationWalletNotAllowlisted","balanceAvailabilityUnconfirmed","bankDestinationUnavailable","bebopJamKeyNotEnabled","bebopJamQuoteDeclined","bebopTokenUnavailable","relayCurrencyUnsupported","relaySwapImpactTooHigh","tetrafiSolverCallbackNotAuthorized","tradingLinkSnapshotChanged","tradingLinkSnapshotUnavailable","uniswapChainReadUnavailable","uniswapInsufficientDepth","uniswapQuoteUnreadable","uniswapUnwrapAboveDailyCap","uniswapUnwrapAboveTradeCap","uniswapRouteNotGranted","venueNotEnabled","askLimitReached","balanceMeaningUnconfirmed","bebopQuorumWalletTooSlow","bebopWalletQuorumUnreadable","bebopBrowserWalletUnsupported","connectionNotConfigured","deliveryAccountNetworkUnavailable","deliveryAccountUnavailable","destinationCannotSendOnChain","dexReferencePriceUnavailable","firmQuoteLimited","fundingAccountNetworkUnavailable","fundingAccountUnavailable","insufficientDepth","missingPermission","needsNativeGas","needsWallet","notPriced","payInTermsUnavailable","pilotTradeCapExceeded","pilotMinimumAboveTradeCap","platformFeeRateUnavailable","pricingBookPairUnserved","settlementDeclarationUnavailable","settlementNotAvailable","timedOut","timedOutBeforeSend","tradingSourceNetworkUnavailable","tradingSourceNotLinked","venueEnablementRechecking","venueEnablementUnavailable","venueListingTimedOut","venuePoliciesUnavailable","multiliquidPaused","multiliquidAssetNotAccepted","walletNotAllowlistedForAsset","walletBlacklisted","multiliquidPriceInvalid","multiliquidStablePriceOutOfBand","multiliquidInsufficientLiquidity","multiliquidProviderPrefundUnavailable","multiliquidDailyLimitReached","eligibilityUnverifiable","multiliquidInsufficientBalance","multiliquidWalletFundsInsufficient","multiliquidInsufficientAllowance","walletTokenAccountFrozen","multiliquidAmountInTooHigh","multiliquidAmountOutTooLow","multiliquidInsufficientLpFeeBalance","multiliquidTransferFeeNotSupported","multiliquidParticipantUnavailable","multiliquidChainNotSupported","multiliquidObservationWalletUnavailable","privyMultiliquidArrayPinsUnsupported","cctpDestinationNotGranted","signingGrantNativeOnly","quoteRejectedInsufficientBalance","walletGateUnreadable","policyBlocked","treasuryPolicyApprovalRequired","destinationTagRequired","destinationTagMismatch","destinationTagInvalid","acrossBasicLaneNotEnabled","creditReadUnavailable","exactOutputFirmAskUnsupported","grantEndsBeforeVenueFunding","jurisdictionNotServed","pairUnsupported","requesterJurisdictionUnknown","venueAccountHasNoKey","venueAssessmentRequired","venueConnectionInvalid","venueReenableRequiresNewCredentials","venueTradingPaused","balanceNotObserved","notPermitted","balanceNotPermitted","gasUnchecked","catalogueWaitStateUnavailable","cctpRouteUpgrading","creditOnly","dexReferencePriceMissing","quoteAuthorityUnavailable","venueRoutingOff","venueRoutingStateUnavailable","indicativeUnavailable","marketUnavailable","noReferenceMid","observationBindingUnavailable","quoteIdUnavailable","stalePrice"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.reason.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"A machine-readable reason token the refusing step gave.\n\nKnown source reason tokens (not all apply to every status): `clockUnavailable`, `assetUnsupported`, `referenceUndeclarable`, `referenceNotAdmitted`, `referenceStale`, `referenceDepth`, `marketDataUnavailable`, `calibrationUnavailable`, `livePriceUnavailable`, `lpQuoteUnavailable`, `platformJurisdictionCountryRequired`, `platformJurisdictionUnavailable`, `platformJurisdictionBlocked`, `venueJurisdictionExcluded`, `workspaceJurisdictionRequired`, `jurisdictionRegionRequired`, `jurisdictionUnavailable`, `venueKeyRefusedLikelyIpAllowlist`, `venueWithdrawalDestinationNotWhitelisted`, `adapterPayloadSerializationFailed`, `basicVenueAccountsUnavailable`, `billingPaymentOverdue`, `walletNotOnChain`, `ccxtVenueRequiresCexLane`, `executionStageDisabled`, `jurisdictionUnproven`, `onboardedVenuesUnavailable`, `onchainAccountDefaultWalletRequired`, `onchainAccountDefaultWalletUnavailable`, `onchainAccountWalletRequired`, `onchainAssetDecimalsMismatch`, `onchainAssetIdentityMismatch`, `onchainAssetUnmapped`, `onchainAssetVariantFiltered`, `onchainWalletUnavailable`, `onchainCatalogueUnavailable`, `onchainDeliverToNotReceivingWallet`, `onchainDeliverToUnverified`, `onchainMarketsUnavailable`, `onchainMarketCatalogUnreadable`, `onchainMarketChainRequired`, `onchainMarketVariantRequired`, `onchainMarketTokenRequired`, `onchainSiteChainUnreadable`, `onchainWalletChainUnreadable`, `onchainWalletInactive`, `onchainWalletNotLinked`, `onchainWalletNotUsable`, `onchainWalletPickAmbiguous`, `onchainWalletWrongNetwork`, `signerLacksRight`, `signerUnavailable`, `signingGrantAmbiguous`, `signingGrantExpired`, `nativeGrantExpiryReapprovalRequired`, `nativeBalanceUnavailable`, `solanaFinalityUnavailable`, `tronSolidBlockUnavailable`, `signingGrantPolicyUnreadable`, `signingGrantPolicyChecking`, `signingGrantRequired`, `signingGrantTokenNotKept`, `signingGrantTokenNotPayable`, `solverChainUnready`, `walletChainMismatch`, `walletNotUsableByYou`, `walletNotVerifiedForAce`, `walletNotWhitelisted`, `withdrawalChainUnsupported`, `accountFeeUnavailable`, `comparisonCostsUnavailable`, `connectionListingUnavailable`, `feeUnverified`, `noPool`, `noPrice`, `noSize`, `notFilled`, `notYetPublished`, `priceArithmetic`, `priceSourceNone`, `referenceMidUnavailable`, `settlementPrecisionUnavailable`, `accountSetupIncomplete`, `admissionUnavailable`, `advancedAccountEligibilityUnavailable`, `advancedAccountStateInconsistent`, `advancedConnectionDisabled`, `advancedConnectionNotConfigured`, `advancedConnectionPaused`, `advancedSettlementNeedsVerification`, `advancedModeDisabled`, `advancedNotAvailableForAccount`, `advancedNotEnabledForAccount`, `allowanceUnavailable`, `acrossCapacityExceeded`, `relayCapacityExceeded`, `acrossChainNotCarried`, `cctpChainNotCarried`, `cctpWalletRequired`, `acrossWalletRequired`, `walletBrowserSigningEvmOnly`, `relayChainNotCarried`, `apiKeyAdvancedWalletUnsupported`, `apiKeyOrganisationWalletScopeRequired`, `grantCapExceeded`, `amountAboveMaximum`, `amountBelowMinimum`, `belowVenueMinimum`, `amountUnreadable`, `amountsUnreadable`, `askFirst`, `authorityUnavailable`, `automationNeverAsks`, `availabilityUnreadable`, `backgroundNeverAsks`, `balanceUnreadable`, `defaultsUnavailable`, `walletHasNoAddress`, `walletUnavailable`, `bondAmountUnreadable`, `bondAssetUnreadable`, `catalogueUnavailable`, `chainFamilyUnknown`, `chainUnrecorded`, `clientSessionRequired`, `clockUnreadable`, `comingSoon`, `connectionChanged`, `connectionRevoked`, `corridorInvalid`, `credential`, `deadlineExceeded`, `defaultsLoading`, `deliverToCalldataUnsupported`, `deliverToTagUnsupported`, `deliverToNotPermitted`, `deliverToUnreadable`, `tradingPermissionRequired`, `directPatienceHarvest`, `economicallyInferior`, `exactAmountConflictsWithCard`, `exactAmountConflictsWithQuote`, `exactOutputDeliveryUnsupported`, `exactOutputEstimateUnavailable`, `exactRouteHypothesisUnavailable`, `expiredOnArrival`, `expiryUnknown`, `feeUnreadable`, `filteredOut`, `firmAskRefused`, `firmAskFundsTimedOut`, `firmAskPreparationTimedOut`, `quotePreparationFailed`, `firmAskAdmissionTimedOut`, `seliniFirmAskMarketsTimedOut`, `seliniFirmAskHandoffTimedOut`, `seliniFirmAskBeforePostTimedOut`, `seliniFirmAskValidationTimedOut`, `seliniFirmAskResponseTimedOut`, `seliniFirmAskTransportFailure`, `rfqQuoteRefusedQuoteNotAvailable`, `rfqQuoteRefusedQuotingDisabled`, `rfqQuoteRefusedClientRfqNotConfigured`, `rfqQuoteRefusedClientProfileNotLoaded`, `rfqQuoteRefusedMarketDisabled`, `rfqQuoteRefusedInvalidQuantity`, `rfqQuoteRefusedInvalidSide`, `rfqQuoteRefusedInvalidCurrency`, `rfqQuoteRefusedPricePrecisionError`, `rfqQuoteRefusedRfqError`, `rfqQuoteRefused`, `venueOutcomeIndeterminate`, `venueBodyUnreadable`, `venueResponseUnmapped`, `venueRateLimited`, `venueQuoteAdmissionExpired`, `placementSignedPastDeadline`, `quoteIdentityConflict`, `symbolUnsupported`, `marketSymbolAmbiguous`, `firmAskPrincipalRequired`, `indicativeRequested`, `freshnessUnknown`, `fundingWindow`, `insufficientLiquidity`, `venueRelationship`, `venueRelationshipUnavailable`, `lpUnknown`, `mfaEnrolmentRequired`, `mfaRequired`, `minimumUnverified`, `mixedNetworks`, `netReceivedUnavailable`, `networkUnrecorded`, `noAddress`, `noCard`, `noFetcher`, `noInventory`, `noLaneForPair`, `noLegs`, `noOnChainCorridor`, `noPlannedVenue`, `noQuote`, `noRpc`, `notConnected`, `notEligible`, `notExecutable`, `orderPayloadMissing`, `outsideTopComposites`, `pairUnmapped`, `sellChainInvalid`, `permissionsUnreadable`, `placeOrderNotPermitted`, `prefundingMarkerUnreadable`, `prefundingRequired`, `indicative`, `priceOnRequest`, `priceOutOfRange`, `priceProtectionInvalid`, `pricingBookOnly`, `productNotQuoted`, `protocolChainMissing`, `providerFeeTreatmentUnknown`, `providerSiteUnrecorded`, `quoteIdUnissuable`, `quoteNotHeld`, `buyChainInvalid`, `buyAmountUnsupported`, `exactOutputDebitUnavailable`, `pairNotServed`, `accountFundingReadUnverified`, `quoteReconfirmationRequired`, `quoteRejected`, `keyrockSecurityCatalogueUnavailable`, `venueAnsweredAfterQuoteWindow`, `venueQuoteIntentMismatch`, `payExactUnsupported`, `receiveWalletNotServed`, `referenceMidUnreadable`, `referencePriceUnavailable`, `registryUnavailable`, `releaseRecheckUnavailable`, `requestUnbuildable`, `routeLegChainUnknown`, `routeLegUnnamed`, `routeLegUnplanned`, `routeUnavailable`, `secondFactorUnreadable`, `shortfallUnmeasured`, `shortfallUnreadable`, `singleChainVenue`, `siteChainUnreadable`, `sizeNotEligible`, `submitOrderBlocked`, `takerOnboardingIncomplete`, `tierNotQuoted`, `tradePaused`, `venueConnectionStorageUnavailable`, `venueDataStale`, `venueDeclined`, `venueNotConnected`, `venueNotEnabledForWorkspace`, `venueNotListed`, `venueTradeKeyUnavailable`, `venueTradeScopeRequired`, `venueTradeUnreadable`, `venueUnavailable`, `walletRefused`, `withdrawalFeeUnread`, `acrossRoutedViaCctp`, `apiKeyOrganisationWalletNotAllowlisted`, `balanceAvailabilityUnconfirmed`, `bankDestinationUnavailable`, `bebopJamKeyNotEnabled`, `bebopJamQuoteDeclined`, `bebopTokenUnavailable`, `relayCurrencyUnsupported`, `relaySwapImpactTooHigh`, `tetrafiSolverCallbackNotAuthorized`, `tradingLinkSnapshotChanged`, `tradingLinkSnapshotUnavailable`, `uniswapChainReadUnavailable`, `uniswapInsufficientDepth`, `uniswapQuoteUnreadable`, `uniswapUnwrapAboveDailyCap`, `uniswapUnwrapAboveTradeCap`, `uniswapRouteNotGranted`, `venueNotEnabled`, `askLimitReached`, `balanceMeaningUnconfirmed`, `bebopQuorumWalletTooSlow`, `bebopWalletQuorumUnreadable`, `bebopBrowserWalletUnsupported`, `connectionNotConfigured`, `deliveryAccountNetworkUnavailable`, `deliveryAccountUnavailable`, `destinationCannotSendOnChain`, `dexReferencePriceUnavailable`, `firmQuoteLimited`, `fundingAccountNetworkUnavailable`, `fundingAccountUnavailable`, `insufficientDepth`, `missingPermission`, `needsNativeGas`, `needsWallet`, `notPriced`, `payInTermsUnavailable`, `pilotTradeCapExceeded`, `pilotMinimumAboveTradeCap`, `platformFeeRateUnavailable`, `pricingBookPairUnserved`, `settlementDeclarationUnavailable`, `settlementNotAvailable`, `timedOut`, `timedOutBeforeSend`, `tradingSourceNetworkUnavailable`, `tradingSourceNotLinked`, `venueEnablementRechecking`, `venueEnablementUnavailable`, `venueListingTimedOut`, `venuePoliciesUnavailable`, `multiliquidPaused`, `multiliquidAssetNotAccepted`, `walletNotAllowlistedForAsset`, `walletBlacklisted`, `multiliquidPriceInvalid`, `multiliquidStablePriceOutOfBand`, `multiliquidInsufficientLiquidity`, `multiliquidProviderPrefundUnavailable`, `multiliquidDailyLimitReached`, `eligibilityUnverifiable`, `multiliquidInsufficientBalance`, `multiliquidWalletFundsInsufficient`, `multiliquidInsufficientAllowance`, `walletTokenAccountFrozen`, `multiliquidAmountInTooHigh`, `multiliquidAmountOutTooLow`, `multiliquidInsufficientLpFeeBalance`, `multiliquidTransferFeeNotSupported`, `multiliquidParticipantUnavailable`, `multiliquidChainNotSupported`, `multiliquidObservationWalletUnavailable`, `privyMultiliquidArrayPinsUnsupported`, `cctpDestinationNotGranted`, `signingGrantNativeOnly`, `quoteRejectedInsufficientBalance`, `walletGateUnreadable`, `policyBlocked`, `treasuryPolicyApprovalRequired`, `destinationTagRequired`, `destinationTagMismatch`, `destinationTagInvalid`, `acrossBasicLaneNotEnabled`, `creditReadUnavailable`, `exactOutputFirmAskUnsupported`, `grantEndsBeforeVenueFunding`, `jurisdictionNotServed`, `pairUnsupported`, `requesterJurisdictionUnknown`, `venueAccountHasNoKey`, `venueAssessmentRequired`, `venueConnectionInvalid`, `venueReenableRequiresNewCredentials`, `venueTradingPaused`, `balanceNotObserved`, `notPermitted`, `balanceNotPermitted`, `gasUnchecked`, `catalogueWaitStateUnavailable`, `cctpRouteUpgrading`, `creditOnly`, `dexReferencePriceMissing`, `quoteAuthorityUnavailable`, `venueRoutingOff`, `venueRoutingStateUnavailable`, `indicativeUnavailable`, `marketUnavailable`, `noReferenceMid`, `observationBindingUnavailable`, `quoteIdUnavailable`, `stalePrice`.\n\nNew values may be added; treat unknown values as other.","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.reason","typeLabel":"enum\u003cstring> | null"},"remediation":{"oneOf":[{"description":"A machine-readable recovery hint the refusing step gave.","type":"string","uniqueKey":"details.oneOf.1.remediation.oneOf.0","typeLabel":"string"},{"description":"A machine-readable recovery hint the refusing step gave.","type":"null","uniqueKey":"details.oneOf.1.remediation.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.remediation","typeLabel":"string | null"},"retryAfter":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.retryAfter.oneOf.0","typeLabel":"null"},{"type":"string","description":"Every `429`, and a `503` that knows: when to try again, as an ISO 8601 duration. The\n`Retry-After` header carries the same wait in whole seconds.","format":"duration","pattern":"^PT(?:[0-9]+H(?:[0-9]+M)?(?:[0-9]+(?:\\.[0-9]{1,3})?S)?|[0-9]+M(?:[0-9]+(?:\\.[0-9]{1,3})?S)?|[0-9]+(?:\\.[0-9]{1,3})?S)$","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","example":"PT120S","uniqueKey":"details.oneOf.1.retryAfter.oneOf.1","typeLabel":"string\u003cduration>"}],"uniqueKey":"details.oneOf.1.retryAfter","typeLabel":"null | string\u003cduration>"},"value":{"oneOf":[{"description":"`UNKNOWN_ASSET`, `UNKNOWN_CHAIN`, `UNKNOWN_VENUE`, `INVALID_AMOUNT`: the value refused;\n`ASSET_NOT_ON_CHAIN`: the pinned chain the Asset is not on.","type":"string","uniqueKey":"details.oneOf.1.value.oneOf.0","typeLabel":"string"},{"description":"`UNKNOWN_ASSET`, `UNKNOWN_CHAIN`, `UNKNOWN_VENUE`, `INVALID_AMOUNT`: the value refused;\n`ASSET_NOT_ON_CHAIN`: the pinned chain the Asset is not on.","type":"null","uniqueKey":"details.oneOf.1.value.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.value","typeLabel":"string | null"}},"additionalProperties":{"description":"Any further detail the code carries (for example `stepUpSubject`, `balanceShortfall`,\n`minimumAmount`), each named in camelCase.","uniqueKey":"details.oneOf.1.additionalProperties","typeLabel":"any"},"uniqueKey":"details.oneOf.1","typeLabel":"object"}],"uniqueKey":"details","typeLabel":"null | object"},"next":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"next.oneOf.0","typeLabel":"null"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["order"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.1.kind","typeLabel":"enum\u003cstring>"}},"uniqueKey":"next.oneOf.1","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["preflight"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.2.kind","typeLabel":"enum\u003cstring>"}},"uniqueKey":"next.oneOf.2","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["transactions","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["transact"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.3.kind","typeLabel":"enum\u003cstring>"},"transactions":{"items":{"description":"One transaction the Taker sends itself (an approval included).","properties":{"chain":{"description":"A CAIP-2 chain id (`eip155:8453`, `solana:\u003cgenesis>`, `tron:shasta`), syntax-checked:\na namespace of 3 to 8 lowercase letters, digits or `-`, and a reference of 1 to 32\nletters, digits, `-` or `_`. Compared exactly, as CAIP-2 references are case-sensitive.","example":"eip155:8453","type":"string","isRequired":true,"uniqueKey":"next.oneOf.3.transactions.items.[INDEX].chain","typeLabel":"string"},"data":{"description":"Hex calldata (`0x…`).","type":"string","isRequired":true,"uniqueKey":"next.oneOf.3.transactions.items.[INDEX].data","typeLabel":"string"},"to":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.3.transactions.items.[INDEX].to","typeLabel":"string"},"value":{"description":"Native value in base units, as a decimal string.","type":"string","isRequired":true,"uniqueKey":"next.oneOf.3.transactions.items.[INDEX].value","typeLabel":"string"}},"required":["chain","data","to","value"],"type":"object","uniqueKey":"next.oneOf.3.transactions.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"next.oneOf.3.transactions","typeLabel":"object[]"}},"uniqueKey":"next.oneOf.3","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["typedData","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["sign"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.4.kind","typeLabel":"enum\u003cstring>"},"typedData":{"oneOf":[{"isRequired":true}],"isRequired":true,"uniqueKey":"next.oneOf.4.typedData","typeLabel":"any"}},"uniqueKey":"next.oneOf.4","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["fund"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.kind","typeLabel":"enum\u003cstring>"},"instructions":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"next.oneOf.5.instructions.oneOf.0","typeLabel":"null"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["asset","chainRef","networkCode","networkConfirmed","address","tokenContract","observedAt","expiresAt","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.address","typeLabel":"string"},"asset":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.asset","typeLabel":"string"},"chainRef":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.chainRef","typeLabel":"string"},"expiresAt":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.expiresAt","typeLabel":"string\u003cdate-time>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["venueDeposit"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.kind","typeLabel":"enum\u003cstring>"},"networkCode":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.networkCode","typeLabel":"string"},"networkConfirmed":{"description":"False when the venue reports no network for this address: `networkCode`\nis empty and `chainRef` is the caller's selection, which the customer\nmust confirm with the venue before sending.","type":"boolean","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.networkConfirmed","typeLabel":"boolean"},"observedAt":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.observedAt","typeLabel":"string\u003cdate-time>"},"tokenContract":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.tokenContract","typeLabel":"string"},"memo":{"oneOf":[{"type":"string","uniqueKey":"next.oneOf.5.instructions.oneOf.1.memo.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"next.oneOf.5.instructions.oneOf.1.memo.oneOf.1","typeLabel":"null"}],"uniqueKey":"next.oneOf.5.instructions.oneOf.1.memo","typeLabel":"string | null"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.1","typeLabel":"object"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["accountLast4","amount","bankDisplayName","expiresAt","kind","revealRef"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"accountLast4":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.accountLast4.oneOf.0","typeLabel":"null"},{"type":"string","description":"An already-qualified masked suffix, not external account ownership proof.","maxLength":4,"minLength":1,"pattern":"^[A-Za-z0-9]{1,4}$","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","example":"A1b2","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.accountLast4.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.accountLast4","typeLabel":"null | string"},"amount":{"description":"A non-negative decimal string in Asset units (`\"10000\"`, `\"9994.0\"`): digits with an\noptional fraction, no sign, exponent or leading zero. Never a float and never base\nunits. A request amount must also be positive (`INVALID_AMOUNT`); a fee or a\nknown balance may be zero.","example":"10000","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.amount","typeLabel":"string"},"bankDisplayName":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.bankDisplayName.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.bankDisplayName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.bankDisplayName","typeLabel":"string | null"},"expiresAt":{"oneOf":[{"description":"UTC ISO instant, or null when expiry is UNKNOWN. Null never means no expiry.","format":"date-time","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.expiresAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"description":"UTC ISO instant, or null when expiry is UNKNOWN. Null never means no expiry.","format":"date-time","type":"null","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.expiresAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.expiresAt","typeLabel":"string\u003cdate-time> | null"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["bankDeposit"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.kind","typeLabel":"enum\u003cstring>"},"revealRef":{"description":"Non-bearer lookup metadata for deposit instructions. Possession grants no authority. Each reveal requires current wallet-view authority and exact account membership; an API key additionally needs treasury_read. Missing and foreign accounts share a refusal. Quotes never fetch these instructions.","properties":{"connectionId":{"description":"The native held leg's exact connection id, never a first/sole-connection guess.","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.connectionId","typeLabel":"string"},"currency":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.currency","typeLabel":"string"},"providerBankId":{"oneOf":[{"description":"The provider's linked-bank id when required by that venue; otherwise unknown/null.","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.providerBankId.oneOf.0","typeLabel":"string"},{"description":"The provider's linked-bank id when required by that venue; otherwise unknown/null.","type":"null","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.providerBankId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.providerBankId","typeLabel":"string | null"}},"required":["connectionId","currency","providerBankId"],"type":"object","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef","typeLabel":"object"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.2","typeLabel":"object"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["walletId","address","chain","asset","tokenContract","amount","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.address","typeLabel":"string"},"amount":{"description":"A non-negative decimal string in Asset units (`\"10000\"`, `\"9994.0\"`): digits with an\noptional fraction, no sign, exponent or leading zero. Never a float and never base\nunits. A request amount must also be positive (`INVALID_AMOUNT`); a fee or a\nknown balance may be zero.","example":"10000","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.amount","typeLabel":"string"},"asset":{"description":"A registry Asset id (`USDC`, `USDe`). Matched case-insensitively against the catalogue,\nwhich answers it in the registry's own spelling.","example":"USDC","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.asset","typeLabel":"string"},"chain":{"description":"A CAIP-2 chain id (`eip155:8453`, `solana:\u003cgenesis>`, `tron:shasta`), syntax-checked:\na namespace of 3 to 8 lowercase letters, digits or `-`, and a reference of 1 to 32\nletters, digits, `-` or `_`. Compared exactly, as CAIP-2 references are case-sensitive.","example":"eip155:8453","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.chain","typeLabel":"string"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["walletTopUp"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.kind","typeLabel":"enum\u003cstring>"},"tokenContract":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.tokenContract","typeLabel":"string"},"walletId":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.walletId","typeLabel":"string"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.3","typeLabel":"object"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["chain","amount","asset","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"amount":{"description":"A non-negative decimal string in Asset units (`\"10000\"`, `\"9994.0\"`): digits with an\noptional fraction, no sign, exponent or leading zero. Never a float and never base\nunits. A request amount must also be positive (`INVALID_AMOUNT`); a fee or a\nknown balance may be zero.","example":"10000","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.4.amount","typeLabel":"string"},"asset":{"description":"A registry Asset id (`USDC`, `USDe`). Matched case-insensitively against the catalogue,\nwhich answers it in the registry's own spelling.","example":"USDC","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.4.asset","typeLabel":"string"},"chain":{"description":"A CAIP-2 chain id (`eip155:8453`, `solana:\u003cgenesis>`, `tron:shasta`), syntax-checked:\na namespace of 3 to 8 lowercase letters, digits or `-`, and a reference of 1 to 32\nletters, digits, `-` or `_`. Compared exactly, as CAIP-2 references are case-sensitive.","example":"eip155:8453","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.4.chain","typeLabel":"string"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["nativeGas"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.4.kind","typeLabel":"enum\u003cstring>"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.4","typeLabel":"object"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["connectionId","amount","currency","reason","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"amount":{"description":"A non-negative decimal string in Asset units (`\"10000\"`, `\"9994.0\"`): digits with an\noptional fraction, no sign, exponent or leading zero. Never a float and never base\nunits. A request amount must also be positive (`INVALID_AMOUNT`); a fee or a\nknown balance may be zero.","example":"10000","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.amount","typeLabel":"string"},"connectionId":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.connectionId","typeLabel":"string"},"currency":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.currency","typeLabel":"string"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["depositFirstNotOffered"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.kind","typeLabel":"enum\u003cstring>"},"reason":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.reason","typeLabel":"string"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.5","typeLabel":"object"}],"uniqueKey":"next.oneOf.5.instructions","typeLabel":"null · object · object · object · object · object"}},"uniqueKey":"next.oneOf.5","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["needs","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["requote"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.6.kind","typeLabel":"enum\u003cstring>"},"needs":{"items":{"description":"A funding or delivery selection a requote needs filled. An empty `needs` means requote as is.\n\nNew values may be added; treat unknown values as other.","enum":["wallet:evm","wallet:solana","wallet:tron","account","bankAccount","deliverTo"],"type":"string","x-extensible-enum":true,"uniqueKey":"next.oneOf.6.needs.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","isRequired":true,"uniqueKey":"next.oneOf.6.needs","typeLabel":"enum\u003cstring>[]"}},"uniqueKey":"next.oneOf.6","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["search"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.7.kind","typeLabel":"enum\u003cstring>"}},"uniqueKey":"next.oneOf.7","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["retryAfter","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["wait"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.8.kind","typeLabel":"enum\u003cstring>"},"retryAfter":{"description":"An ISO 8601 duration, e.g. PT3S or PT2M.","examples":["PT120S"],"format":"duration","pattern":"^PT(?:[0-9]+H(?:[0-9]+M)?(?:[0-9]+(?:\\.[0-9]{1,3})?S)?|[0-9]+M(?:[0-9]+(?:\\.[0-9]{1,3})?S)?|[0-9]+(?:\\.[0-9]{1,3})?S)$","type":"string","isRequired":true,"uniqueKey":"next.oneOf.8.retryAfter","typeLabel":"string\u003cduration>"}},"uniqueKey":"next.oneOf.8","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["reference","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["contact"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.9.kind","typeLabel":"enum\u003cstring>"},"reference":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.9.reference","typeLabel":"string"}},"uniqueKey":"next.oneOf.9","typeLabel":"object"}],"uniqueKey":"next","typeLabel":"null · object · object · object · object · object · object · object · object · object"},"requestId":{"oneOf":[{"description":"The request's id, the value the `X-Request-Id` response header carries. Quote it when\nasking for support.","type":"string","uniqueKey":"requestId.oneOf.0","typeLabel":"string"},{"description":"The request's id, the value the `X-Request-Id` response header carries. Quote it when\nasking for support.","type":"null","uniqueKey":"requestId.oneOf.1","typeLabel":"null"}],"uniqueKey":"requestId","typeLabel":"string | null"}},"required":["error","docUrl","retryable","message","timestamp"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"docUrl":"\u003cstring>","error":"\u003cstring>","message":"\u003cstring>","retryable":true,"timestamp":"2023-11-07T05:31:56Z","details":{"capabilityBlockers":[{"code":"WORKSPACE_NOT_FOUND","estimate":"minutes","message":"\u003cstring>","unlockStep":"finishOnboarding","currentlyDue":["\u003cstring>"]}],"conflicts":["\u003cstring>"],"consentedWindow":{"cadence":{"dayBasis":"calendarDays","kind":"intraday","everyHours":1,"localTimes":["\u003cstring>"]},"scheduleId":"\u003cstring>","scheduleLabel":"\u003cstring>","scheduleVersion":123,"snapshotAt":"2023-11-07T05:31:56Z","windowId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","assumedBoundary":{"lpName":"\u003cstring>","source":"\u003cstring>","timeZone":"\u003cstring>"},"cutoffAt":"2023-11-07T05:31:56Z","paymentDeadlineAt":"2023-11-07T05:31:56Z","settlementBasis":"clock","settlesBy":"2023-11-07T05:31:56Z","statementIssuer":"\u003cstring>"},"currentWindow":{"cadence":{"dayBasis":"calendarDays","kind":"intraday","everyHours":1,"localTimes":["\u003cstring>"]},"scheduleId":"\u003cstring>","scheduleLabel":"\u003cstring>","scheduleVersion":123,"snapshotAt":"2023-11-07T05:31:56Z","windowId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","assumedBoundary":{"lpName":"\u003cstring>","source":"\u003cstring>","timeZone":"\u003cstring>"},"cutoffAt":"2023-11-07T05:31:56Z","paymentDeadlineAt":"2023-11-07T05:31:56Z","settlementBasis":"clock","settlesBy":"2023-11-07T05:31:56Z","statementIssuer":"\u003cstring>"},"field":"\u003cstring>","reason":"clockUnavailable","remediation":"\u003cstring>","retryAfter":"PT120S","value":"\u003cstring>"},"next":{"kind":"order"},"requestId":"\u003cstring>"}}},"exampleType":"generated"}},"description":"The request could not be read or failed validation; `error` names the cause.","headers":{"Deprecation":{"description":"Present when this operation is deprecated: an RFC 9745 structured date, for example @1792443399. Absence makes no deprecation claim.","schema":{"type":"string"}},"Link":{"description":"When deprecation applies, links to the deprecation notice with rel=deprecation; other link relations may also be sent.","schema":{"type":"string"}},"RateLimit":{"description":"draft-ietf-httpapi-ratelimit-headers-07 section 3.1 structured dictionary, for example `limit=100, remaining=41, reset=19`. Remaining is the admitted decision's headroom; reset is whole seconds until quota next becomes available, not an epoch or a promise of a full burst refill. On a limiter's 429 remaining is 0 and reset equals Retry-After. Accepted key, route and per-address policies are compared by lowest remaining, then longest reset. A venue refusal without a known quota makes no rate-limit header claim.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"draft-ietf-httpapi-ratelimit-headers-07 section 3.5: quota and window in seconds, for example `100;w=60`. Sent on every status when a finite limiter counted the request. The applicable policy closest to exhaustion is reported (section 3.2): lowest remaining, then longest reset. On a limiter's 429 this is exactly the policy that refused; if a venue discloses no quota, the headers are absent.","schema":{"type":"string"}},"Sunset":{"description":"Present when retirement is scheduled: the HTTP-date after which this version may stop being served (RFC 8594).","schema":{"type":"string"}},"x-request-id":{"description":"The request's id: the caller's valid `X-Request-Id`, or a generated UUID v4. Quote it when asking for support.","schema":{"type":"string"}}},"exampleType":"generated"},"216ecca0-d9fd-4e75-b55f-7e55f9a5ea25":{"content":{"application/json":{"schema":{"description":"The shared refusal body of every integrator operation, including edge-layer errors.\n`error` is an open, stable machine-readable code; `docUrl` links to its documentation and\n`retryable` says whether an unchanged request may succeed later. `message` is for people,\nnot matching. `timestamp` is RFC 3339 UTC; optional `requestId` mirrors `X-Request-Id`.\nOptional `next` describes recovery and `details` carries code-specific information.\nHandle known codes and fall back on the HTTP status for unknown ones.","properties":{"docUrl":{"description":"Stable documentation for this refusal code.","type":"string","isRequired":true,"uniqueKey":"docUrl","typeLabel":"string"},"error":{"description":"The machine-readable code, for example `QUOTE_EXPIRED`.","type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"description":"What happened, in words a person can read. Not for matching.","type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"retryable":{"description":"Whether an unchanged request may succeed later, from the error catalogue.","type":"boolean","isRequired":true,"uniqueKey":"retryable","typeLabel":"boolean"},"timestamp":{"description":"When the refusal was made, as an RFC 3339 UTC timestamp.","format":"date-time","type":"string","isRequired":true,"uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"},"details":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.0","typeLabel":"null"},{"type":"object","description":"The code's detail. Each field is present only on the codes named beside it; other codes may\ncarry further fields, named in camelCase, which a client may ignore.","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"capabilityBlockers":{"oneOf":[{"description":"`CAPABILITY_BLOCKED` and the other capability refusals: what blocks the workspace.","items":{"description":"One reason a capability is blocked, plus the step that unlocks it.","properties":{"code":{"description":"Stable machine-readable blocker codes returned by the capability gate.\n\nNew values may be added; treat unknown values as other.","enum":["WORKSPACE_NOT_FOUND","WORKSPACE_NOT_ACTIVE","WORKSPACE_SUSPENDED","PARENT_WORKSPACE_INACTIVE","INSUFFICIENT_PERMISSION","WORKSPACE_TYPE_UNSUPPORTED","BASE_PROFILE_INCOMPLETE","BASE_PROFILE_UNREADABLE","KYB_NOT_VERIFIED","KYC_NOT_VERIFIED","SANCTIONS_FLAGGED","MEMBER_COMPLIANCE_FROZEN","MEMBER_COMPLIANCE_DENIED","SCREENING_PENDING","SCREENING_UNAVAILABLE","GEO_RESTRICTED","WALLET_NOT_VERIFIED","DIRECT_USER_NOT_FOUND","DIRECT_USER_SUSPENDED","DIRECT_USER_KYC_NOT_VERIFIED","INSUFFICIENT_SCOPE","TREASURY_DISABLED","NO_USABLE_CREDENTIAL","CROSS_OWNER_WRITE_DENIED","AGGREGATE_SCOPE_READ_ONLY","OWNER_SCOPE_REQUIRED","VENUE_OPERATION_UNSUPPORTED","TAKER_ONBOARDING_INCOMPLETE","TAKER_ADMISSION_UNAVAILABLE"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].code","typeLabel":"enum\u003cstring>"},"estimate":{"description":"Coarse time-to-unlock class. The UI owns the copy; figures are engineering\nestimates until the KYB queue and Sumsub webhooks supply measured values.\n\nNew values may be added; treat unknown values as other.","enum":["minutes","formsThenReview","adminAction","otherParty","unknown","notUnlockable"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].estimate","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].message","typeLabel":"string"},"unlockStep":{"description":"Stable key of the step that unlocks this blocker. The UI maps it to a\nroute or dialog.","enum":["finishOnboarding","companyDetails","kybProfile","kycDialog","linkWallet","askAdmin","contactBroker","manageDirectUsers","manageApiKey","connectCustodian","switchAccountScope","contactSupport","awaitScreening","none"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].unlockStep","typeLabel":"enum\u003cstring>"},"currentlyDue":{"description":"Requirement keys still due, such as `kyb_review`, `actor_kyc` or\n`permission:place_order`. Empty when nothing specific is due.","items":{"type":"string","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].currentlyDue.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].currentlyDue","typeLabel":"string[]"}},"required":["code","message","unlockStep","estimate"],"type":"object","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0","typeLabel":"object[]"},{"description":"`CAPABILITY_BLOCKED` and the other capability refusals: what blocks the workspace.","items":{"description":"One reason a capability is blocked, plus the step that unlocks it.","properties":{"code":{"description":"Stable machine-readable blocker codes returned by the capability gate.\n\nNew values may be added; treat unknown values as other.","enum":["WORKSPACE_NOT_FOUND","WORKSPACE_NOT_ACTIVE","WORKSPACE_SUSPENDED","PARENT_WORKSPACE_INACTIVE","INSUFFICIENT_PERMISSION","WORKSPACE_TYPE_UNSUPPORTED","BASE_PROFILE_INCOMPLETE","BASE_PROFILE_UNREADABLE","KYB_NOT_VERIFIED","KYC_NOT_VERIFIED","SANCTIONS_FLAGGED","MEMBER_COMPLIANCE_FROZEN","MEMBER_COMPLIANCE_DENIED","SCREENING_PENDING","SCREENING_UNAVAILABLE","GEO_RESTRICTED","WALLET_NOT_VERIFIED","DIRECT_USER_NOT_FOUND","DIRECT_USER_SUSPENDED","DIRECT_USER_KYC_NOT_VERIFIED","INSUFFICIENT_SCOPE","TREASURY_DISABLED","NO_USABLE_CREDENTIAL","CROSS_OWNER_WRITE_DENIED","AGGREGATE_SCOPE_READ_ONLY","OWNER_SCOPE_REQUIRED","VENUE_OPERATION_UNSUPPORTED","TAKER_ONBOARDING_INCOMPLETE","TAKER_ADMISSION_UNAVAILABLE"],"type":"string","x-extensible-enum":true},"currentlyDue":{"description":"Requirement keys still due, such as `kyb_review`, `actor_kyc` or\n`permission:place_order`. Empty when nothing specific is due.","items":{"type":"string"},"type":"array"},"estimate":{"description":"Coarse time-to-unlock class. The UI owns the copy; figures are engineering\nestimates until the KYB queue and Sumsub webhooks supply measured values.\n\nNew values may be added; treat unknown values as other.","enum":["minutes","formsThenReview","adminAction","otherParty","unknown","notUnlockable"],"type":"string","x-extensible-enum":true},"message":{"type":"string"},"unlockStep":{"description":"Stable key of the step that unlocks this blocker. The UI maps it to a\nroute or dialog.","enum":["finishOnboarding","companyDetails","kybProfile","kycDialog","linkWallet","askAdmin","contactBroker","manageDirectUsers","manageApiKey","connectCustodian","switchAccountScope","contactSupport","awaitScreening","none"],"type":"string","x-extensible-enum":true}},"required":["code","message","unlockStep","estimate"],"type":"object"},"type":"null","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.capabilityBlockers","typeLabel":"object[] | null"},"conflicts":{"oneOf":[{"description":"`REQUOTE_FIELDS_CONFLICT`: the fields that cannot go with `requote`.","items":{"type":"string","uniqueKey":"details.oneOf.1.conflicts.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"details.oneOf.1.conflicts.oneOf.0","typeLabel":"string[]"},{"description":"`REQUOTE_FIELDS_CONFLICT`: the fields that cannot go with `requote`.","items":{"type":"string"},"type":"null","uniqueKey":"details.oneOf.1.conflicts.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.conflicts","typeLabel":"string[] | null"},"consentedWindow":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.0","typeLabel":"null"},{"type":"object","description":"`SETTLEMENT_WINDOW_CHANGED`: the settlement window the order consented to (the quoted\nwindow, or the one its `settlementWindowId` named), which is no longer the one assigned.","required":["windowId","scheduleId","scheduleVersion","scheduleLabel","cadence","snapshotAt"],"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"cadence":{"oneOf":[{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.dayBasis","typeLabel":"enum\u003cstring>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["intraday"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"everyHours":{"oneOf":[{"format":"int32","minimum":0,"type":"integer","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.everyHours.oneOf.0","typeLabel":"integer\u003cint32>"},{"format":"int32","minimum":0,"type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.everyHours.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.everyHours","typeLabel":"integer\u003cint32> | null"},"localTimes":{"oneOf":[{"items":{"type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.0","typeLabel":"string[]"},{"items":{"type":"string"},"type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.localTimes","typeLabel":"string[] | null"}},"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0","typeLabel":"object"},{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["days","dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.1.dayBasis","typeLabel":"enum\u003cstring>"},"days":{"format":"int32","minimum":0,"type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.1.days","typeLabel":"integer\u003cint32>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["daily"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.1.kind","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.1","typeLabel":"object"},{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["days","dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.2.dayBasis","typeLabel":"enum\u003cstring>"},"days":{"format":"int32","minimum":0,"type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.2.days","typeLabel":"integer\u003cint32>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["multiDay"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.2.kind","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.2","typeLabel":"object"}],"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence","typeLabel":"object"},"scheduleId":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.scheduleId","typeLabel":"string"},"scheduleLabel":{"description":"The published schedule version's display name (e.g. \"EU\"), so a quote card or Review\nnames the window without a settlement read permission.","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.scheduleLabel","typeLabel":"string"},"scheduleVersion":{"format":"int64","type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.scheduleVersion","typeLabel":"integer\u003cint64>"},"snapshotAt":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.snapshotAt","typeLabel":"string\u003cdate-time>"},"windowId":{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.windowId","typeLabel":"string\u003cuuid>"},"assumedBoundary":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.0","typeLabel":"null"},{"type":"object","description":"Present when the window's boundary comes from an assumed schedule term rather than the\nLP's confirmation: every surface shows the window as assumed until the LP confirms it.","required":["timeZone","source","lpName"],"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"lpName":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.1.lpName","typeLabel":"string"},"source":{"description":"Where the assumed boundary came from, as recorded in the settlement schedule; free text.","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.1.source","typeLabel":"string"},"timeZone":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.1.timeZone","typeLabel":"string"}},"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.1","typeLabel":"object"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary","typeLabel":"null | object"},"cutoffAt":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cutoffAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cutoffAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cutoffAt","typeLabel":"string\u003cdate-time> | null"},"paymentDeadlineAt":{"oneOf":[{"description":"The occurrence's payment deadline from its schedule terms: what a credit trade's debt is\npaid by. Absent while the schedule has not confirmed it; never derived from `settlesBy`.","format":"date-time","type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.paymentDeadlineAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"description":"The occurrence's payment deadline from its schedule terms: what a credit trade's debt is\npaid by. Absent while the schedule has not confirmed it; never derived from `settlesBy`.","format":"date-time","type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.paymentDeadlineAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.paymentDeadlineAt","typeLabel":"string\u003cdate-time> | null"},"settlementBasis":{"description":"What completes a window's settlement. `clock`: the occurrence's confirmed completion time\n(`settlesBy`). `onAgreement`: the LP issues the window's statement and the trade settles\nonce that statement is agreed (Keyrock), so the window states no clock time.\n\nNew values may be added; treat unknown values as other.","enum":["clock","onAgreement"],"type":"string","x-extensible-enum":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.settlementBasis","typeLabel":"enum\u003cstring>"},"settlesBy":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.settlesBy.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.settlesBy.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.settlesBy","typeLabel":"string\u003cdate-time> | null"},"statementIssuer":{"oneOf":[{"description":"The LP whose statement settles an `onAgreement` window (\"Keyrock\"); absent on a clock window.","type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.statementIssuer.oneOf.0","typeLabel":"string"},{"description":"The LP whose statement settles an `onAgreement` window (\"Keyrock\"); absent on a clock window.","type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.statementIssuer.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.statementIssuer","typeLabel":"string | null"}},"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1","typeLabel":"object"}],"uniqueKey":"details.oneOf.1.consentedWindow","typeLabel":"null | object"},"currentWindow":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.currentWindow.oneOf.0","typeLabel":"null"},{"type":"object","description":"`SETTLEMENT_WINDOW_CHANGED`: the settlement window the server assigns the trade now.\nSend the same quote again with `settlementWindowId` set to `details.currentWindow.windowId`\nto consent to it.","required":["windowId","scheduleId","scheduleVersion","scheduleLabel","cadence","snapshotAt"],"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"cadence":{"oneOf":[{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.dayBasis","typeLabel":"enum\u003cstring>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["intraday"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"everyHours":{"oneOf":[{"format":"int32","minimum":0,"type":"integer","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.everyHours.oneOf.0","typeLabel":"integer\u003cint32>"},{"format":"int32","minimum":0,"type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.everyHours.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.everyHours","typeLabel":"integer\u003cint32> | null"},"localTimes":{"oneOf":[{"items":{"type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.0","typeLabel":"string[]"},{"items":{"type":"string"},"type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.localTimes","typeLabel":"string[] | null"}},"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0","typeLabel":"object"},{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["days","dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.1.dayBasis","typeLabel":"enum\u003cstring>"},"days":{"format":"int32","minimum":0,"type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.1.days","typeLabel":"integer\u003cint32>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["daily"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.1.kind","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.1","typeLabel":"object"},{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["days","dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.2.dayBasis","typeLabel":"enum\u003cstring>"},"days":{"format":"int32","minimum":0,"type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.2.days","typeLabel":"integer\u003cint32>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["multiDay"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.2.kind","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.2","typeLabel":"object"}],"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence","typeLabel":"object"},"scheduleId":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.scheduleId","typeLabel":"string"},"scheduleLabel":{"description":"The published schedule version's display name (e.g. \"EU\"), so a quote card or Review\nnames the window without a settlement read permission.","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.scheduleLabel","typeLabel":"string"},"scheduleVersion":{"format":"int64","type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.scheduleVersion","typeLabel":"integer\u003cint64>"},"snapshotAt":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.snapshotAt","typeLabel":"string\u003cdate-time>"},"windowId":{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.windowId","typeLabel":"string\u003cuuid>"},"assumedBoundary":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.0","typeLabel":"null"},{"type":"object","description":"Present when the window's boundary comes from an assumed schedule term rather than the\nLP's confirmation: every surface shows the window as assumed until the LP confirms it.","required":["timeZone","source","lpName"],"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"lpName":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.1.lpName","typeLabel":"string"},"source":{"description":"Where the assumed boundary came from, as recorded in the settlement schedule; free text.","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.1.source","typeLabel":"string"},"timeZone":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.1.timeZone","typeLabel":"string"}},"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.1","typeLabel":"object"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary","typeLabel":"null | object"},"cutoffAt":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cutoffAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cutoffAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cutoffAt","typeLabel":"string\u003cdate-time> | null"},"paymentDeadlineAt":{"oneOf":[{"description":"The occurrence's payment deadline from its schedule terms: what a credit trade's debt is\npaid by. Absent while the schedule has not confirmed it; never derived from `settlesBy`.","format":"date-time","type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.paymentDeadlineAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"description":"The occurrence's payment deadline from its schedule terms: what a credit trade's debt is\npaid by. Absent while the schedule has not confirmed it; never derived from `settlesBy`.","format":"date-time","type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.paymentDeadlineAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.paymentDeadlineAt","typeLabel":"string\u003cdate-time> | null"},"settlementBasis":{"description":"What completes a window's settlement. `clock`: the occurrence's confirmed completion time\n(`settlesBy`). `onAgreement`: the LP issues the window's statement and the trade settles\nonce that statement is agreed (Keyrock), so the window states no clock time.\n\nNew values may be added; treat unknown values as other.","enum":["clock","onAgreement"],"type":"string","x-extensible-enum":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.settlementBasis","typeLabel":"enum\u003cstring>"},"settlesBy":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.settlesBy.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.settlesBy.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.settlesBy","typeLabel":"string\u003cdate-time> | null"},"statementIssuer":{"oneOf":[{"description":"The LP whose statement settles an `onAgreement` window (\"Keyrock\"); absent on a clock window.","type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.statementIssuer.oneOf.0","typeLabel":"string"},{"description":"The LP whose statement settles an `onAgreement` window (\"Keyrock\"); absent on a clock window.","type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.statementIssuer.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.statementIssuer","typeLabel":"string | null"}},"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1","typeLabel":"object"}],"uniqueKey":"details.oneOf.1.currentWindow","typeLabel":"null | object"},"field":{"oneOf":[{"description":"`INVALID_REQUEST`: the path of a missing required, unknown, mistyped or out-of-range\nfield (for example `buy` or `sell.asset`), never the parser's message or input value.","type":"string","uniqueKey":"details.oneOf.1.field.oneOf.0","typeLabel":"string"},{"description":"`INVALID_REQUEST`: the path of a missing required, unknown, mistyped or out-of-range\nfield (for example `buy` or `sell.asset`), never the parser's message or input value.","type":"null","uniqueKey":"details.oneOf.1.field.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.field","typeLabel":"string | null"},"reason":{"oneOf":[{"type":"string","description":"A machine-readable reason token the refusing step gave.\n\nKnown source reason tokens (not all apply to every status): `clockUnavailable`, `assetUnsupported`, `referenceUndeclarable`, `referenceNotAdmitted`, `referenceStale`, `referenceDepth`, `marketDataUnavailable`, `calibrationUnavailable`, `livePriceUnavailable`, `lpQuoteUnavailable`, `platformJurisdictionCountryRequired`, `platformJurisdictionUnavailable`, `platformJurisdictionBlocked`, `venueJurisdictionExcluded`, `workspaceJurisdictionRequired`, `jurisdictionRegionRequired`, `jurisdictionUnavailable`, `venueKeyRefusedLikelyIpAllowlist`, `venueWithdrawalDestinationNotWhitelisted`, `adapterPayloadSerializationFailed`, `basicVenueAccountsUnavailable`, `billingPaymentOverdue`, `walletNotOnChain`, `ccxtVenueRequiresCexLane`, `executionStageDisabled`, `jurisdictionUnproven`, `onboardedVenuesUnavailable`, `onchainAccountDefaultWalletRequired`, `onchainAccountDefaultWalletUnavailable`, `onchainAccountWalletRequired`, `onchainAssetDecimalsMismatch`, `onchainAssetIdentityMismatch`, `onchainAssetUnmapped`, `onchainAssetVariantFiltered`, `onchainWalletUnavailable`, `onchainCatalogueUnavailable`, `onchainDeliverToNotReceivingWallet`, `onchainDeliverToUnverified`, `onchainMarketsUnavailable`, `onchainMarketCatalogUnreadable`, `onchainMarketChainRequired`, `onchainMarketVariantRequired`, `onchainMarketTokenRequired`, `onchainSiteChainUnreadable`, `onchainWalletChainUnreadable`, `onchainWalletInactive`, `onchainWalletNotLinked`, `onchainWalletNotUsable`, `onchainWalletPickAmbiguous`, `onchainWalletWrongNetwork`, `signerLacksRight`, `signerUnavailable`, `signingGrantAmbiguous`, `signingGrantExpired`, `nativeGrantExpiryReapprovalRequired`, `nativeBalanceUnavailable`, `solanaFinalityUnavailable`, `tronSolidBlockUnavailable`, `signingGrantPolicyUnreadable`, `signingGrantPolicyChecking`, `signingGrantRequired`, `signingGrantTokenNotKept`, `signingGrantTokenNotPayable`, `solverChainUnready`, `walletChainMismatch`, `walletNotUsableByYou`, `walletNotVerifiedForAce`, `walletNotWhitelisted`, `withdrawalChainUnsupported`, `accountFeeUnavailable`, `comparisonCostsUnavailable`, `connectionListingUnavailable`, `feeUnverified`, `noPool`, `noPrice`, `noSize`, `notFilled`, `notYetPublished`, `priceArithmetic`, `priceSourceNone`, `referenceMidUnavailable`, `settlementPrecisionUnavailable`, `accountSetupIncomplete`, `admissionUnavailable`, `advancedAccountEligibilityUnavailable`, `advancedAccountStateInconsistent`, `advancedConnectionDisabled`, `advancedConnectionNotConfigured`, `advancedConnectionPaused`, `advancedSettlementNeedsVerification`, `advancedModeDisabled`, `advancedNotAvailableForAccount`, `advancedNotEnabledForAccount`, `allowanceUnavailable`, `acrossCapacityExceeded`, `relayCapacityExceeded`, `acrossChainNotCarried`, `cctpChainNotCarried`, `cctpWalletRequired`, `acrossWalletRequired`, `walletBrowserSigningEvmOnly`, `relayChainNotCarried`, `apiKeyAdvancedWalletUnsupported`, `apiKeyOrganisationWalletScopeRequired`, `grantCapExceeded`, `amountAboveMaximum`, `amountBelowMinimum`, `belowVenueMinimum`, `amountUnreadable`, `amountsUnreadable`, `askFirst`, `authorityUnavailable`, `automationNeverAsks`, `availabilityUnreadable`, `backgroundNeverAsks`, `balanceUnreadable`, `defaultsUnavailable`, `walletHasNoAddress`, `walletUnavailable`, `bondAmountUnreadable`, `bondAssetUnreadable`, `catalogueUnavailable`, `chainFamilyUnknown`, `chainUnrecorded`, `clientSessionRequired`, `clockUnreadable`, `comingSoon`, `connectionChanged`, `connectionRevoked`, `corridorInvalid`, `credential`, `deadlineExceeded`, `defaultsLoading`, `deliverToCalldataUnsupported`, `deliverToTagUnsupported`, `deliverToNotPermitted`, `deliverToUnreadable`, `tradingPermissionRequired`, `directPatienceHarvest`, `economicallyInferior`, `exactAmountConflictsWithCard`, `exactAmountConflictsWithQuote`, `exactOutputDeliveryUnsupported`, `exactOutputEstimateUnavailable`, `exactRouteHypothesisUnavailable`, `expiredOnArrival`, `expiryUnknown`, `feeUnreadable`, `filteredOut`, `firmAskRefused`, `firmAskFundsTimedOut`, `firmAskPreparationTimedOut`, `quotePreparationFailed`, `firmAskAdmissionTimedOut`, `seliniFirmAskMarketsTimedOut`, `seliniFirmAskHandoffTimedOut`, `seliniFirmAskBeforePostTimedOut`, `seliniFirmAskValidationTimedOut`, `seliniFirmAskResponseTimedOut`, `seliniFirmAskTransportFailure`, `rfqQuoteRefusedQuoteNotAvailable`, `rfqQuoteRefusedQuotingDisabled`, `rfqQuoteRefusedClientRfqNotConfigured`, `rfqQuoteRefusedClientProfileNotLoaded`, `rfqQuoteRefusedMarketDisabled`, `rfqQuoteRefusedInvalidQuantity`, `rfqQuoteRefusedInvalidSide`, `rfqQuoteRefusedInvalidCurrency`, `rfqQuoteRefusedPricePrecisionError`, `rfqQuoteRefusedRfqError`, `rfqQuoteRefused`, `venueOutcomeIndeterminate`, `venueBodyUnreadable`, `venueResponseUnmapped`, `venueRateLimited`, `venueQuoteAdmissionExpired`, `placementSignedPastDeadline`, `quoteIdentityConflict`, `symbolUnsupported`, `marketSymbolAmbiguous`, `firmAskPrincipalRequired`, `indicativeRequested`, `freshnessUnknown`, `fundingWindow`, `insufficientLiquidity`, `venueRelationship`, `venueRelationshipUnavailable`, `lpUnknown`, `mfaEnrolmentRequired`, `mfaRequired`, `minimumUnverified`, `mixedNetworks`, `netReceivedUnavailable`, `networkUnrecorded`, `noAddress`, `noCard`, `noFetcher`, `noInventory`, `noLaneForPair`, `noLegs`, `noOnChainCorridor`, `noPlannedVenue`, `noQuote`, `noRpc`, `notConnected`, `notEligible`, `notExecutable`, `orderPayloadMissing`, `outsideTopComposites`, `pairUnmapped`, `sellChainInvalid`, `permissionsUnreadable`, `placeOrderNotPermitted`, `prefundingMarkerUnreadable`, `prefundingRequired`, `indicative`, `priceOnRequest`, `priceOutOfRange`, `priceProtectionInvalid`, `pricingBookOnly`, `productNotQuoted`, `protocolChainMissing`, `providerFeeTreatmentUnknown`, `providerSiteUnrecorded`, `quoteIdUnissuable`, `quoteNotHeld`, `buyChainInvalid`, `buyAmountUnsupported`, `exactOutputDebitUnavailable`, `pairNotServed`, `accountFundingReadUnverified`, `quoteReconfirmationRequired`, `quoteRejected`, `keyrockSecurityCatalogueUnavailable`, `venueAnsweredAfterQuoteWindow`, `venueQuoteIntentMismatch`, `payExactUnsupported`, `receiveWalletNotServed`, `referenceMidUnreadable`, `referencePriceUnavailable`, `registryUnavailable`, `releaseRecheckUnavailable`, `requestUnbuildable`, `routeLegChainUnknown`, `routeLegUnnamed`, `routeLegUnplanned`, `routeUnavailable`, `secondFactorUnreadable`, `shortfallUnmeasured`, `shortfallUnreadable`, `singleChainVenue`, `siteChainUnreadable`, `sizeNotEligible`, `submitOrderBlocked`, `takerOnboardingIncomplete`, `tierNotQuoted`, `tradePaused`, `venueConnectionStorageUnavailable`, `venueDataStale`, `venueDeclined`, `venueNotConnected`, `venueNotEnabledForWorkspace`, `venueNotListed`, `venueTradeKeyUnavailable`, `venueTradeScopeRequired`, `venueTradeUnreadable`, `venueUnavailable`, `walletRefused`, `withdrawalFeeUnread`, `acrossRoutedViaCctp`, `apiKeyOrganisationWalletNotAllowlisted`, `balanceAvailabilityUnconfirmed`, `bankDestinationUnavailable`, `bebopJamKeyNotEnabled`, `bebopJamQuoteDeclined`, `bebopTokenUnavailable`, `relayCurrencyUnsupported`, `relaySwapImpactTooHigh`, `tetrafiSolverCallbackNotAuthorized`, `tradingLinkSnapshotChanged`, `tradingLinkSnapshotUnavailable`, `uniswapChainReadUnavailable`, `uniswapInsufficientDepth`, `uniswapQuoteUnreadable`, `uniswapUnwrapAboveDailyCap`, `uniswapUnwrapAboveTradeCap`, `uniswapRouteNotGranted`, `venueNotEnabled`, `askLimitReached`, `balanceMeaningUnconfirmed`, `bebopQuorumWalletTooSlow`, `bebopWalletQuorumUnreadable`, `bebopBrowserWalletUnsupported`, `connectionNotConfigured`, `deliveryAccountNetworkUnavailable`, `deliveryAccountUnavailable`, `destinationCannotSendOnChain`, `dexReferencePriceUnavailable`, `firmQuoteLimited`, `fundingAccountNetworkUnavailable`, `fundingAccountUnavailable`, `insufficientDepth`, `missingPermission`, `needsNativeGas`, `needsWallet`, `notPriced`, `payInTermsUnavailable`, `pilotTradeCapExceeded`, `pilotMinimumAboveTradeCap`, `platformFeeRateUnavailable`, `pricingBookPairUnserved`, `settlementDeclarationUnavailable`, `settlementNotAvailable`, `timedOut`, `timedOutBeforeSend`, `tradingSourceNetworkUnavailable`, `tradingSourceNotLinked`, `venueEnablementRechecking`, `venueEnablementUnavailable`, `venueListingTimedOut`, `venuePoliciesUnavailable`, `multiliquidPaused`, `multiliquidAssetNotAccepted`, `walletNotAllowlistedForAsset`, `walletBlacklisted`, `multiliquidPriceInvalid`, `multiliquidStablePriceOutOfBand`, `multiliquidInsufficientLiquidity`, `multiliquidProviderPrefundUnavailable`, `multiliquidDailyLimitReached`, `eligibilityUnverifiable`, `multiliquidInsufficientBalance`, `multiliquidWalletFundsInsufficient`, `multiliquidInsufficientAllowance`, `walletTokenAccountFrozen`, `multiliquidAmountInTooHigh`, `multiliquidAmountOutTooLow`, `multiliquidInsufficientLpFeeBalance`, `multiliquidTransferFeeNotSupported`, `multiliquidParticipantUnavailable`, `multiliquidChainNotSupported`, `multiliquidObservationWalletUnavailable`, `privyMultiliquidArrayPinsUnsupported`, `cctpDestinationNotGranted`, `signingGrantNativeOnly`, `quoteRejectedInsufficientBalance`, `walletGateUnreadable`, `policyBlocked`, `treasuryPolicyApprovalRequired`, `destinationTagRequired`, `destinationTagMismatch`, `destinationTagInvalid`, `acrossBasicLaneNotEnabled`, `creditReadUnavailable`, `exactOutputFirmAskUnsupported`, `grantEndsBeforeVenueFunding`, `jurisdictionNotServed`, `pairUnsupported`, `requesterJurisdictionUnknown`, `venueAccountHasNoKey`, `venueAssessmentRequired`, `venueConnectionInvalid`, `venueReenableRequiresNewCredentials`, `venueTradingPaused`, `balanceNotObserved`, `notPermitted`, `balanceNotPermitted`, `gasUnchecked`, `catalogueWaitStateUnavailable`, `cctpRouteUpgrading`, `creditOnly`, `dexReferencePriceMissing`, `quoteAuthorityUnavailable`, `venueRoutingOff`, `venueRoutingStateUnavailable`, `indicativeUnavailable`, `marketUnavailable`, `noReferenceMid`, `observationBindingUnavailable`, `quoteIdUnavailable`, `stalePrice`.\n\nNew values may be added; treat unknown values as other.","enum":["clockUnavailable","assetUnsupported","referenceUndeclarable","referenceNotAdmitted","referenceStale","referenceDepth","marketDataUnavailable","calibrationUnavailable","livePriceUnavailable","lpQuoteUnavailable","platformJurisdictionCountryRequired","platformJurisdictionUnavailable","platformJurisdictionBlocked","venueJurisdictionExcluded","workspaceJurisdictionRequired","jurisdictionRegionRequired","jurisdictionUnavailable","venueKeyRefusedLikelyIpAllowlist","venueWithdrawalDestinationNotWhitelisted","adapterPayloadSerializationFailed","basicVenueAccountsUnavailable","billingPaymentOverdue","walletNotOnChain","ccxtVenueRequiresCexLane","executionStageDisabled","jurisdictionUnproven","onboardedVenuesUnavailable","onchainAccountDefaultWalletRequired","onchainAccountDefaultWalletUnavailable","onchainAccountWalletRequired","onchainAssetDecimalsMismatch","onchainAssetIdentityMismatch","onchainAssetUnmapped","onchainAssetVariantFiltered","onchainWalletUnavailable","onchainCatalogueUnavailable","onchainDeliverToNotReceivingWallet","onchainDeliverToUnverified","onchainMarketsUnavailable","onchainMarketCatalogUnreadable","onchainMarketChainRequired","onchainMarketVariantRequired","onchainMarketTokenRequired","onchainSiteChainUnreadable","onchainWalletChainUnreadable","onchainWalletInactive","onchainWalletNotLinked","onchainWalletNotUsable","onchainWalletPickAmbiguous","onchainWalletWrongNetwork","signerLacksRight","signerUnavailable","signingGrantAmbiguous","signingGrantExpired","nativeGrantExpiryReapprovalRequired","nativeBalanceUnavailable","solanaFinalityUnavailable","tronSolidBlockUnavailable","signingGrantPolicyUnreadable","signingGrantPolicyChecking","signingGrantRequired","signingGrantTokenNotKept","signingGrantTokenNotPayable","solverChainUnready","walletChainMismatch","walletNotUsableByYou","walletNotVerifiedForAce","walletNotWhitelisted","withdrawalChainUnsupported","accountFeeUnavailable","comparisonCostsUnavailable","connectionListingUnavailable","feeUnverified","noPool","noPrice","noSize","notFilled","notYetPublished","priceArithmetic","priceSourceNone","referenceMidUnavailable","settlementPrecisionUnavailable","accountSetupIncomplete","admissionUnavailable","advancedAccountEligibilityUnavailable","advancedAccountStateInconsistent","advancedConnectionDisabled","advancedConnectionNotConfigured","advancedConnectionPaused","advancedSettlementNeedsVerification","advancedModeDisabled","advancedNotAvailableForAccount","advancedNotEnabledForAccount","allowanceUnavailable","acrossCapacityExceeded","relayCapacityExceeded","acrossChainNotCarried","cctpChainNotCarried","cctpWalletRequired","acrossWalletRequired","walletBrowserSigningEvmOnly","relayChainNotCarried","apiKeyAdvancedWalletUnsupported","apiKeyOrganisationWalletScopeRequired","grantCapExceeded","amountAboveMaximum","amountBelowMinimum","belowVenueMinimum","amountUnreadable","amountsUnreadable","askFirst","authorityUnavailable","automationNeverAsks","availabilityUnreadable","backgroundNeverAsks","balanceUnreadable","defaultsUnavailable","walletHasNoAddress","walletUnavailable","bondAmountUnreadable","bondAssetUnreadable","catalogueUnavailable","chainFamilyUnknown","chainUnrecorded","clientSessionRequired","clockUnreadable","comingSoon","connectionChanged","connectionRevoked","corridorInvalid","credential","deadlineExceeded","defaultsLoading","deliverToCalldataUnsupported","deliverToTagUnsupported","deliverToNotPermitted","deliverToUnreadable","tradingPermissionRequired","directPatienceHarvest","economicallyInferior","exactAmountConflictsWithCard","exactAmountConflictsWithQuote","exactOutputDeliveryUnsupported","exactOutputEstimateUnavailable","exactRouteHypothesisUnavailable","expiredOnArrival","expiryUnknown","feeUnreadable","filteredOut","firmAskRefused","firmAskFundsTimedOut","firmAskPreparationTimedOut","quotePreparationFailed","firmAskAdmissionTimedOut","seliniFirmAskMarketsTimedOut","seliniFirmAskHandoffTimedOut","seliniFirmAskBeforePostTimedOut","seliniFirmAskValidationTimedOut","seliniFirmAskResponseTimedOut","seliniFirmAskTransportFailure","rfqQuoteRefusedQuoteNotAvailable","rfqQuoteRefusedQuotingDisabled","rfqQuoteRefusedClientRfqNotConfigured","rfqQuoteRefusedClientProfileNotLoaded","rfqQuoteRefusedMarketDisabled","rfqQuoteRefusedInvalidQuantity","rfqQuoteRefusedInvalidSide","rfqQuoteRefusedInvalidCurrency","rfqQuoteRefusedPricePrecisionError","rfqQuoteRefusedRfqError","rfqQuoteRefused","venueOutcomeIndeterminate","venueBodyUnreadable","venueResponseUnmapped","venueRateLimited","venueQuoteAdmissionExpired","placementSignedPastDeadline","quoteIdentityConflict","symbolUnsupported","marketSymbolAmbiguous","firmAskPrincipalRequired","indicativeRequested","freshnessUnknown","fundingWindow","insufficientLiquidity","venueRelationship","venueRelationshipUnavailable","lpUnknown","mfaEnrolmentRequired","mfaRequired","minimumUnverified","mixedNetworks","netReceivedUnavailable","networkUnrecorded","noAddress","noCard","noFetcher","noInventory","noLaneForPair","noLegs","noOnChainCorridor","noPlannedVenue","noQuote","noRpc","notConnected","notEligible","notExecutable","orderPayloadMissing","outsideTopComposites","pairUnmapped","sellChainInvalid","permissionsUnreadable","placeOrderNotPermitted","prefundingMarkerUnreadable","prefundingRequired","indicative","priceOnRequest","priceOutOfRange","priceProtectionInvalid","pricingBookOnly","productNotQuoted","protocolChainMissing","providerFeeTreatmentUnknown","providerSiteUnrecorded","quoteIdUnissuable","quoteNotHeld","buyChainInvalid","buyAmountUnsupported","exactOutputDebitUnavailable","pairNotServed","accountFundingReadUnverified","quoteReconfirmationRequired","quoteRejected","keyrockSecurityCatalogueUnavailable","venueAnsweredAfterQuoteWindow","venueQuoteIntentMismatch","payExactUnsupported","receiveWalletNotServed","referenceMidUnreadable","referencePriceUnavailable","registryUnavailable","releaseRecheckUnavailable","requestUnbuildable","routeLegChainUnknown","routeLegUnnamed","routeLegUnplanned","routeUnavailable","secondFactorUnreadable","shortfallUnmeasured","shortfallUnreadable","singleChainVenue","siteChainUnreadable","sizeNotEligible","submitOrderBlocked","takerOnboardingIncomplete","tierNotQuoted","tradePaused","venueConnectionStorageUnavailable","venueDataStale","venueDeclined","venueNotConnected","venueNotEnabledForWorkspace","venueNotListed","venueTradeKeyUnavailable","venueTradeScopeRequired","venueTradeUnreadable","venueUnavailable","walletRefused","withdrawalFeeUnread","acrossRoutedViaCctp","apiKeyOrganisationWalletNotAllowlisted","balanceAvailabilityUnconfirmed","bankDestinationUnavailable","bebopJamKeyNotEnabled","bebopJamQuoteDeclined","bebopTokenUnavailable","relayCurrencyUnsupported","relaySwapImpactTooHigh","tetrafiSolverCallbackNotAuthorized","tradingLinkSnapshotChanged","tradingLinkSnapshotUnavailable","uniswapChainReadUnavailable","uniswapInsufficientDepth","uniswapQuoteUnreadable","uniswapUnwrapAboveDailyCap","uniswapUnwrapAboveTradeCap","uniswapRouteNotGranted","venueNotEnabled","askLimitReached","balanceMeaningUnconfirmed","bebopQuorumWalletTooSlow","bebopWalletQuorumUnreadable","bebopBrowserWalletUnsupported","connectionNotConfigured","deliveryAccountNetworkUnavailable","deliveryAccountUnavailable","destinationCannotSendOnChain","dexReferencePriceUnavailable","firmQuoteLimited","fundingAccountNetworkUnavailable","fundingAccountUnavailable","insufficientDepth","missingPermission","needsNativeGas","needsWallet","notPriced","payInTermsUnavailable","pilotTradeCapExceeded","pilotMinimumAboveTradeCap","platformFeeRateUnavailable","pricingBookPairUnserved","settlementDeclarationUnavailable","settlementNotAvailable","timedOut","timedOutBeforeSend","tradingSourceNetworkUnavailable","tradingSourceNotLinked","venueEnablementRechecking","venueEnablementUnavailable","venueListingTimedOut","venuePoliciesUnavailable","multiliquidPaused","multiliquidAssetNotAccepted","walletNotAllowlistedForAsset","walletBlacklisted","multiliquidPriceInvalid","multiliquidStablePriceOutOfBand","multiliquidInsufficientLiquidity","multiliquidProviderPrefundUnavailable","multiliquidDailyLimitReached","eligibilityUnverifiable","multiliquidInsufficientBalance","multiliquidWalletFundsInsufficient","multiliquidInsufficientAllowance","walletTokenAccountFrozen","multiliquidAmountInTooHigh","multiliquidAmountOutTooLow","multiliquidInsufficientLpFeeBalance","multiliquidTransferFeeNotSupported","multiliquidParticipantUnavailable","multiliquidChainNotSupported","multiliquidObservationWalletUnavailable","privyMultiliquidArrayPinsUnsupported","cctpDestinationNotGranted","signingGrantNativeOnly","quoteRejectedInsufficientBalance","walletGateUnreadable","policyBlocked","treasuryPolicyApprovalRequired","destinationTagRequired","destinationTagMismatch","destinationTagInvalid","acrossBasicLaneNotEnabled","creditReadUnavailable","exactOutputFirmAskUnsupported","grantEndsBeforeVenueFunding","jurisdictionNotServed","pairUnsupported","requesterJurisdictionUnknown","venueAccountHasNoKey","venueAssessmentRequired","venueConnectionInvalid","venueReenableRequiresNewCredentials","venueTradingPaused","balanceNotObserved","notPermitted","balanceNotPermitted","gasUnchecked","catalogueWaitStateUnavailable","cctpRouteUpgrading","creditOnly","dexReferencePriceMissing","quoteAuthorityUnavailable","venueRoutingOff","venueRoutingStateUnavailable","indicativeUnavailable","marketUnavailable","noReferenceMid","observationBindingUnavailable","quoteIdUnavailable","stalePrice"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.reason.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"A machine-readable reason token the refusing step gave.\n\nKnown source reason tokens (not all apply to every status): `clockUnavailable`, `assetUnsupported`, `referenceUndeclarable`, `referenceNotAdmitted`, `referenceStale`, `referenceDepth`, `marketDataUnavailable`, `calibrationUnavailable`, `livePriceUnavailable`, `lpQuoteUnavailable`, `platformJurisdictionCountryRequired`, `platformJurisdictionUnavailable`, `platformJurisdictionBlocked`, `venueJurisdictionExcluded`, `workspaceJurisdictionRequired`, `jurisdictionRegionRequired`, `jurisdictionUnavailable`, `venueKeyRefusedLikelyIpAllowlist`, `venueWithdrawalDestinationNotWhitelisted`, `adapterPayloadSerializationFailed`, `basicVenueAccountsUnavailable`, `billingPaymentOverdue`, `walletNotOnChain`, `ccxtVenueRequiresCexLane`, `executionStageDisabled`, `jurisdictionUnproven`, `onboardedVenuesUnavailable`, `onchainAccountDefaultWalletRequired`, `onchainAccountDefaultWalletUnavailable`, `onchainAccountWalletRequired`, `onchainAssetDecimalsMismatch`, `onchainAssetIdentityMismatch`, `onchainAssetUnmapped`, `onchainAssetVariantFiltered`, `onchainWalletUnavailable`, `onchainCatalogueUnavailable`, `onchainDeliverToNotReceivingWallet`, `onchainDeliverToUnverified`, `onchainMarketsUnavailable`, `onchainMarketCatalogUnreadable`, `onchainMarketChainRequired`, `onchainMarketVariantRequired`, `onchainMarketTokenRequired`, `onchainSiteChainUnreadable`, `onchainWalletChainUnreadable`, `onchainWalletInactive`, `onchainWalletNotLinked`, `onchainWalletNotUsable`, `onchainWalletPickAmbiguous`, `onchainWalletWrongNetwork`, `signerLacksRight`, `signerUnavailable`, `signingGrantAmbiguous`, `signingGrantExpired`, `nativeGrantExpiryReapprovalRequired`, `nativeBalanceUnavailable`, `solanaFinalityUnavailable`, `tronSolidBlockUnavailable`, `signingGrantPolicyUnreadable`, `signingGrantPolicyChecking`, `signingGrantRequired`, `signingGrantTokenNotKept`, `signingGrantTokenNotPayable`, `solverChainUnready`, `walletChainMismatch`, `walletNotUsableByYou`, `walletNotVerifiedForAce`, `walletNotWhitelisted`, `withdrawalChainUnsupported`, `accountFeeUnavailable`, `comparisonCostsUnavailable`, `connectionListingUnavailable`, `feeUnverified`, `noPool`, `noPrice`, `noSize`, `notFilled`, `notYetPublished`, `priceArithmetic`, `priceSourceNone`, `referenceMidUnavailable`, `settlementPrecisionUnavailable`, `accountSetupIncomplete`, `admissionUnavailable`, `advancedAccountEligibilityUnavailable`, `advancedAccountStateInconsistent`, `advancedConnectionDisabled`, `advancedConnectionNotConfigured`, `advancedConnectionPaused`, `advancedSettlementNeedsVerification`, `advancedModeDisabled`, `advancedNotAvailableForAccount`, `advancedNotEnabledForAccount`, `allowanceUnavailable`, `acrossCapacityExceeded`, `relayCapacityExceeded`, `acrossChainNotCarried`, `cctpChainNotCarried`, `cctpWalletRequired`, `acrossWalletRequired`, `walletBrowserSigningEvmOnly`, `relayChainNotCarried`, `apiKeyAdvancedWalletUnsupported`, `apiKeyOrganisationWalletScopeRequired`, `grantCapExceeded`, `amountAboveMaximum`, `amountBelowMinimum`, `belowVenueMinimum`, `amountUnreadable`, `amountsUnreadable`, `askFirst`, `authorityUnavailable`, `automationNeverAsks`, `availabilityUnreadable`, `backgroundNeverAsks`, `balanceUnreadable`, `defaultsUnavailable`, `walletHasNoAddress`, `walletUnavailable`, `bondAmountUnreadable`, `bondAssetUnreadable`, `catalogueUnavailable`, `chainFamilyUnknown`, `chainUnrecorded`, `clientSessionRequired`, `clockUnreadable`, `comingSoon`, `connectionChanged`, `connectionRevoked`, `corridorInvalid`, `credential`, `deadlineExceeded`, `defaultsLoading`, `deliverToCalldataUnsupported`, `deliverToTagUnsupported`, `deliverToNotPermitted`, `deliverToUnreadable`, `tradingPermissionRequired`, `directPatienceHarvest`, `economicallyInferior`, `exactAmountConflictsWithCard`, `exactAmountConflictsWithQuote`, `exactOutputDeliveryUnsupported`, `exactOutputEstimateUnavailable`, `exactRouteHypothesisUnavailable`, `expiredOnArrival`, `expiryUnknown`, `feeUnreadable`, `filteredOut`, `firmAskRefused`, `firmAskFundsTimedOut`, `firmAskPreparationTimedOut`, `quotePreparationFailed`, `firmAskAdmissionTimedOut`, `seliniFirmAskMarketsTimedOut`, `seliniFirmAskHandoffTimedOut`, `seliniFirmAskBeforePostTimedOut`, `seliniFirmAskValidationTimedOut`, `seliniFirmAskResponseTimedOut`, `seliniFirmAskTransportFailure`, `rfqQuoteRefusedQuoteNotAvailable`, `rfqQuoteRefusedQuotingDisabled`, `rfqQuoteRefusedClientRfqNotConfigured`, `rfqQuoteRefusedClientProfileNotLoaded`, `rfqQuoteRefusedMarketDisabled`, `rfqQuoteRefusedInvalidQuantity`, `rfqQuoteRefusedInvalidSide`, `rfqQuoteRefusedInvalidCurrency`, `rfqQuoteRefusedPricePrecisionError`, `rfqQuoteRefusedRfqError`, `rfqQuoteRefused`, `venueOutcomeIndeterminate`, `venueBodyUnreadable`, `venueResponseUnmapped`, `venueRateLimited`, `venueQuoteAdmissionExpired`, `placementSignedPastDeadline`, `quoteIdentityConflict`, `symbolUnsupported`, `marketSymbolAmbiguous`, `firmAskPrincipalRequired`, `indicativeRequested`, `freshnessUnknown`, `fundingWindow`, `insufficientLiquidity`, `venueRelationship`, `venueRelationshipUnavailable`, `lpUnknown`, `mfaEnrolmentRequired`, `mfaRequired`, `minimumUnverified`, `mixedNetworks`, `netReceivedUnavailable`, `networkUnrecorded`, `noAddress`, `noCard`, `noFetcher`, `noInventory`, `noLaneForPair`, `noLegs`, `noOnChainCorridor`, `noPlannedVenue`, `noQuote`, `noRpc`, `notConnected`, `notEligible`, `notExecutable`, `orderPayloadMissing`, `outsideTopComposites`, `pairUnmapped`, `sellChainInvalid`, `permissionsUnreadable`, `placeOrderNotPermitted`, `prefundingMarkerUnreadable`, `prefundingRequired`, `indicative`, `priceOnRequest`, `priceOutOfRange`, `priceProtectionInvalid`, `pricingBookOnly`, `productNotQuoted`, `protocolChainMissing`, `providerFeeTreatmentUnknown`, `providerSiteUnrecorded`, `quoteIdUnissuable`, `quoteNotHeld`, `buyChainInvalid`, `buyAmountUnsupported`, `exactOutputDebitUnavailable`, `pairNotServed`, `accountFundingReadUnverified`, `quoteReconfirmationRequired`, `quoteRejected`, `keyrockSecurityCatalogueUnavailable`, `venueAnsweredAfterQuoteWindow`, `venueQuoteIntentMismatch`, `payExactUnsupported`, `receiveWalletNotServed`, `referenceMidUnreadable`, `referencePriceUnavailable`, `registryUnavailable`, `releaseRecheckUnavailable`, `requestUnbuildable`, `routeLegChainUnknown`, `routeLegUnnamed`, `routeLegUnplanned`, `routeUnavailable`, `secondFactorUnreadable`, `shortfallUnmeasured`, `shortfallUnreadable`, `singleChainVenue`, `siteChainUnreadable`, `sizeNotEligible`, `submitOrderBlocked`, `takerOnboardingIncomplete`, `tierNotQuoted`, `tradePaused`, `venueConnectionStorageUnavailable`, `venueDataStale`, `venueDeclined`, `venueNotConnected`, `venueNotEnabledForWorkspace`, `venueNotListed`, `venueTradeKeyUnavailable`, `venueTradeScopeRequired`, `venueTradeUnreadable`, `venueUnavailable`, `walletRefused`, `withdrawalFeeUnread`, `acrossRoutedViaCctp`, `apiKeyOrganisationWalletNotAllowlisted`, `balanceAvailabilityUnconfirmed`, `bankDestinationUnavailable`, `bebopJamKeyNotEnabled`, `bebopJamQuoteDeclined`, `bebopTokenUnavailable`, `relayCurrencyUnsupported`, `relaySwapImpactTooHigh`, `tetrafiSolverCallbackNotAuthorized`, `tradingLinkSnapshotChanged`, `tradingLinkSnapshotUnavailable`, `uniswapChainReadUnavailable`, `uniswapInsufficientDepth`, `uniswapQuoteUnreadable`, `uniswapUnwrapAboveDailyCap`, `uniswapUnwrapAboveTradeCap`, `uniswapRouteNotGranted`, `venueNotEnabled`, `askLimitReached`, `balanceMeaningUnconfirmed`, `bebopQuorumWalletTooSlow`, `bebopWalletQuorumUnreadable`, `bebopBrowserWalletUnsupported`, `connectionNotConfigured`, `deliveryAccountNetworkUnavailable`, `deliveryAccountUnavailable`, `destinationCannotSendOnChain`, `dexReferencePriceUnavailable`, `firmQuoteLimited`, `fundingAccountNetworkUnavailable`, `fundingAccountUnavailable`, `insufficientDepth`, `missingPermission`, `needsNativeGas`, `needsWallet`, `notPriced`, `payInTermsUnavailable`, `pilotTradeCapExceeded`, `pilotMinimumAboveTradeCap`, `platformFeeRateUnavailable`, `pricingBookPairUnserved`, `settlementDeclarationUnavailable`, `settlementNotAvailable`, `timedOut`, `timedOutBeforeSend`, `tradingSourceNetworkUnavailable`, `tradingSourceNotLinked`, `venueEnablementRechecking`, `venueEnablementUnavailable`, `venueListingTimedOut`, `venuePoliciesUnavailable`, `multiliquidPaused`, `multiliquidAssetNotAccepted`, `walletNotAllowlistedForAsset`, `walletBlacklisted`, `multiliquidPriceInvalid`, `multiliquidStablePriceOutOfBand`, `multiliquidInsufficientLiquidity`, `multiliquidProviderPrefundUnavailable`, `multiliquidDailyLimitReached`, `eligibilityUnverifiable`, `multiliquidInsufficientBalance`, `multiliquidWalletFundsInsufficient`, `multiliquidInsufficientAllowance`, `walletTokenAccountFrozen`, `multiliquidAmountInTooHigh`, `multiliquidAmountOutTooLow`, `multiliquidInsufficientLpFeeBalance`, `multiliquidTransferFeeNotSupported`, `multiliquidParticipantUnavailable`, `multiliquidChainNotSupported`, `multiliquidObservationWalletUnavailable`, `privyMultiliquidArrayPinsUnsupported`, `cctpDestinationNotGranted`, `signingGrantNativeOnly`, `quoteRejectedInsufficientBalance`, `walletGateUnreadable`, `policyBlocked`, `treasuryPolicyApprovalRequired`, `destinationTagRequired`, `destinationTagMismatch`, `destinationTagInvalid`, `acrossBasicLaneNotEnabled`, `creditReadUnavailable`, `exactOutputFirmAskUnsupported`, `grantEndsBeforeVenueFunding`, `jurisdictionNotServed`, `pairUnsupported`, `requesterJurisdictionUnknown`, `venueAccountHasNoKey`, `venueAssessmentRequired`, `venueConnectionInvalid`, `venueReenableRequiresNewCredentials`, `venueTradingPaused`, `balanceNotObserved`, `notPermitted`, `balanceNotPermitted`, `gasUnchecked`, `catalogueWaitStateUnavailable`, `cctpRouteUpgrading`, `creditOnly`, `dexReferencePriceMissing`, `quoteAuthorityUnavailable`, `venueRoutingOff`, `venueRoutingStateUnavailable`, `indicativeUnavailable`, `marketUnavailable`, `noReferenceMid`, `observationBindingUnavailable`, `quoteIdUnavailable`, `stalePrice`.\n\nNew values may be added; treat unknown values as other.","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.reason","typeLabel":"enum\u003cstring> | null"},"remediation":{"oneOf":[{"description":"A machine-readable recovery hint the refusing step gave.","type":"string","uniqueKey":"details.oneOf.1.remediation.oneOf.0","typeLabel":"string"},{"description":"A machine-readable recovery hint the refusing step gave.","type":"null","uniqueKey":"details.oneOf.1.remediation.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.remediation","typeLabel":"string | null"},"retryAfter":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.retryAfter.oneOf.0","typeLabel":"null"},{"type":"string","description":"Every `429`, and a `503` that knows: when to try again, as an ISO 8601 duration. The\n`Retry-After` header carries the same wait in whole seconds.","format":"duration","pattern":"^PT(?:[0-9]+H(?:[0-9]+M)?(?:[0-9]+(?:\\.[0-9]{1,3})?S)?|[0-9]+M(?:[0-9]+(?:\\.[0-9]{1,3})?S)?|[0-9]+(?:\\.[0-9]{1,3})?S)$","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","example":"PT120S","uniqueKey":"details.oneOf.1.retryAfter.oneOf.1","typeLabel":"string\u003cduration>"}],"uniqueKey":"details.oneOf.1.retryAfter","typeLabel":"null | string\u003cduration>"},"value":{"oneOf":[{"description":"`UNKNOWN_ASSET`, `UNKNOWN_CHAIN`, `UNKNOWN_VENUE`, `INVALID_AMOUNT`: the value refused;\n`ASSET_NOT_ON_CHAIN`: the pinned chain the Asset is not on.","type":"string","uniqueKey":"details.oneOf.1.value.oneOf.0","typeLabel":"string"},{"description":"`UNKNOWN_ASSET`, `UNKNOWN_CHAIN`, `UNKNOWN_VENUE`, `INVALID_AMOUNT`: the value refused;\n`ASSET_NOT_ON_CHAIN`: the pinned chain the Asset is not on.","type":"null","uniqueKey":"details.oneOf.1.value.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.value","typeLabel":"string | null"}},"additionalProperties":{"description":"Any further detail the code carries (for example `stepUpSubject`, `balanceShortfall`,\n`minimumAmount`), each named in camelCase.","uniqueKey":"details.oneOf.1.additionalProperties","typeLabel":"any"},"uniqueKey":"details.oneOf.1","typeLabel":"object"}],"uniqueKey":"details","typeLabel":"null | object"},"next":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"next.oneOf.0","typeLabel":"null"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["order"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.1.kind","typeLabel":"enum\u003cstring>"}},"uniqueKey":"next.oneOf.1","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["preflight"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.2.kind","typeLabel":"enum\u003cstring>"}},"uniqueKey":"next.oneOf.2","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["transactions","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["transact"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.3.kind","typeLabel":"enum\u003cstring>"},"transactions":{"items":{"description":"One transaction the Taker sends itself (an approval included).","properties":{"chain":{"description":"A CAIP-2 chain id (`eip155:8453`, `solana:\u003cgenesis>`, `tron:shasta`), syntax-checked:\na namespace of 3 to 8 lowercase letters, digits or `-`, and a reference of 1 to 32\nletters, digits, `-` or `_`. Compared exactly, as CAIP-2 references are case-sensitive.","example":"eip155:8453","type":"string","isRequired":true,"uniqueKey":"next.oneOf.3.transactions.items.[INDEX].chain","typeLabel":"string"},"data":{"description":"Hex calldata (`0x…`).","type":"string","isRequired":true,"uniqueKey":"next.oneOf.3.transactions.items.[INDEX].data","typeLabel":"string"},"to":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.3.transactions.items.[INDEX].to","typeLabel":"string"},"value":{"description":"Native value in base units, as a decimal string.","type":"string","isRequired":true,"uniqueKey":"next.oneOf.3.transactions.items.[INDEX].value","typeLabel":"string"}},"required":["chain","data","to","value"],"type":"object","uniqueKey":"next.oneOf.3.transactions.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"next.oneOf.3.transactions","typeLabel":"object[]"}},"uniqueKey":"next.oneOf.3","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["typedData","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["sign"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.4.kind","typeLabel":"enum\u003cstring>"},"typedData":{"oneOf":[{"isRequired":true}],"isRequired":true,"uniqueKey":"next.oneOf.4.typedData","typeLabel":"any"}},"uniqueKey":"next.oneOf.4","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["fund"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.kind","typeLabel":"enum\u003cstring>"},"instructions":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"next.oneOf.5.instructions.oneOf.0","typeLabel":"null"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["asset","chainRef","networkCode","networkConfirmed","address","tokenContract","observedAt","expiresAt","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.address","typeLabel":"string"},"asset":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.asset","typeLabel":"string"},"chainRef":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.chainRef","typeLabel":"string"},"expiresAt":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.expiresAt","typeLabel":"string\u003cdate-time>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["venueDeposit"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.kind","typeLabel":"enum\u003cstring>"},"networkCode":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.networkCode","typeLabel":"string"},"networkConfirmed":{"description":"False when the venue reports no network for this address: `networkCode`\nis empty and `chainRef` is the caller's selection, which the customer\nmust confirm with the venue before sending.","type":"boolean","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.networkConfirmed","typeLabel":"boolean"},"observedAt":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.observedAt","typeLabel":"string\u003cdate-time>"},"tokenContract":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.tokenContract","typeLabel":"string"},"memo":{"oneOf":[{"type":"string","uniqueKey":"next.oneOf.5.instructions.oneOf.1.memo.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"next.oneOf.5.instructions.oneOf.1.memo.oneOf.1","typeLabel":"null"}],"uniqueKey":"next.oneOf.5.instructions.oneOf.1.memo","typeLabel":"string | null"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.1","typeLabel":"object"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["accountLast4","amount","bankDisplayName","expiresAt","kind","revealRef"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"accountLast4":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.accountLast4.oneOf.0","typeLabel":"null"},{"type":"string","description":"An already-qualified masked suffix, not external account ownership proof.","maxLength":4,"minLength":1,"pattern":"^[A-Za-z0-9]{1,4}$","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","example":"A1b2","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.accountLast4.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.accountLast4","typeLabel":"null | string"},"amount":{"description":"A non-negative decimal string in Asset units (`\"10000\"`, `\"9994.0\"`): digits with an\noptional fraction, no sign, exponent or leading zero. Never a float and never base\nunits. A request amount must also be positive (`INVALID_AMOUNT`); a fee or a\nknown balance may be zero.","example":"10000","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.amount","typeLabel":"string"},"bankDisplayName":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.bankDisplayName.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.bankDisplayName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.bankDisplayName","typeLabel":"string | null"},"expiresAt":{"oneOf":[{"description":"UTC ISO instant, or null when expiry is UNKNOWN. Null never means no expiry.","format":"date-time","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.expiresAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"description":"UTC ISO instant, or null when expiry is UNKNOWN. Null never means no expiry.","format":"date-time","type":"null","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.expiresAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.expiresAt","typeLabel":"string\u003cdate-time> | null"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["bankDeposit"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.kind","typeLabel":"enum\u003cstring>"},"revealRef":{"description":"Non-bearer lookup metadata for deposit instructions. Possession grants no authority. Each reveal requires current wallet-view authority and exact account membership; an API key additionally needs treasury_read. Missing and foreign accounts share a refusal. Quotes never fetch these instructions.","properties":{"connectionId":{"description":"The native held leg's exact connection id, never a first/sole-connection guess.","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.connectionId","typeLabel":"string"},"currency":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.currency","typeLabel":"string"},"providerBankId":{"oneOf":[{"description":"The provider's linked-bank id when required by that venue; otherwise unknown/null.","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.providerBankId.oneOf.0","typeLabel":"string"},{"description":"The provider's linked-bank id when required by that venue; otherwise unknown/null.","type":"null","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.providerBankId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.providerBankId","typeLabel":"string | null"}},"required":["connectionId","currency","providerBankId"],"type":"object","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef","typeLabel":"object"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.2","typeLabel":"object"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["walletId","address","chain","asset","tokenContract","amount","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.address","typeLabel":"string"},"amount":{"description":"A non-negative decimal string in Asset units (`\"10000\"`, `\"9994.0\"`): digits with an\noptional fraction, no sign, exponent or leading zero. Never a float and never base\nunits. A request amount must also be positive (`INVALID_AMOUNT`); a fee or a\nknown balance may be zero.","example":"10000","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.amount","typeLabel":"string"},"asset":{"description":"A registry Asset id (`USDC`, `USDe`). Matched case-insensitively against the catalogue,\nwhich answers it in the registry's own spelling.","example":"USDC","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.asset","typeLabel":"string"},"chain":{"description":"A CAIP-2 chain id (`eip155:8453`, `solana:\u003cgenesis>`, `tron:shasta`), syntax-checked:\na namespace of 3 to 8 lowercase letters, digits or `-`, and a reference of 1 to 32\nletters, digits, `-` or `_`. Compared exactly, as CAIP-2 references are case-sensitive.","example":"eip155:8453","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.chain","typeLabel":"string"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["walletTopUp"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.kind","typeLabel":"enum\u003cstring>"},"tokenContract":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.tokenContract","typeLabel":"string"},"walletId":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.walletId","typeLabel":"string"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.3","typeLabel":"object"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["chain","amount","asset","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"amount":{"description":"A non-negative decimal string in Asset units (`\"10000\"`, `\"9994.0\"`): digits with an\noptional fraction, no sign, exponent or leading zero. Never a float and never base\nunits. A request amount must also be positive (`INVALID_AMOUNT`); a fee or a\nknown balance may be zero.","example":"10000","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.4.amount","typeLabel":"string"},"asset":{"description":"A registry Asset id (`USDC`, `USDe`). Matched case-insensitively against the catalogue,\nwhich answers it in the registry's own spelling.","example":"USDC","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.4.asset","typeLabel":"string"},"chain":{"description":"A CAIP-2 chain id (`eip155:8453`, `solana:\u003cgenesis>`, `tron:shasta`), syntax-checked:\na namespace of 3 to 8 lowercase letters, digits or `-`, and a reference of 1 to 32\nletters, digits, `-` or `_`. Compared exactly, as CAIP-2 references are case-sensitive.","example":"eip155:8453","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.4.chain","typeLabel":"string"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["nativeGas"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.4.kind","typeLabel":"enum\u003cstring>"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.4","typeLabel":"object"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["connectionId","amount","currency","reason","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"amount":{"description":"A non-negative decimal string in Asset units (`\"10000\"`, `\"9994.0\"`): digits with an\noptional fraction, no sign, exponent or leading zero. Never a float and never base\nunits. A request amount must also be positive (`INVALID_AMOUNT`); a fee or a\nknown balance may be zero.","example":"10000","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.amount","typeLabel":"string"},"connectionId":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.connectionId","typeLabel":"string"},"currency":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.currency","typeLabel":"string"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["depositFirstNotOffered"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.kind","typeLabel":"enum\u003cstring>"},"reason":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.reason","typeLabel":"string"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.5","typeLabel":"object"}],"uniqueKey":"next.oneOf.5.instructions","typeLabel":"null · object · object · object · object · object"}},"uniqueKey":"next.oneOf.5","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["needs","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["requote"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.6.kind","typeLabel":"enum\u003cstring>"},"needs":{"items":{"description":"A funding or delivery selection a requote needs filled. An empty `needs` means requote as is.\n\nNew values may be added; treat unknown values as other.","enum":["wallet:evm","wallet:solana","wallet:tron","account","bankAccount","deliverTo"],"type":"string","x-extensible-enum":true,"uniqueKey":"next.oneOf.6.needs.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","isRequired":true,"uniqueKey":"next.oneOf.6.needs","typeLabel":"enum\u003cstring>[]"}},"uniqueKey":"next.oneOf.6","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["search"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.7.kind","typeLabel":"enum\u003cstring>"}},"uniqueKey":"next.oneOf.7","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["retryAfter","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["wait"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.8.kind","typeLabel":"enum\u003cstring>"},"retryAfter":{"description":"An ISO 8601 duration, e.g. PT3S or PT2M.","examples":["PT120S"],"format":"duration","pattern":"^PT(?:[0-9]+H(?:[0-9]+M)?(?:[0-9]+(?:\\.[0-9]{1,3})?S)?|[0-9]+M(?:[0-9]+(?:\\.[0-9]{1,3})?S)?|[0-9]+(?:\\.[0-9]{1,3})?S)$","type":"string","isRequired":true,"uniqueKey":"next.oneOf.8.retryAfter","typeLabel":"string\u003cduration>"}},"uniqueKey":"next.oneOf.8","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["reference","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["contact"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.9.kind","typeLabel":"enum\u003cstring>"},"reference":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.9.reference","typeLabel":"string"}},"uniqueKey":"next.oneOf.9","typeLabel":"object"}],"uniqueKey":"next","typeLabel":"null · object · object · object · object · object · object · object · object · object"},"requestId":{"oneOf":[{"description":"The request's id, the value the `X-Request-Id` response header carries. Quote it when\nasking for support.","type":"string","uniqueKey":"requestId.oneOf.0","typeLabel":"string"},{"description":"The request's id, the value the `X-Request-Id` response header carries. Quote it when\nasking for support.","type":"null","uniqueKey":"requestId.oneOf.1","typeLabel":"null"}],"uniqueKey":"requestId","typeLabel":"string | null"}},"required":["error","docUrl","retryable","message","timestamp"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"docUrl":"\u003cstring>","error":"\u003cstring>","message":"\u003cstring>","retryable":true,"timestamp":"2023-11-07T05:31:56Z","details":{"capabilityBlockers":[{"code":"WORKSPACE_NOT_FOUND","estimate":"minutes","message":"\u003cstring>","unlockStep":"finishOnboarding","currentlyDue":["\u003cstring>"]}],"conflicts":["\u003cstring>"],"consentedWindow":{"cadence":{"dayBasis":"calendarDays","kind":"intraday","everyHours":1,"localTimes":["\u003cstring>"]},"scheduleId":"\u003cstring>","scheduleLabel":"\u003cstring>","scheduleVersion":123,"snapshotAt":"2023-11-07T05:31:56Z","windowId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","assumedBoundary":{"lpName":"\u003cstring>","source":"\u003cstring>","timeZone":"\u003cstring>"},"cutoffAt":"2023-11-07T05:31:56Z","paymentDeadlineAt":"2023-11-07T05:31:56Z","settlementBasis":"clock","settlesBy":"2023-11-07T05:31:56Z","statementIssuer":"\u003cstring>"},"currentWindow":{"cadence":{"dayBasis":"calendarDays","kind":"intraday","everyHours":1,"localTimes":["\u003cstring>"]},"scheduleId":"\u003cstring>","scheduleLabel":"\u003cstring>","scheduleVersion":123,"snapshotAt":"2023-11-07T05:31:56Z","windowId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","assumedBoundary":{"lpName":"\u003cstring>","source":"\u003cstring>","timeZone":"\u003cstring>"},"cutoffAt":"2023-11-07T05:31:56Z","paymentDeadlineAt":"2023-11-07T05:31:56Z","settlementBasis":"clock","settlesBy":"2023-11-07T05:31:56Z","statementIssuer":"\u003cstring>"},"field":"\u003cstring>","reason":"clockUnavailable","remediation":"\u003cstring>","retryAfter":"PT120S","value":"\u003cstring>"},"next":{"kind":"order"},"requestId":"\u003cstring>"}}},"exampleType":"generated"}},"description":"Authentication required","headers":{"Deprecation":{"description":"Present when this operation is deprecated: an RFC 9745 structured date, for example @1792443399. Absence makes no deprecation claim.","schema":{"type":"string"}},"Link":{"description":"When deprecation applies, links to the deprecation notice with rel=deprecation; other link relations may also be sent.","schema":{"type":"string"}},"Sunset":{"description":"Present when retirement is scheduled: the HTTP-date after which this version may stop being served (RFC 8594).","schema":{"type":"string"}},"WWW-Authenticate":{"description":"Always sent on 401: `api_key, Bearer`, naming the `api_key` security scheme (X-API-Key and its HMAC request-signing contract) and the `bearer_auth` security scheme's HTTP scheme (Bearer). A presented bearer token adds `error=\"invalid_token\"` to the Bearer challenge (RFC 6750 section 3).","schema":{"type":"string"}},"x-request-id":{"description":"The request's id: the caller's valid `X-Request-Id`, or a generated UUID v4. Quote it when asking for support.","schema":{"type":"string"}}},"exampleType":"generated"},"0f94fab7-4a30-4ff4-b77c-135b87d3a053":{"content":{"application/json":{"schema":{"description":"The shared refusal body of every integrator operation, including edge-layer errors.\n`error` is an open, stable machine-readable code; `docUrl` links to its documentation and\n`retryable` says whether an unchanged request may succeed later. `message` is for people,\nnot matching. `timestamp` is RFC 3339 UTC; optional `requestId` mirrors `X-Request-Id`.\nOptional `next` describes recovery and `details` carries code-specific information.\nHandle known codes and fall back on the HTTP status for unknown ones.","properties":{"docUrl":{"description":"Stable documentation for this refusal code.","type":"string","isRequired":true,"uniqueKey":"docUrl","typeLabel":"string"},"error":{"description":"The machine-readable code, for example `QUOTE_EXPIRED`.","type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"description":"What happened, in words a person can read. Not for matching.","type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"retryable":{"description":"Whether an unchanged request may succeed later, from the error catalogue.","type":"boolean","isRequired":true,"uniqueKey":"retryable","typeLabel":"boolean"},"timestamp":{"description":"When the refusal was made, as an RFC 3339 UTC timestamp.","format":"date-time","type":"string","isRequired":true,"uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"},"details":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.0","typeLabel":"null"},{"type":"object","description":"The code's detail. Each field is present only on the codes named beside it; other codes may\ncarry further fields, named in camelCase, which a client may ignore.","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"capabilityBlockers":{"oneOf":[{"description":"`CAPABILITY_BLOCKED` and the other capability refusals: what blocks the workspace.","items":{"description":"One reason a capability is blocked, plus the step that unlocks it.","properties":{"code":{"description":"Stable machine-readable blocker codes returned by the capability gate.\n\nNew values may be added; treat unknown values as other.","enum":["WORKSPACE_NOT_FOUND","WORKSPACE_NOT_ACTIVE","WORKSPACE_SUSPENDED","PARENT_WORKSPACE_INACTIVE","INSUFFICIENT_PERMISSION","WORKSPACE_TYPE_UNSUPPORTED","BASE_PROFILE_INCOMPLETE","BASE_PROFILE_UNREADABLE","KYB_NOT_VERIFIED","KYC_NOT_VERIFIED","SANCTIONS_FLAGGED","MEMBER_COMPLIANCE_FROZEN","MEMBER_COMPLIANCE_DENIED","SCREENING_PENDING","SCREENING_UNAVAILABLE","GEO_RESTRICTED","WALLET_NOT_VERIFIED","DIRECT_USER_NOT_FOUND","DIRECT_USER_SUSPENDED","DIRECT_USER_KYC_NOT_VERIFIED","INSUFFICIENT_SCOPE","TREASURY_DISABLED","NO_USABLE_CREDENTIAL","CROSS_OWNER_WRITE_DENIED","AGGREGATE_SCOPE_READ_ONLY","OWNER_SCOPE_REQUIRED","VENUE_OPERATION_UNSUPPORTED","TAKER_ONBOARDING_INCOMPLETE","TAKER_ADMISSION_UNAVAILABLE"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].code","typeLabel":"enum\u003cstring>"},"estimate":{"description":"Coarse time-to-unlock class. The UI owns the copy; figures are engineering\nestimates until the KYB queue and Sumsub webhooks supply measured values.\n\nNew values may be added; treat unknown values as other.","enum":["minutes","formsThenReview","adminAction","otherParty","unknown","notUnlockable"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].estimate","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].message","typeLabel":"string"},"unlockStep":{"description":"Stable key of the step that unlocks this blocker. The UI maps it to a\nroute or dialog.","enum":["finishOnboarding","companyDetails","kybProfile","kycDialog","linkWallet","askAdmin","contactBroker","manageDirectUsers","manageApiKey","connectCustodian","switchAccountScope","contactSupport","awaitScreening","none"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].unlockStep","typeLabel":"enum\u003cstring>"},"currentlyDue":{"description":"Requirement keys still due, such as `kyb_review`, `actor_kyc` or\n`permission:place_order`. Empty when nothing specific is due.","items":{"type":"string","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].currentlyDue.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].currentlyDue","typeLabel":"string[]"}},"required":["code","message","unlockStep","estimate"],"type":"object","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0","typeLabel":"object[]"},{"description":"`CAPABILITY_BLOCKED` and the other capability refusals: what blocks the workspace.","items":{"description":"One reason a capability is blocked, plus the step that unlocks it.","properties":{"code":{"description":"Stable machine-readable blocker codes returned by the capability gate.\n\nNew values may be added; treat unknown values as other.","enum":["WORKSPACE_NOT_FOUND","WORKSPACE_NOT_ACTIVE","WORKSPACE_SUSPENDED","PARENT_WORKSPACE_INACTIVE","INSUFFICIENT_PERMISSION","WORKSPACE_TYPE_UNSUPPORTED","BASE_PROFILE_INCOMPLETE","BASE_PROFILE_UNREADABLE","KYB_NOT_VERIFIED","KYC_NOT_VERIFIED","SANCTIONS_FLAGGED","MEMBER_COMPLIANCE_FROZEN","MEMBER_COMPLIANCE_DENIED","SCREENING_PENDING","SCREENING_UNAVAILABLE","GEO_RESTRICTED","WALLET_NOT_VERIFIED","DIRECT_USER_NOT_FOUND","DIRECT_USER_SUSPENDED","DIRECT_USER_KYC_NOT_VERIFIED","INSUFFICIENT_SCOPE","TREASURY_DISABLED","NO_USABLE_CREDENTIAL","CROSS_OWNER_WRITE_DENIED","AGGREGATE_SCOPE_READ_ONLY","OWNER_SCOPE_REQUIRED","VENUE_OPERATION_UNSUPPORTED","TAKER_ONBOARDING_INCOMPLETE","TAKER_ADMISSION_UNAVAILABLE"],"type":"string","x-extensible-enum":true},"currentlyDue":{"description":"Requirement keys still due, such as `kyb_review`, `actor_kyc` or\n`permission:place_order`. Empty when nothing specific is due.","items":{"type":"string"},"type":"array"},"estimate":{"description":"Coarse time-to-unlock class. The UI owns the copy; figures are engineering\nestimates until the KYB queue and Sumsub webhooks supply measured values.\n\nNew values may be added; treat unknown values as other.","enum":["minutes","formsThenReview","adminAction","otherParty","unknown","notUnlockable"],"type":"string","x-extensible-enum":true},"message":{"type":"string"},"unlockStep":{"description":"Stable key of the step that unlocks this blocker. The UI maps it to a\nroute or dialog.","enum":["finishOnboarding","companyDetails","kybProfile","kycDialog","linkWallet","askAdmin","contactBroker","manageDirectUsers","manageApiKey","connectCustodian","switchAccountScope","contactSupport","awaitScreening","none"],"type":"string","x-extensible-enum":true}},"required":["code","message","unlockStep","estimate"],"type":"object"},"type":"null","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.capabilityBlockers","typeLabel":"object[] | null"},"conflicts":{"oneOf":[{"description":"`REQUOTE_FIELDS_CONFLICT`: the fields that cannot go with `requote`.","items":{"type":"string","uniqueKey":"details.oneOf.1.conflicts.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"details.oneOf.1.conflicts.oneOf.0","typeLabel":"string[]"},{"description":"`REQUOTE_FIELDS_CONFLICT`: the fields that cannot go with `requote`.","items":{"type":"string"},"type":"null","uniqueKey":"details.oneOf.1.conflicts.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.conflicts","typeLabel":"string[] | null"},"consentedWindow":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.0","typeLabel":"null"},{"type":"object","description":"`SETTLEMENT_WINDOW_CHANGED`: the settlement window the order consented to (the quoted\nwindow, or the one its `settlementWindowId` named), which is no longer the one assigned.","required":["windowId","scheduleId","scheduleVersion","scheduleLabel","cadence","snapshotAt"],"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"cadence":{"oneOf":[{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.dayBasis","typeLabel":"enum\u003cstring>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["intraday"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"everyHours":{"oneOf":[{"format":"int32","minimum":0,"type":"integer","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.everyHours.oneOf.0","typeLabel":"integer\u003cint32>"},{"format":"int32","minimum":0,"type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.everyHours.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.everyHours","typeLabel":"integer\u003cint32> | null"},"localTimes":{"oneOf":[{"items":{"type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.0","typeLabel":"string[]"},{"items":{"type":"string"},"type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.localTimes","typeLabel":"string[] | null"}},"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0","typeLabel":"object"},{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["days","dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.1.dayBasis","typeLabel":"enum\u003cstring>"},"days":{"format":"int32","minimum":0,"type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.1.days","typeLabel":"integer\u003cint32>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["daily"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.1.kind","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.1","typeLabel":"object"},{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["days","dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.2.dayBasis","typeLabel":"enum\u003cstring>"},"days":{"format":"int32","minimum":0,"type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.2.days","typeLabel":"integer\u003cint32>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["multiDay"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.2.kind","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.2","typeLabel":"object"}],"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence","typeLabel":"object"},"scheduleId":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.scheduleId","typeLabel":"string"},"scheduleLabel":{"description":"The published schedule version's display name (e.g. \"EU\"), so a quote card or Review\nnames the window without a settlement read permission.","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.scheduleLabel","typeLabel":"string"},"scheduleVersion":{"format":"int64","type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.scheduleVersion","typeLabel":"integer\u003cint64>"},"snapshotAt":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.snapshotAt","typeLabel":"string\u003cdate-time>"},"windowId":{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.windowId","typeLabel":"string\u003cuuid>"},"assumedBoundary":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.0","typeLabel":"null"},{"type":"object","description":"Present when the window's boundary comes from an assumed schedule term rather than the\nLP's confirmation: every surface shows the window as assumed until the LP confirms it.","required":["timeZone","source","lpName"],"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"lpName":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.1.lpName","typeLabel":"string"},"source":{"description":"Where the assumed boundary came from, as recorded in the settlement schedule; free text.","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.1.source","typeLabel":"string"},"timeZone":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.1.timeZone","typeLabel":"string"}},"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.1","typeLabel":"object"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary","typeLabel":"null | object"},"cutoffAt":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cutoffAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cutoffAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cutoffAt","typeLabel":"string\u003cdate-time> | null"},"paymentDeadlineAt":{"oneOf":[{"description":"The occurrence's payment deadline from its schedule terms: what a credit trade's debt is\npaid by. Absent while the schedule has not confirmed it; never derived from `settlesBy`.","format":"date-time","type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.paymentDeadlineAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"description":"The occurrence's payment deadline from its schedule terms: what a credit trade's debt is\npaid by. Absent while the schedule has not confirmed it; never derived from `settlesBy`.","format":"date-time","type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.paymentDeadlineAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.paymentDeadlineAt","typeLabel":"string\u003cdate-time> | null"},"settlementBasis":{"description":"What completes a window's settlement. `clock`: the occurrence's confirmed completion time\n(`settlesBy`). `onAgreement`: the LP issues the window's statement and the trade settles\nonce that statement is agreed (Keyrock), so the window states no clock time.\n\nNew values may be added; treat unknown values as other.","enum":["clock","onAgreement"],"type":"string","x-extensible-enum":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.settlementBasis","typeLabel":"enum\u003cstring>"},"settlesBy":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.settlesBy.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.settlesBy.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.settlesBy","typeLabel":"string\u003cdate-time> | null"},"statementIssuer":{"oneOf":[{"description":"The LP whose statement settles an `onAgreement` window (\"Keyrock\"); absent on a clock window.","type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.statementIssuer.oneOf.0","typeLabel":"string"},{"description":"The LP whose statement settles an `onAgreement` window (\"Keyrock\"); absent on a clock window.","type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.statementIssuer.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.statementIssuer","typeLabel":"string | null"}},"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1","typeLabel":"object"}],"uniqueKey":"details.oneOf.1.consentedWindow","typeLabel":"null | object"},"currentWindow":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.currentWindow.oneOf.0","typeLabel":"null"},{"type":"object","description":"`SETTLEMENT_WINDOW_CHANGED`: the settlement window the server assigns the trade now.\nSend the same quote again with `settlementWindowId` set to `details.currentWindow.windowId`\nto consent to it.","required":["windowId","scheduleId","scheduleVersion","scheduleLabel","cadence","snapshotAt"],"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"cadence":{"oneOf":[{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.dayBasis","typeLabel":"enum\u003cstring>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["intraday"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"everyHours":{"oneOf":[{"format":"int32","minimum":0,"type":"integer","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.everyHours.oneOf.0","typeLabel":"integer\u003cint32>"},{"format":"int32","minimum":0,"type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.everyHours.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.everyHours","typeLabel":"integer\u003cint32> | null"},"localTimes":{"oneOf":[{"items":{"type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.0","typeLabel":"string[]"},{"items":{"type":"string"},"type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.localTimes","typeLabel":"string[] | null"}},"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0","typeLabel":"object"},{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["days","dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.1.dayBasis","typeLabel":"enum\u003cstring>"},"days":{"format":"int32","minimum":0,"type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.1.days","typeLabel":"integer\u003cint32>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["daily"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.1.kind","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.1","typeLabel":"object"},{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["days","dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.2.dayBasis","typeLabel":"enum\u003cstring>"},"days":{"format":"int32","minimum":0,"type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.2.days","typeLabel":"integer\u003cint32>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["multiDay"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.2.kind","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.2","typeLabel":"object"}],"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence","typeLabel":"object"},"scheduleId":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.scheduleId","typeLabel":"string"},"scheduleLabel":{"description":"The published schedule version's display name (e.g. \"EU\"), so a quote card or Review\nnames the window without a settlement read permission.","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.scheduleLabel","typeLabel":"string"},"scheduleVersion":{"format":"int64","type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.scheduleVersion","typeLabel":"integer\u003cint64>"},"snapshotAt":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.snapshotAt","typeLabel":"string\u003cdate-time>"},"windowId":{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.windowId","typeLabel":"string\u003cuuid>"},"assumedBoundary":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.0","typeLabel":"null"},{"type":"object","description":"Present when the window's boundary comes from an assumed schedule term rather than the\nLP's confirmation: every surface shows the window as assumed until the LP confirms it.","required":["timeZone","source","lpName"],"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"lpName":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.1.lpName","typeLabel":"string"},"source":{"description":"Where the assumed boundary came from, as recorded in the settlement schedule; free text.","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.1.source","typeLabel":"string"},"timeZone":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.1.timeZone","typeLabel":"string"}},"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.1","typeLabel":"object"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary","typeLabel":"null | object"},"cutoffAt":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cutoffAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cutoffAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cutoffAt","typeLabel":"string\u003cdate-time> | null"},"paymentDeadlineAt":{"oneOf":[{"description":"The occurrence's payment deadline from its schedule terms: what a credit trade's debt is\npaid by. Absent while the schedule has not confirmed it; never derived from `settlesBy`.","format":"date-time","type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.paymentDeadlineAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"description":"The occurrence's payment deadline from its schedule terms: what a credit trade's debt is\npaid by. Absent while the schedule has not confirmed it; never derived from `settlesBy`.","format":"date-time","type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.paymentDeadlineAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.paymentDeadlineAt","typeLabel":"string\u003cdate-time> | null"},"settlementBasis":{"description":"What completes a window's settlement. `clock`: the occurrence's confirmed completion time\n(`settlesBy`). `onAgreement`: the LP issues the window's statement and the trade settles\nonce that statement is agreed (Keyrock), so the window states no clock time.\n\nNew values may be added; treat unknown values as other.","enum":["clock","onAgreement"],"type":"string","x-extensible-enum":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.settlementBasis","typeLabel":"enum\u003cstring>"},"settlesBy":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.settlesBy.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.settlesBy.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.settlesBy","typeLabel":"string\u003cdate-time> | null"},"statementIssuer":{"oneOf":[{"description":"The LP whose statement settles an `onAgreement` window (\"Keyrock\"); absent on a clock window.","type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.statementIssuer.oneOf.0","typeLabel":"string"},{"description":"The LP whose statement settles an `onAgreement` window (\"Keyrock\"); absent on a clock window.","type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.statementIssuer.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.statementIssuer","typeLabel":"string | null"}},"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1","typeLabel":"object"}],"uniqueKey":"details.oneOf.1.currentWindow","typeLabel":"null | object"},"field":{"oneOf":[{"description":"`INVALID_REQUEST`: the path of a missing required, unknown, mistyped or out-of-range\nfield (for example `buy` or `sell.asset`), never the parser's message or input value.","type":"string","uniqueKey":"details.oneOf.1.field.oneOf.0","typeLabel":"string"},{"description":"`INVALID_REQUEST`: the path of a missing required, unknown, mistyped or out-of-range\nfield (for example `buy` or `sell.asset`), never the parser's message or input value.","type":"null","uniqueKey":"details.oneOf.1.field.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.field","typeLabel":"string | null"},"reason":{"oneOf":[{"type":"string","description":"A machine-readable reason token the refusing step gave.\n\nKnown source reason tokens (not all apply to every status): `clockUnavailable`, `assetUnsupported`, `referenceUndeclarable`, `referenceNotAdmitted`, `referenceStale`, `referenceDepth`, `marketDataUnavailable`, `calibrationUnavailable`, `livePriceUnavailable`, `lpQuoteUnavailable`, `platformJurisdictionCountryRequired`, `platformJurisdictionUnavailable`, `platformJurisdictionBlocked`, `venueJurisdictionExcluded`, `workspaceJurisdictionRequired`, `jurisdictionRegionRequired`, `jurisdictionUnavailable`, `venueKeyRefusedLikelyIpAllowlist`, `venueWithdrawalDestinationNotWhitelisted`, `adapterPayloadSerializationFailed`, `basicVenueAccountsUnavailable`, `billingPaymentOverdue`, `walletNotOnChain`, `ccxtVenueRequiresCexLane`, `executionStageDisabled`, `jurisdictionUnproven`, `onboardedVenuesUnavailable`, `onchainAccountDefaultWalletRequired`, `onchainAccountDefaultWalletUnavailable`, `onchainAccountWalletRequired`, `onchainAssetDecimalsMismatch`, `onchainAssetIdentityMismatch`, `onchainAssetUnmapped`, `onchainAssetVariantFiltered`, `onchainWalletUnavailable`, `onchainCatalogueUnavailable`, `onchainDeliverToNotReceivingWallet`, `onchainDeliverToUnverified`, `onchainMarketsUnavailable`, `onchainMarketCatalogUnreadable`, `onchainMarketChainRequired`, `onchainMarketVariantRequired`, `onchainMarketTokenRequired`, `onchainSiteChainUnreadable`, `onchainWalletChainUnreadable`, `onchainWalletInactive`, `onchainWalletNotLinked`, `onchainWalletNotUsable`, `onchainWalletPickAmbiguous`, `onchainWalletWrongNetwork`, `signerLacksRight`, `signerUnavailable`, `signingGrantAmbiguous`, `signingGrantExpired`, `nativeGrantExpiryReapprovalRequired`, `nativeBalanceUnavailable`, `solanaFinalityUnavailable`, `tronSolidBlockUnavailable`, `signingGrantPolicyUnreadable`, `signingGrantPolicyChecking`, `signingGrantRequired`, `signingGrantTokenNotKept`, `signingGrantTokenNotPayable`, `solverChainUnready`, `walletChainMismatch`, `walletNotUsableByYou`, `walletNotVerifiedForAce`, `walletNotWhitelisted`, `withdrawalChainUnsupported`, `accountFeeUnavailable`, `comparisonCostsUnavailable`, `connectionListingUnavailable`, `feeUnverified`, `noPool`, `noPrice`, `noSize`, `notFilled`, `notYetPublished`, `priceArithmetic`, `priceSourceNone`, `referenceMidUnavailable`, `settlementPrecisionUnavailable`, `accountSetupIncomplete`, `admissionUnavailable`, `advancedAccountEligibilityUnavailable`, `advancedAccountStateInconsistent`, `advancedConnectionDisabled`, `advancedConnectionNotConfigured`, `advancedConnectionPaused`, `advancedSettlementNeedsVerification`, `advancedModeDisabled`, `advancedNotAvailableForAccount`, `advancedNotEnabledForAccount`, `allowanceUnavailable`, `acrossCapacityExceeded`, `relayCapacityExceeded`, `acrossChainNotCarried`, `cctpChainNotCarried`, `cctpWalletRequired`, `acrossWalletRequired`, `walletBrowserSigningEvmOnly`, `relayChainNotCarried`, `apiKeyAdvancedWalletUnsupported`, `apiKeyOrganisationWalletScopeRequired`, `grantCapExceeded`, `amountAboveMaximum`, `amountBelowMinimum`, `belowVenueMinimum`, `amountUnreadable`, `amountsUnreadable`, `askFirst`, `authorityUnavailable`, `automationNeverAsks`, `availabilityUnreadable`, `backgroundNeverAsks`, `balanceUnreadable`, `defaultsUnavailable`, `walletHasNoAddress`, `walletUnavailable`, `bondAmountUnreadable`, `bondAssetUnreadable`, `catalogueUnavailable`, `chainFamilyUnknown`, `chainUnrecorded`, `clientSessionRequired`, `clockUnreadable`, `comingSoon`, `connectionChanged`, `connectionRevoked`, `corridorInvalid`, `credential`, `deadlineExceeded`, `defaultsLoading`, `deliverToCalldataUnsupported`, `deliverToTagUnsupported`, `deliverToNotPermitted`, `deliverToUnreadable`, `tradingPermissionRequired`, `directPatienceHarvest`, `economicallyInferior`, `exactAmountConflictsWithCard`, `exactAmountConflictsWithQuote`, `exactOutputDeliveryUnsupported`, `exactOutputEstimateUnavailable`, `exactRouteHypothesisUnavailable`, `expiredOnArrival`, `expiryUnknown`, `feeUnreadable`, `filteredOut`, `firmAskRefused`, `firmAskFundsTimedOut`, `firmAskPreparationTimedOut`, `quotePreparationFailed`, `firmAskAdmissionTimedOut`, `seliniFirmAskMarketsTimedOut`, `seliniFirmAskHandoffTimedOut`, `seliniFirmAskBeforePostTimedOut`, `seliniFirmAskValidationTimedOut`, `seliniFirmAskResponseTimedOut`, `seliniFirmAskTransportFailure`, `rfqQuoteRefusedQuoteNotAvailable`, `rfqQuoteRefusedQuotingDisabled`, `rfqQuoteRefusedClientRfqNotConfigured`, `rfqQuoteRefusedClientProfileNotLoaded`, `rfqQuoteRefusedMarketDisabled`, `rfqQuoteRefusedInvalidQuantity`, `rfqQuoteRefusedInvalidSide`, `rfqQuoteRefusedInvalidCurrency`, `rfqQuoteRefusedPricePrecisionError`, `rfqQuoteRefusedRfqError`, `rfqQuoteRefused`, `venueOutcomeIndeterminate`, `venueBodyUnreadable`, `venueResponseUnmapped`, `venueRateLimited`, `venueQuoteAdmissionExpired`, `placementSignedPastDeadline`, `quoteIdentityConflict`, `symbolUnsupported`, `marketSymbolAmbiguous`, `firmAskPrincipalRequired`, `indicativeRequested`, `freshnessUnknown`, `fundingWindow`, `insufficientLiquidity`, `venueRelationship`, `venueRelationshipUnavailable`, `lpUnknown`, `mfaEnrolmentRequired`, `mfaRequired`, `minimumUnverified`, `mixedNetworks`, `netReceivedUnavailable`, `networkUnrecorded`, `noAddress`, `noCard`, `noFetcher`, `noInventory`, `noLaneForPair`, `noLegs`, `noOnChainCorridor`, `noPlannedVenue`, `noQuote`, `noRpc`, `notConnected`, `notEligible`, `notExecutable`, `orderPayloadMissing`, `outsideTopComposites`, `pairUnmapped`, `sellChainInvalid`, `permissionsUnreadable`, `placeOrderNotPermitted`, `prefundingMarkerUnreadable`, `prefundingRequired`, `indicative`, `priceOnRequest`, `priceOutOfRange`, `priceProtectionInvalid`, `pricingBookOnly`, `productNotQuoted`, `protocolChainMissing`, `providerFeeTreatmentUnknown`, `providerSiteUnrecorded`, `quoteIdUnissuable`, `quoteNotHeld`, `buyChainInvalid`, `buyAmountUnsupported`, `exactOutputDebitUnavailable`, `pairNotServed`, `accountFundingReadUnverified`, `quoteReconfirmationRequired`, `quoteRejected`, `keyrockSecurityCatalogueUnavailable`, `venueAnsweredAfterQuoteWindow`, `venueQuoteIntentMismatch`, `payExactUnsupported`, `receiveWalletNotServed`, `referenceMidUnreadable`, `referencePriceUnavailable`, `registryUnavailable`, `releaseRecheckUnavailable`, `requestUnbuildable`, `routeLegChainUnknown`, `routeLegUnnamed`, `routeLegUnplanned`, `routeUnavailable`, `secondFactorUnreadable`, `shortfallUnmeasured`, `shortfallUnreadable`, `singleChainVenue`, `siteChainUnreadable`, `sizeNotEligible`, `submitOrderBlocked`, `takerOnboardingIncomplete`, `tierNotQuoted`, `tradePaused`, `venueConnectionStorageUnavailable`, `venueDataStale`, `venueDeclined`, `venueNotConnected`, `venueNotEnabledForWorkspace`, `venueNotListed`, `venueTradeKeyUnavailable`, `venueTradeScopeRequired`, `venueTradeUnreadable`, `venueUnavailable`, `walletRefused`, `withdrawalFeeUnread`, `acrossRoutedViaCctp`, `apiKeyOrganisationWalletNotAllowlisted`, `balanceAvailabilityUnconfirmed`, `bankDestinationUnavailable`, `bebopJamKeyNotEnabled`, `bebopJamQuoteDeclined`, `bebopTokenUnavailable`, `relayCurrencyUnsupported`, `relaySwapImpactTooHigh`, `tetrafiSolverCallbackNotAuthorized`, `tradingLinkSnapshotChanged`, `tradingLinkSnapshotUnavailable`, `uniswapChainReadUnavailable`, `uniswapInsufficientDepth`, `uniswapQuoteUnreadable`, `uniswapUnwrapAboveDailyCap`, `uniswapUnwrapAboveTradeCap`, `uniswapRouteNotGranted`, `venueNotEnabled`, `askLimitReached`, `balanceMeaningUnconfirmed`, `bebopQuorumWalletTooSlow`, `bebopWalletQuorumUnreadable`, `bebopBrowserWalletUnsupported`, `connectionNotConfigured`, `deliveryAccountNetworkUnavailable`, `deliveryAccountUnavailable`, `destinationCannotSendOnChain`, `dexReferencePriceUnavailable`, `firmQuoteLimited`, `fundingAccountNetworkUnavailable`, `fundingAccountUnavailable`, `insufficientDepth`, `missingPermission`, `needsNativeGas`, `needsWallet`, `notPriced`, `payInTermsUnavailable`, `pilotTradeCapExceeded`, `pilotMinimumAboveTradeCap`, `platformFeeRateUnavailable`, `pricingBookPairUnserved`, `settlementDeclarationUnavailable`, `settlementNotAvailable`, `timedOut`, `timedOutBeforeSend`, `tradingSourceNetworkUnavailable`, `tradingSourceNotLinked`, `venueEnablementRechecking`, `venueEnablementUnavailable`, `venueListingTimedOut`, `venuePoliciesUnavailable`, `multiliquidPaused`, `multiliquidAssetNotAccepted`, `walletNotAllowlistedForAsset`, `walletBlacklisted`, `multiliquidPriceInvalid`, `multiliquidStablePriceOutOfBand`, `multiliquidInsufficientLiquidity`, `multiliquidProviderPrefundUnavailable`, `multiliquidDailyLimitReached`, `eligibilityUnverifiable`, `multiliquidInsufficientBalance`, `multiliquidWalletFundsInsufficient`, `multiliquidInsufficientAllowance`, `walletTokenAccountFrozen`, `multiliquidAmountInTooHigh`, `multiliquidAmountOutTooLow`, `multiliquidInsufficientLpFeeBalance`, `multiliquidTransferFeeNotSupported`, `multiliquidParticipantUnavailable`, `multiliquidChainNotSupported`, `multiliquidObservationWalletUnavailable`, `privyMultiliquidArrayPinsUnsupported`, `cctpDestinationNotGranted`, `signingGrantNativeOnly`, `quoteRejectedInsufficientBalance`, `walletGateUnreadable`, `policyBlocked`, `treasuryPolicyApprovalRequired`, `destinationTagRequired`, `destinationTagMismatch`, `destinationTagInvalid`, `acrossBasicLaneNotEnabled`, `creditReadUnavailable`, `exactOutputFirmAskUnsupported`, `grantEndsBeforeVenueFunding`, `jurisdictionNotServed`, `pairUnsupported`, `requesterJurisdictionUnknown`, `venueAccountHasNoKey`, `venueAssessmentRequired`, `venueConnectionInvalid`, `venueReenableRequiresNewCredentials`, `venueTradingPaused`, `balanceNotObserved`, `notPermitted`, `balanceNotPermitted`, `gasUnchecked`, `catalogueWaitStateUnavailable`, `cctpRouteUpgrading`, `creditOnly`, `dexReferencePriceMissing`, `quoteAuthorityUnavailable`, `venueRoutingOff`, `venueRoutingStateUnavailable`, `indicativeUnavailable`, `marketUnavailable`, `noReferenceMid`, `observationBindingUnavailable`, `quoteIdUnavailable`, `stalePrice`.\n\nNew values may be added; treat unknown values as other.","enum":["clockUnavailable","assetUnsupported","referenceUndeclarable","referenceNotAdmitted","referenceStale","referenceDepth","marketDataUnavailable","calibrationUnavailable","livePriceUnavailable","lpQuoteUnavailable","platformJurisdictionCountryRequired","platformJurisdictionUnavailable","platformJurisdictionBlocked","venueJurisdictionExcluded","workspaceJurisdictionRequired","jurisdictionRegionRequired","jurisdictionUnavailable","venueKeyRefusedLikelyIpAllowlist","venueWithdrawalDestinationNotWhitelisted","adapterPayloadSerializationFailed","basicVenueAccountsUnavailable","billingPaymentOverdue","walletNotOnChain","ccxtVenueRequiresCexLane","executionStageDisabled","jurisdictionUnproven","onboardedVenuesUnavailable","onchainAccountDefaultWalletRequired","onchainAccountDefaultWalletUnavailable","onchainAccountWalletRequired","onchainAssetDecimalsMismatch","onchainAssetIdentityMismatch","onchainAssetUnmapped","onchainAssetVariantFiltered","onchainWalletUnavailable","onchainCatalogueUnavailable","onchainDeliverToNotReceivingWallet","onchainDeliverToUnverified","onchainMarketsUnavailable","onchainMarketCatalogUnreadable","onchainMarketChainRequired","onchainMarketVariantRequired","onchainMarketTokenRequired","onchainSiteChainUnreadable","onchainWalletChainUnreadable","onchainWalletInactive","onchainWalletNotLinked","onchainWalletNotUsable","onchainWalletPickAmbiguous","onchainWalletWrongNetwork","signerLacksRight","signerUnavailable","signingGrantAmbiguous","signingGrantExpired","nativeGrantExpiryReapprovalRequired","nativeBalanceUnavailable","solanaFinalityUnavailable","tronSolidBlockUnavailable","signingGrantPolicyUnreadable","signingGrantPolicyChecking","signingGrantRequired","signingGrantTokenNotKept","signingGrantTokenNotPayable","solverChainUnready","walletChainMismatch","walletNotUsableByYou","walletNotVerifiedForAce","walletNotWhitelisted","withdrawalChainUnsupported","accountFeeUnavailable","comparisonCostsUnavailable","connectionListingUnavailable","feeUnverified","noPool","noPrice","noSize","notFilled","notYetPublished","priceArithmetic","priceSourceNone","referenceMidUnavailable","settlementPrecisionUnavailable","accountSetupIncomplete","admissionUnavailable","advancedAccountEligibilityUnavailable","advancedAccountStateInconsistent","advancedConnectionDisabled","advancedConnectionNotConfigured","advancedConnectionPaused","advancedSettlementNeedsVerification","advancedModeDisabled","advancedNotAvailableForAccount","advancedNotEnabledForAccount","allowanceUnavailable","acrossCapacityExceeded","relayCapacityExceeded","acrossChainNotCarried","cctpChainNotCarried","cctpWalletRequired","acrossWalletRequired","walletBrowserSigningEvmOnly","relayChainNotCarried","apiKeyAdvancedWalletUnsupported","apiKeyOrganisationWalletScopeRequired","grantCapExceeded","amountAboveMaximum","amountBelowMinimum","belowVenueMinimum","amountUnreadable","amountsUnreadable","askFirst","authorityUnavailable","automationNeverAsks","availabilityUnreadable","backgroundNeverAsks","balanceUnreadable","defaultsUnavailable","walletHasNoAddress","walletUnavailable","bondAmountUnreadable","bondAssetUnreadable","catalogueUnavailable","chainFamilyUnknown","chainUnrecorded","clientSessionRequired","clockUnreadable","comingSoon","connectionChanged","connectionRevoked","corridorInvalid","credential","deadlineExceeded","defaultsLoading","deliverToCalldataUnsupported","deliverToTagUnsupported","deliverToNotPermitted","deliverToUnreadable","tradingPermissionRequired","directPatienceHarvest","economicallyInferior","exactAmountConflictsWithCard","exactAmountConflictsWithQuote","exactOutputDeliveryUnsupported","exactOutputEstimateUnavailable","exactRouteHypothesisUnavailable","expiredOnArrival","expiryUnknown","feeUnreadable","filteredOut","firmAskRefused","firmAskFundsTimedOut","firmAskPreparationTimedOut","quotePreparationFailed","firmAskAdmissionTimedOut","seliniFirmAskMarketsTimedOut","seliniFirmAskHandoffTimedOut","seliniFirmAskBeforePostTimedOut","seliniFirmAskValidationTimedOut","seliniFirmAskResponseTimedOut","seliniFirmAskTransportFailure","rfqQuoteRefusedQuoteNotAvailable","rfqQuoteRefusedQuotingDisabled","rfqQuoteRefusedClientRfqNotConfigured","rfqQuoteRefusedClientProfileNotLoaded","rfqQuoteRefusedMarketDisabled","rfqQuoteRefusedInvalidQuantity","rfqQuoteRefusedInvalidSide","rfqQuoteRefusedInvalidCurrency","rfqQuoteRefusedPricePrecisionError","rfqQuoteRefusedRfqError","rfqQuoteRefused","venueOutcomeIndeterminate","venueBodyUnreadable","venueResponseUnmapped","venueRateLimited","venueQuoteAdmissionExpired","placementSignedPastDeadline","quoteIdentityConflict","symbolUnsupported","marketSymbolAmbiguous","firmAskPrincipalRequired","indicativeRequested","freshnessUnknown","fundingWindow","insufficientLiquidity","venueRelationship","venueRelationshipUnavailable","lpUnknown","mfaEnrolmentRequired","mfaRequired","minimumUnverified","mixedNetworks","netReceivedUnavailable","networkUnrecorded","noAddress","noCard","noFetcher","noInventory","noLaneForPair","noLegs","noOnChainCorridor","noPlannedVenue","noQuote","noRpc","notConnected","notEligible","notExecutable","orderPayloadMissing","outsideTopComposites","pairUnmapped","sellChainInvalid","permissionsUnreadable","placeOrderNotPermitted","prefundingMarkerUnreadable","prefundingRequired","indicative","priceOnRequest","priceOutOfRange","priceProtectionInvalid","pricingBookOnly","productNotQuoted","protocolChainMissing","providerFeeTreatmentUnknown","providerSiteUnrecorded","quoteIdUnissuable","quoteNotHeld","buyChainInvalid","buyAmountUnsupported","exactOutputDebitUnavailable","pairNotServed","accountFundingReadUnverified","quoteReconfirmationRequired","quoteRejected","keyrockSecurityCatalogueUnavailable","venueAnsweredAfterQuoteWindow","venueQuoteIntentMismatch","payExactUnsupported","receiveWalletNotServed","referenceMidUnreadable","referencePriceUnavailable","registryUnavailable","releaseRecheckUnavailable","requestUnbuildable","routeLegChainUnknown","routeLegUnnamed","routeLegUnplanned","routeUnavailable","secondFactorUnreadable","shortfallUnmeasured","shortfallUnreadable","singleChainVenue","siteChainUnreadable","sizeNotEligible","submitOrderBlocked","takerOnboardingIncomplete","tierNotQuoted","tradePaused","venueConnectionStorageUnavailable","venueDataStale","venueDeclined","venueNotConnected","venueNotEnabledForWorkspace","venueNotListed","venueTradeKeyUnavailable","venueTradeScopeRequired","venueTradeUnreadable","venueUnavailable","walletRefused","withdrawalFeeUnread","acrossRoutedViaCctp","apiKeyOrganisationWalletNotAllowlisted","balanceAvailabilityUnconfirmed","bankDestinationUnavailable","bebopJamKeyNotEnabled","bebopJamQuoteDeclined","bebopTokenUnavailable","relayCurrencyUnsupported","relaySwapImpactTooHigh","tetrafiSolverCallbackNotAuthorized","tradingLinkSnapshotChanged","tradingLinkSnapshotUnavailable","uniswapChainReadUnavailable","uniswapInsufficientDepth","uniswapQuoteUnreadable","uniswapUnwrapAboveDailyCap","uniswapUnwrapAboveTradeCap","uniswapRouteNotGranted","venueNotEnabled","askLimitReached","balanceMeaningUnconfirmed","bebopQuorumWalletTooSlow","bebopWalletQuorumUnreadable","bebopBrowserWalletUnsupported","connectionNotConfigured","deliveryAccountNetworkUnavailable","deliveryAccountUnavailable","destinationCannotSendOnChain","dexReferencePriceUnavailable","firmQuoteLimited","fundingAccountNetworkUnavailable","fundingAccountUnavailable","insufficientDepth","missingPermission","needsNativeGas","needsWallet","notPriced","payInTermsUnavailable","pilotTradeCapExceeded","pilotMinimumAboveTradeCap","platformFeeRateUnavailable","pricingBookPairUnserved","settlementDeclarationUnavailable","settlementNotAvailable","timedOut","timedOutBeforeSend","tradingSourceNetworkUnavailable","tradingSourceNotLinked","venueEnablementRechecking","venueEnablementUnavailable","venueListingTimedOut","venuePoliciesUnavailable","multiliquidPaused","multiliquidAssetNotAccepted","walletNotAllowlistedForAsset","walletBlacklisted","multiliquidPriceInvalid","multiliquidStablePriceOutOfBand","multiliquidInsufficientLiquidity","multiliquidProviderPrefundUnavailable","multiliquidDailyLimitReached","eligibilityUnverifiable","multiliquidInsufficientBalance","multiliquidWalletFundsInsufficient","multiliquidInsufficientAllowance","walletTokenAccountFrozen","multiliquidAmountInTooHigh","multiliquidAmountOutTooLow","multiliquidInsufficientLpFeeBalance","multiliquidTransferFeeNotSupported","multiliquidParticipantUnavailable","multiliquidChainNotSupported","multiliquidObservationWalletUnavailable","privyMultiliquidArrayPinsUnsupported","cctpDestinationNotGranted","signingGrantNativeOnly","quoteRejectedInsufficientBalance","walletGateUnreadable","policyBlocked","treasuryPolicyApprovalRequired","destinationTagRequired","destinationTagMismatch","destinationTagInvalid","acrossBasicLaneNotEnabled","creditReadUnavailable","exactOutputFirmAskUnsupported","grantEndsBeforeVenueFunding","jurisdictionNotServed","pairUnsupported","requesterJurisdictionUnknown","venueAccountHasNoKey","venueAssessmentRequired","venueConnectionInvalid","venueReenableRequiresNewCredentials","venueTradingPaused","balanceNotObserved","notPermitted","balanceNotPermitted","gasUnchecked","catalogueWaitStateUnavailable","cctpRouteUpgrading","creditOnly","dexReferencePriceMissing","quoteAuthorityUnavailable","venueRoutingOff","venueRoutingStateUnavailable","indicativeUnavailable","marketUnavailable","noReferenceMid","observationBindingUnavailable","quoteIdUnavailable","stalePrice"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.reason.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"A machine-readable reason token the refusing step gave.\n\nKnown source reason tokens (not all apply to every status): `clockUnavailable`, `assetUnsupported`, `referenceUndeclarable`, `referenceNotAdmitted`, `referenceStale`, `referenceDepth`, `marketDataUnavailable`, `calibrationUnavailable`, `livePriceUnavailable`, `lpQuoteUnavailable`, `platformJurisdictionCountryRequired`, `platformJurisdictionUnavailable`, `platformJurisdictionBlocked`, `venueJurisdictionExcluded`, `workspaceJurisdictionRequired`, `jurisdictionRegionRequired`, `jurisdictionUnavailable`, `venueKeyRefusedLikelyIpAllowlist`, `venueWithdrawalDestinationNotWhitelisted`, `adapterPayloadSerializationFailed`, `basicVenueAccountsUnavailable`, `billingPaymentOverdue`, `walletNotOnChain`, `ccxtVenueRequiresCexLane`, `executionStageDisabled`, `jurisdictionUnproven`, `onboardedVenuesUnavailable`, `onchainAccountDefaultWalletRequired`, `onchainAccountDefaultWalletUnavailable`, `onchainAccountWalletRequired`, `onchainAssetDecimalsMismatch`, `onchainAssetIdentityMismatch`, `onchainAssetUnmapped`, `onchainAssetVariantFiltered`, `onchainWalletUnavailable`, `onchainCatalogueUnavailable`, `onchainDeliverToNotReceivingWallet`, `onchainDeliverToUnverified`, `onchainMarketsUnavailable`, `onchainMarketCatalogUnreadable`, `onchainMarketChainRequired`, `onchainMarketVariantRequired`, `onchainMarketTokenRequired`, `onchainSiteChainUnreadable`, `onchainWalletChainUnreadable`, `onchainWalletInactive`, `onchainWalletNotLinked`, `onchainWalletNotUsable`, `onchainWalletPickAmbiguous`, `onchainWalletWrongNetwork`, `signerLacksRight`, `signerUnavailable`, `signingGrantAmbiguous`, `signingGrantExpired`, `nativeGrantExpiryReapprovalRequired`, `nativeBalanceUnavailable`, `solanaFinalityUnavailable`, `tronSolidBlockUnavailable`, `signingGrantPolicyUnreadable`, `signingGrantPolicyChecking`, `signingGrantRequired`, `signingGrantTokenNotKept`, `signingGrantTokenNotPayable`, `solverChainUnready`, `walletChainMismatch`, `walletNotUsableByYou`, `walletNotVerifiedForAce`, `walletNotWhitelisted`, `withdrawalChainUnsupported`, `accountFeeUnavailable`, `comparisonCostsUnavailable`, `connectionListingUnavailable`, `feeUnverified`, `noPool`, `noPrice`, `noSize`, `notFilled`, `notYetPublished`, `priceArithmetic`, `priceSourceNone`, `referenceMidUnavailable`, `settlementPrecisionUnavailable`, `accountSetupIncomplete`, `admissionUnavailable`, `advancedAccountEligibilityUnavailable`, `advancedAccountStateInconsistent`, `advancedConnectionDisabled`, `advancedConnectionNotConfigured`, `advancedConnectionPaused`, `advancedSettlementNeedsVerification`, `advancedModeDisabled`, `advancedNotAvailableForAccount`, `advancedNotEnabledForAccount`, `allowanceUnavailable`, `acrossCapacityExceeded`, `relayCapacityExceeded`, `acrossChainNotCarried`, `cctpChainNotCarried`, `cctpWalletRequired`, `acrossWalletRequired`, `walletBrowserSigningEvmOnly`, `relayChainNotCarried`, `apiKeyAdvancedWalletUnsupported`, `apiKeyOrganisationWalletScopeRequired`, `grantCapExceeded`, `amountAboveMaximum`, `amountBelowMinimum`, `belowVenueMinimum`, `amountUnreadable`, `amountsUnreadable`, `askFirst`, `authorityUnavailable`, `automationNeverAsks`, `availabilityUnreadable`, `backgroundNeverAsks`, `balanceUnreadable`, `defaultsUnavailable`, `walletHasNoAddress`, `walletUnavailable`, `bondAmountUnreadable`, `bondAssetUnreadable`, `catalogueUnavailable`, `chainFamilyUnknown`, `chainUnrecorded`, `clientSessionRequired`, `clockUnreadable`, `comingSoon`, `connectionChanged`, `connectionRevoked`, `corridorInvalid`, `credential`, `deadlineExceeded`, `defaultsLoading`, `deliverToCalldataUnsupported`, `deliverToTagUnsupported`, `deliverToNotPermitted`, `deliverToUnreadable`, `tradingPermissionRequired`, `directPatienceHarvest`, `economicallyInferior`, `exactAmountConflictsWithCard`, `exactAmountConflictsWithQuote`, `exactOutputDeliveryUnsupported`, `exactOutputEstimateUnavailable`, `exactRouteHypothesisUnavailable`, `expiredOnArrival`, `expiryUnknown`, `feeUnreadable`, `filteredOut`, `firmAskRefused`, `firmAskFundsTimedOut`, `firmAskPreparationTimedOut`, `quotePreparationFailed`, `firmAskAdmissionTimedOut`, `seliniFirmAskMarketsTimedOut`, `seliniFirmAskHandoffTimedOut`, `seliniFirmAskBeforePostTimedOut`, `seliniFirmAskValidationTimedOut`, `seliniFirmAskResponseTimedOut`, `seliniFirmAskTransportFailure`, `rfqQuoteRefusedQuoteNotAvailable`, `rfqQuoteRefusedQuotingDisabled`, `rfqQuoteRefusedClientRfqNotConfigured`, `rfqQuoteRefusedClientProfileNotLoaded`, `rfqQuoteRefusedMarketDisabled`, `rfqQuoteRefusedInvalidQuantity`, `rfqQuoteRefusedInvalidSide`, `rfqQuoteRefusedInvalidCurrency`, `rfqQuoteRefusedPricePrecisionError`, `rfqQuoteRefusedRfqError`, `rfqQuoteRefused`, `venueOutcomeIndeterminate`, `venueBodyUnreadable`, `venueResponseUnmapped`, `venueRateLimited`, `venueQuoteAdmissionExpired`, `placementSignedPastDeadline`, `quoteIdentityConflict`, `symbolUnsupported`, `marketSymbolAmbiguous`, `firmAskPrincipalRequired`, `indicativeRequested`, `freshnessUnknown`, `fundingWindow`, `insufficientLiquidity`, `venueRelationship`, `venueRelationshipUnavailable`, `lpUnknown`, `mfaEnrolmentRequired`, `mfaRequired`, `minimumUnverified`, `mixedNetworks`, `netReceivedUnavailable`, `networkUnrecorded`, `noAddress`, `noCard`, `noFetcher`, `noInventory`, `noLaneForPair`, `noLegs`, `noOnChainCorridor`, `noPlannedVenue`, `noQuote`, `noRpc`, `notConnected`, `notEligible`, `notExecutable`, `orderPayloadMissing`, `outsideTopComposites`, `pairUnmapped`, `sellChainInvalid`, `permissionsUnreadable`, `placeOrderNotPermitted`, `prefundingMarkerUnreadable`, `prefundingRequired`, `indicative`, `priceOnRequest`, `priceOutOfRange`, `priceProtectionInvalid`, `pricingBookOnly`, `productNotQuoted`, `protocolChainMissing`, `providerFeeTreatmentUnknown`, `providerSiteUnrecorded`, `quoteIdUnissuable`, `quoteNotHeld`, `buyChainInvalid`, `buyAmountUnsupported`, `exactOutputDebitUnavailable`, `pairNotServed`, `accountFundingReadUnverified`, `quoteReconfirmationRequired`, `quoteRejected`, `keyrockSecurityCatalogueUnavailable`, `venueAnsweredAfterQuoteWindow`, `venueQuoteIntentMismatch`, `payExactUnsupported`, `receiveWalletNotServed`, `referenceMidUnreadable`, `referencePriceUnavailable`, `registryUnavailable`, `releaseRecheckUnavailable`, `requestUnbuildable`, `routeLegChainUnknown`, `routeLegUnnamed`, `routeLegUnplanned`, `routeUnavailable`, `secondFactorUnreadable`, `shortfallUnmeasured`, `shortfallUnreadable`, `singleChainVenue`, `siteChainUnreadable`, `sizeNotEligible`, `submitOrderBlocked`, `takerOnboardingIncomplete`, `tierNotQuoted`, `tradePaused`, `venueConnectionStorageUnavailable`, `venueDataStale`, `venueDeclined`, `venueNotConnected`, `venueNotEnabledForWorkspace`, `venueNotListed`, `venueTradeKeyUnavailable`, `venueTradeScopeRequired`, `venueTradeUnreadable`, `venueUnavailable`, `walletRefused`, `withdrawalFeeUnread`, `acrossRoutedViaCctp`, `apiKeyOrganisationWalletNotAllowlisted`, `balanceAvailabilityUnconfirmed`, `bankDestinationUnavailable`, `bebopJamKeyNotEnabled`, `bebopJamQuoteDeclined`, `bebopTokenUnavailable`, `relayCurrencyUnsupported`, `relaySwapImpactTooHigh`, `tetrafiSolverCallbackNotAuthorized`, `tradingLinkSnapshotChanged`, `tradingLinkSnapshotUnavailable`, `uniswapChainReadUnavailable`, `uniswapInsufficientDepth`, `uniswapQuoteUnreadable`, `uniswapUnwrapAboveDailyCap`, `uniswapUnwrapAboveTradeCap`, `uniswapRouteNotGranted`, `venueNotEnabled`, `askLimitReached`, `balanceMeaningUnconfirmed`, `bebopQuorumWalletTooSlow`, `bebopWalletQuorumUnreadable`, `bebopBrowserWalletUnsupported`, `connectionNotConfigured`, `deliveryAccountNetworkUnavailable`, `deliveryAccountUnavailable`, `destinationCannotSendOnChain`, `dexReferencePriceUnavailable`, `firmQuoteLimited`, `fundingAccountNetworkUnavailable`, `fundingAccountUnavailable`, `insufficientDepth`, `missingPermission`, `needsNativeGas`, `needsWallet`, `notPriced`, `payInTermsUnavailable`, `pilotTradeCapExceeded`, `pilotMinimumAboveTradeCap`, `platformFeeRateUnavailable`, `pricingBookPairUnserved`, `settlementDeclarationUnavailable`, `settlementNotAvailable`, `timedOut`, `timedOutBeforeSend`, `tradingSourceNetworkUnavailable`, `tradingSourceNotLinked`, `venueEnablementRechecking`, `venueEnablementUnavailable`, `venueListingTimedOut`, `venuePoliciesUnavailable`, `multiliquidPaused`, `multiliquidAssetNotAccepted`, `walletNotAllowlistedForAsset`, `walletBlacklisted`, `multiliquidPriceInvalid`, `multiliquidStablePriceOutOfBand`, `multiliquidInsufficientLiquidity`, `multiliquidProviderPrefundUnavailable`, `multiliquidDailyLimitReached`, `eligibilityUnverifiable`, `multiliquidInsufficientBalance`, `multiliquidWalletFundsInsufficient`, `multiliquidInsufficientAllowance`, `walletTokenAccountFrozen`, `multiliquidAmountInTooHigh`, `multiliquidAmountOutTooLow`, `multiliquidInsufficientLpFeeBalance`, `multiliquidTransferFeeNotSupported`, `multiliquidParticipantUnavailable`, `multiliquidChainNotSupported`, `multiliquidObservationWalletUnavailable`, `privyMultiliquidArrayPinsUnsupported`, `cctpDestinationNotGranted`, `signingGrantNativeOnly`, `quoteRejectedInsufficientBalance`, `walletGateUnreadable`, `policyBlocked`, `treasuryPolicyApprovalRequired`, `destinationTagRequired`, `destinationTagMismatch`, `destinationTagInvalid`, `acrossBasicLaneNotEnabled`, `creditReadUnavailable`, `exactOutputFirmAskUnsupported`, `grantEndsBeforeVenueFunding`, `jurisdictionNotServed`, `pairUnsupported`, `requesterJurisdictionUnknown`, `venueAccountHasNoKey`, `venueAssessmentRequired`, `venueConnectionInvalid`, `venueReenableRequiresNewCredentials`, `venueTradingPaused`, `balanceNotObserved`, `notPermitted`, `balanceNotPermitted`, `gasUnchecked`, `catalogueWaitStateUnavailable`, `cctpRouteUpgrading`, `creditOnly`, `dexReferencePriceMissing`, `quoteAuthorityUnavailable`, `venueRoutingOff`, `venueRoutingStateUnavailable`, `indicativeUnavailable`, `marketUnavailable`, `noReferenceMid`, `observationBindingUnavailable`, `quoteIdUnavailable`, `stalePrice`.\n\nNew values may be added; treat unknown values as other.","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.reason","typeLabel":"enum\u003cstring> | null"},"remediation":{"oneOf":[{"description":"A machine-readable recovery hint the refusing step gave.","type":"string","uniqueKey":"details.oneOf.1.remediation.oneOf.0","typeLabel":"string"},{"description":"A machine-readable recovery hint the refusing step gave.","type":"null","uniqueKey":"details.oneOf.1.remediation.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.remediation","typeLabel":"string | null"},"retryAfter":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.retryAfter.oneOf.0","typeLabel":"null"},{"type":"string","description":"Every `429`, and a `503` that knows: when to try again, as an ISO 8601 duration. The\n`Retry-After` header carries the same wait in whole seconds.","format":"duration","pattern":"^PT(?:[0-9]+H(?:[0-9]+M)?(?:[0-9]+(?:\\.[0-9]{1,3})?S)?|[0-9]+M(?:[0-9]+(?:\\.[0-9]{1,3})?S)?|[0-9]+(?:\\.[0-9]{1,3})?S)$","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","example":"PT120S","uniqueKey":"details.oneOf.1.retryAfter.oneOf.1","typeLabel":"string\u003cduration>"}],"uniqueKey":"details.oneOf.1.retryAfter","typeLabel":"null | string\u003cduration>"},"value":{"oneOf":[{"description":"`UNKNOWN_ASSET`, `UNKNOWN_CHAIN`, `UNKNOWN_VENUE`, `INVALID_AMOUNT`: the value refused;\n`ASSET_NOT_ON_CHAIN`: the pinned chain the Asset is not on.","type":"string","uniqueKey":"details.oneOf.1.value.oneOf.0","typeLabel":"string"},{"description":"`UNKNOWN_ASSET`, `UNKNOWN_CHAIN`, `UNKNOWN_VENUE`, `INVALID_AMOUNT`: the value refused;\n`ASSET_NOT_ON_CHAIN`: the pinned chain the Asset is not on.","type":"null","uniqueKey":"details.oneOf.1.value.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.value","typeLabel":"string | null"}},"additionalProperties":{"description":"Any further detail the code carries (for example `stepUpSubject`, `balanceShortfall`,\n`minimumAmount`), each named in camelCase.","uniqueKey":"details.oneOf.1.additionalProperties","typeLabel":"any"},"uniqueKey":"details.oneOf.1","typeLabel":"object"}],"uniqueKey":"details","typeLabel":"null | object"},"next":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"next.oneOf.0","typeLabel":"null"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["order"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.1.kind","typeLabel":"enum\u003cstring>"}},"uniqueKey":"next.oneOf.1","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["preflight"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.2.kind","typeLabel":"enum\u003cstring>"}},"uniqueKey":"next.oneOf.2","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["transactions","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["transact"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.3.kind","typeLabel":"enum\u003cstring>"},"transactions":{"items":{"description":"One transaction the Taker sends itself (an approval included).","properties":{"chain":{"description":"A CAIP-2 chain id (`eip155:8453`, `solana:\u003cgenesis>`, `tron:shasta`), syntax-checked:\na namespace of 3 to 8 lowercase letters, digits or `-`, and a reference of 1 to 32\nletters, digits, `-` or `_`. Compared exactly, as CAIP-2 references are case-sensitive.","example":"eip155:8453","type":"string","isRequired":true,"uniqueKey":"next.oneOf.3.transactions.items.[INDEX].chain","typeLabel":"string"},"data":{"description":"Hex calldata (`0x…`).","type":"string","isRequired":true,"uniqueKey":"next.oneOf.3.transactions.items.[INDEX].data","typeLabel":"string"},"to":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.3.transactions.items.[INDEX].to","typeLabel":"string"},"value":{"description":"Native value in base units, as a decimal string.","type":"string","isRequired":true,"uniqueKey":"next.oneOf.3.transactions.items.[INDEX].value","typeLabel":"string"}},"required":["chain","data","to","value"],"type":"object","uniqueKey":"next.oneOf.3.transactions.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"next.oneOf.3.transactions","typeLabel":"object[]"}},"uniqueKey":"next.oneOf.3","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["typedData","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["sign"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.4.kind","typeLabel":"enum\u003cstring>"},"typedData":{"oneOf":[{"isRequired":true}],"isRequired":true,"uniqueKey":"next.oneOf.4.typedData","typeLabel":"any"}},"uniqueKey":"next.oneOf.4","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["fund"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.kind","typeLabel":"enum\u003cstring>"},"instructions":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"next.oneOf.5.instructions.oneOf.0","typeLabel":"null"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["asset","chainRef","networkCode","networkConfirmed","address","tokenContract","observedAt","expiresAt","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.address","typeLabel":"string"},"asset":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.asset","typeLabel":"string"},"chainRef":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.chainRef","typeLabel":"string"},"expiresAt":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.expiresAt","typeLabel":"string\u003cdate-time>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["venueDeposit"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.kind","typeLabel":"enum\u003cstring>"},"networkCode":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.networkCode","typeLabel":"string"},"networkConfirmed":{"description":"False when the venue reports no network for this address: `networkCode`\nis empty and `chainRef` is the caller's selection, which the customer\nmust confirm with the venue before sending.","type":"boolean","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.networkConfirmed","typeLabel":"boolean"},"observedAt":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.observedAt","typeLabel":"string\u003cdate-time>"},"tokenContract":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.tokenContract","typeLabel":"string"},"memo":{"oneOf":[{"type":"string","uniqueKey":"next.oneOf.5.instructions.oneOf.1.memo.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"next.oneOf.5.instructions.oneOf.1.memo.oneOf.1","typeLabel":"null"}],"uniqueKey":"next.oneOf.5.instructions.oneOf.1.memo","typeLabel":"string | null"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.1","typeLabel":"object"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["accountLast4","amount","bankDisplayName","expiresAt","kind","revealRef"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"accountLast4":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.accountLast4.oneOf.0","typeLabel":"null"},{"type":"string","description":"An already-qualified masked suffix, not external account ownership proof.","maxLength":4,"minLength":1,"pattern":"^[A-Za-z0-9]{1,4}$","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","example":"A1b2","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.accountLast4.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.accountLast4","typeLabel":"null | string"},"amount":{"description":"A non-negative decimal string in Asset units (`\"10000\"`, `\"9994.0\"`): digits with an\noptional fraction, no sign, exponent or leading zero. Never a float and never base\nunits. A request amount must also be positive (`INVALID_AMOUNT`); a fee or a\nknown balance may be zero.","example":"10000","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.amount","typeLabel":"string"},"bankDisplayName":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.bankDisplayName.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.bankDisplayName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.bankDisplayName","typeLabel":"string | null"},"expiresAt":{"oneOf":[{"description":"UTC ISO instant, or null when expiry is UNKNOWN. Null never means no expiry.","format":"date-time","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.expiresAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"description":"UTC ISO instant, or null when expiry is UNKNOWN. Null never means no expiry.","format":"date-time","type":"null","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.expiresAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.expiresAt","typeLabel":"string\u003cdate-time> | null"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["bankDeposit"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.kind","typeLabel":"enum\u003cstring>"},"revealRef":{"description":"Non-bearer lookup metadata for deposit instructions. Possession grants no authority. Each reveal requires current wallet-view authority and exact account membership; an API key additionally needs treasury_read. Missing and foreign accounts share a refusal. Quotes never fetch these instructions.","properties":{"connectionId":{"description":"The native held leg's exact connection id, never a first/sole-connection guess.","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.connectionId","typeLabel":"string"},"currency":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.currency","typeLabel":"string"},"providerBankId":{"oneOf":[{"description":"The provider's linked-bank id when required by that venue; otherwise unknown/null.","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.providerBankId.oneOf.0","typeLabel":"string"},{"description":"The provider's linked-bank id when required by that venue; otherwise unknown/null.","type":"null","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.providerBankId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.providerBankId","typeLabel":"string | null"}},"required":["connectionId","currency","providerBankId"],"type":"object","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef","typeLabel":"object"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.2","typeLabel":"object"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["walletId","address","chain","asset","tokenContract","amount","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.address","typeLabel":"string"},"amount":{"description":"A non-negative decimal string in Asset units (`\"10000\"`, `\"9994.0\"`): digits with an\noptional fraction, no sign, exponent or leading zero. Never a float and never base\nunits. A request amount must also be positive (`INVALID_AMOUNT`); a fee or a\nknown balance may be zero.","example":"10000","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.amount","typeLabel":"string"},"asset":{"description":"A registry Asset id (`USDC`, `USDe`). Matched case-insensitively against the catalogue,\nwhich answers it in the registry's own spelling.","example":"USDC","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.asset","typeLabel":"string"},"chain":{"description":"A CAIP-2 chain id (`eip155:8453`, `solana:\u003cgenesis>`, `tron:shasta`), syntax-checked:\na namespace of 3 to 8 lowercase letters, digits or `-`, and a reference of 1 to 32\nletters, digits, `-` or `_`. Compared exactly, as CAIP-2 references are case-sensitive.","example":"eip155:8453","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.chain","typeLabel":"string"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["walletTopUp"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.kind","typeLabel":"enum\u003cstring>"},"tokenContract":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.tokenContract","typeLabel":"string"},"walletId":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.walletId","typeLabel":"string"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.3","typeLabel":"object"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["chain","amount","asset","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"amount":{"description":"A non-negative decimal string in Asset units (`\"10000\"`, `\"9994.0\"`): digits with an\noptional fraction, no sign, exponent or leading zero. Never a float and never base\nunits. A request amount must also be positive (`INVALID_AMOUNT`); a fee or a\nknown balance may be zero.","example":"10000","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.4.amount","typeLabel":"string"},"asset":{"description":"A registry Asset id (`USDC`, `USDe`). Matched case-insensitively against the catalogue,\nwhich answers it in the registry's own spelling.","example":"USDC","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.4.asset","typeLabel":"string"},"chain":{"description":"A CAIP-2 chain id (`eip155:8453`, `solana:\u003cgenesis>`, `tron:shasta`), syntax-checked:\na namespace of 3 to 8 lowercase letters, digits or `-`, and a reference of 1 to 32\nletters, digits, `-` or `_`. Compared exactly, as CAIP-2 references are case-sensitive.","example":"eip155:8453","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.4.chain","typeLabel":"string"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["nativeGas"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.4.kind","typeLabel":"enum\u003cstring>"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.4","typeLabel":"object"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["connectionId","amount","currency","reason","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"amount":{"description":"A non-negative decimal string in Asset units (`\"10000\"`, `\"9994.0\"`): digits with an\noptional fraction, no sign, exponent or leading zero. Never a float and never base\nunits. A request amount must also be positive (`INVALID_AMOUNT`); a fee or a\nknown balance may be zero.","example":"10000","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.amount","typeLabel":"string"},"connectionId":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.connectionId","typeLabel":"string"},"currency":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.currency","typeLabel":"string"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["depositFirstNotOffered"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.kind","typeLabel":"enum\u003cstring>"},"reason":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.reason","typeLabel":"string"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.5","typeLabel":"object"}],"uniqueKey":"next.oneOf.5.instructions","typeLabel":"null · object · object · object · object · object"}},"uniqueKey":"next.oneOf.5","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["needs","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["requote"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.6.kind","typeLabel":"enum\u003cstring>"},"needs":{"items":{"description":"A funding or delivery selection a requote needs filled. An empty `needs` means requote as is.\n\nNew values may be added; treat unknown values as other.","enum":["wallet:evm","wallet:solana","wallet:tron","account","bankAccount","deliverTo"],"type":"string","x-extensible-enum":true,"uniqueKey":"next.oneOf.6.needs.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","isRequired":true,"uniqueKey":"next.oneOf.6.needs","typeLabel":"enum\u003cstring>[]"}},"uniqueKey":"next.oneOf.6","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["search"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.7.kind","typeLabel":"enum\u003cstring>"}},"uniqueKey":"next.oneOf.7","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["retryAfter","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["wait"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.8.kind","typeLabel":"enum\u003cstring>"},"retryAfter":{"description":"An ISO 8601 duration, e.g. PT3S or PT2M.","examples":["PT120S"],"format":"duration","pattern":"^PT(?:[0-9]+H(?:[0-9]+M)?(?:[0-9]+(?:\\.[0-9]{1,3})?S)?|[0-9]+M(?:[0-9]+(?:\\.[0-9]{1,3})?S)?|[0-9]+(?:\\.[0-9]{1,3})?S)$","type":"string","isRequired":true,"uniqueKey":"next.oneOf.8.retryAfter","typeLabel":"string\u003cduration>"}},"uniqueKey":"next.oneOf.8","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["reference","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["contact"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.9.kind","typeLabel":"enum\u003cstring>"},"reference":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.9.reference","typeLabel":"string"}},"uniqueKey":"next.oneOf.9","typeLabel":"object"}],"uniqueKey":"next","typeLabel":"null · object · object · object · object · object · object · object · object · object"},"requestId":{"oneOf":[{"description":"The request's id, the value the `X-Request-Id` response header carries. Quote it when\nasking for support.","type":"string","uniqueKey":"requestId.oneOf.0","typeLabel":"string"},{"description":"The request's id, the value the `X-Request-Id` response header carries. Quote it when\nasking for support.","type":"null","uniqueKey":"requestId.oneOf.1","typeLabel":"null"}],"uniqueKey":"requestId","typeLabel":"string | null"}},"required":["error","docUrl","retryable","message","timestamp"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"docUrl":"\u003cstring>","error":"\u003cstring>","message":"\u003cstring>","retryable":true,"timestamp":"2023-11-07T05:31:56Z","details":{"capabilityBlockers":[{"code":"WORKSPACE_NOT_FOUND","estimate":"minutes","message":"\u003cstring>","unlockStep":"finishOnboarding","currentlyDue":["\u003cstring>"]}],"conflicts":["\u003cstring>"],"consentedWindow":{"cadence":{"dayBasis":"calendarDays","kind":"intraday","everyHours":1,"localTimes":["\u003cstring>"]},"scheduleId":"\u003cstring>","scheduleLabel":"\u003cstring>","scheduleVersion":123,"snapshotAt":"2023-11-07T05:31:56Z","windowId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","assumedBoundary":{"lpName":"\u003cstring>","source":"\u003cstring>","timeZone":"\u003cstring>"},"cutoffAt":"2023-11-07T05:31:56Z","paymentDeadlineAt":"2023-11-07T05:31:56Z","settlementBasis":"clock","settlesBy":"2023-11-07T05:31:56Z","statementIssuer":"\u003cstring>"},"currentWindow":{"cadence":{"dayBasis":"calendarDays","kind":"intraday","everyHours":1,"localTimes":["\u003cstring>"]},"scheduleId":"\u003cstring>","scheduleLabel":"\u003cstring>","scheduleVersion":123,"snapshotAt":"2023-11-07T05:31:56Z","windowId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","assumedBoundary":{"lpName":"\u003cstring>","source":"\u003cstring>","timeZone":"\u003cstring>"},"cutoffAt":"2023-11-07T05:31:56Z","paymentDeadlineAt":"2023-11-07T05:31:56Z","settlementBasis":"clock","settlesBy":"2023-11-07T05:31:56Z","statementIssuer":"\u003cstring>"},"field":"\u003cstring>","reason":"clockUnavailable","remediation":"\u003cstring>","retryAfter":"PT120S","value":"\u003cstring>"},"next":{"kind":"order"},"requestId":"\u003cstring>"}}},"exampleType":"generated"}},"description":"An API key without `compliance_read` (`INSUFFICIENT_SCOPE`), or an inaccessible header workspace (`WORKSPACE_SCOPE_MISMATCH`)","headers":{"Deprecation":{"description":"Present when this operation is deprecated: an RFC 9745 structured date, for example @1792443399. Absence makes no deprecation claim.","schema":{"type":"string"}},"Link":{"description":"When deprecation applies, links to the deprecation notice with rel=deprecation; other link relations may also be sent.","schema":{"type":"string"}},"RateLimit":{"description":"draft-ietf-httpapi-ratelimit-headers-07 section 3.1 structured dictionary, for example `limit=100, remaining=41, reset=19`. Remaining is the admitted decision's headroom; reset is whole seconds until quota next becomes available, not an epoch or a promise of a full burst refill. On a limiter's 429 remaining is 0 and reset equals Retry-After. Accepted key, route and per-address policies are compared by lowest remaining, then longest reset. A venue refusal without a known quota makes no rate-limit header claim.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"draft-ietf-httpapi-ratelimit-headers-07 section 3.5: quota and window in seconds, for example `100;w=60`. Sent on every status when a finite limiter counted the request. The applicable policy closest to exhaustion is reported (section 3.2): lowest remaining, then longest reset. On a limiter's 429 this is exactly the policy that refused; if a venue discloses no quota, the headers are absent.","schema":{"type":"string"}},"Sunset":{"description":"Present when retirement is scheduled: the HTTP-date after which this version may stop being served (RFC 8594).","schema":{"type":"string"}},"x-request-id":{"description":"The request's id: the caller's valid `X-Request-Id`, or a generated UUID v4. Quote it when asking for support.","schema":{"type":"string"}}},"exampleType":"generated"},"9f9eb7aa-46f4-4c89-9ea0-a35ae76e45f2":{"content":{"application/json":{"schema":{"description":"The shared refusal body of every integrator operation, including edge-layer errors.\n`error` is an open, stable machine-readable code; `docUrl` links to its documentation and\n`retryable` says whether an unchanged request may succeed later. `message` is for people,\nnot matching. `timestamp` is RFC 3339 UTC; optional `requestId` mirrors `X-Request-Id`.\nOptional `next` describes recovery and `details` carries code-specific information.\nHandle known codes and fall back on the HTTP status for unknown ones.","properties":{"docUrl":{"description":"Stable documentation for this refusal code.","type":"string","isRequired":true,"uniqueKey":"docUrl","typeLabel":"string"},"error":{"description":"The machine-readable code, for example `QUOTE_EXPIRED`.","type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"description":"What happened, in words a person can read. Not for matching.","type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"retryable":{"description":"Whether an unchanged request may succeed later, from the error catalogue.","type":"boolean","isRequired":true,"uniqueKey":"retryable","typeLabel":"boolean"},"timestamp":{"description":"When the refusal was made, as an RFC 3339 UTC timestamp.","format":"date-time","type":"string","isRequired":true,"uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"},"details":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.0","typeLabel":"null"},{"type":"object","description":"The code's detail. Each field is present only on the codes named beside it; other codes may\ncarry further fields, named in camelCase, which a client may ignore.","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"capabilityBlockers":{"oneOf":[{"description":"`CAPABILITY_BLOCKED` and the other capability refusals: what blocks the workspace.","items":{"description":"One reason a capability is blocked, plus the step that unlocks it.","properties":{"code":{"description":"Stable machine-readable blocker codes returned by the capability gate.\n\nNew values may be added; treat unknown values as other.","enum":["WORKSPACE_NOT_FOUND","WORKSPACE_NOT_ACTIVE","WORKSPACE_SUSPENDED","PARENT_WORKSPACE_INACTIVE","INSUFFICIENT_PERMISSION","WORKSPACE_TYPE_UNSUPPORTED","BASE_PROFILE_INCOMPLETE","BASE_PROFILE_UNREADABLE","KYB_NOT_VERIFIED","KYC_NOT_VERIFIED","SANCTIONS_FLAGGED","MEMBER_COMPLIANCE_FROZEN","MEMBER_COMPLIANCE_DENIED","SCREENING_PENDING","SCREENING_UNAVAILABLE","GEO_RESTRICTED","WALLET_NOT_VERIFIED","DIRECT_USER_NOT_FOUND","DIRECT_USER_SUSPENDED","DIRECT_USER_KYC_NOT_VERIFIED","INSUFFICIENT_SCOPE","TREASURY_DISABLED","NO_USABLE_CREDENTIAL","CROSS_OWNER_WRITE_DENIED","AGGREGATE_SCOPE_READ_ONLY","OWNER_SCOPE_REQUIRED","VENUE_OPERATION_UNSUPPORTED","TAKER_ONBOARDING_INCOMPLETE","TAKER_ADMISSION_UNAVAILABLE"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].code","typeLabel":"enum\u003cstring>"},"estimate":{"description":"Coarse time-to-unlock class. The UI owns the copy; figures are engineering\nestimates until the KYB queue and Sumsub webhooks supply measured values.\n\nNew values may be added; treat unknown values as other.","enum":["minutes","formsThenReview","adminAction","otherParty","unknown","notUnlockable"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].estimate","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].message","typeLabel":"string"},"unlockStep":{"description":"Stable key of the step that unlocks this blocker. The UI maps it to a\nroute or dialog.","enum":["finishOnboarding","companyDetails","kybProfile","kycDialog","linkWallet","askAdmin","contactBroker","manageDirectUsers","manageApiKey","connectCustodian","switchAccountScope","contactSupport","awaitScreening","none"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].unlockStep","typeLabel":"enum\u003cstring>"},"currentlyDue":{"description":"Requirement keys still due, such as `kyb_review`, `actor_kyc` or\n`permission:place_order`. Empty when nothing specific is due.","items":{"type":"string","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].currentlyDue.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].currentlyDue","typeLabel":"string[]"}},"required":["code","message","unlockStep","estimate"],"type":"object","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0","typeLabel":"object[]"},{"description":"`CAPABILITY_BLOCKED` and the other capability refusals: what blocks the workspace.","items":{"description":"One reason a capability is blocked, plus the step that unlocks it.","properties":{"code":{"description":"Stable machine-readable blocker codes returned by the capability gate.\n\nNew values may be added; treat unknown values as other.","enum":["WORKSPACE_NOT_FOUND","WORKSPACE_NOT_ACTIVE","WORKSPACE_SUSPENDED","PARENT_WORKSPACE_INACTIVE","INSUFFICIENT_PERMISSION","WORKSPACE_TYPE_UNSUPPORTED","BASE_PROFILE_INCOMPLETE","BASE_PROFILE_UNREADABLE","KYB_NOT_VERIFIED","KYC_NOT_VERIFIED","SANCTIONS_FLAGGED","MEMBER_COMPLIANCE_FROZEN","MEMBER_COMPLIANCE_DENIED","SCREENING_PENDING","SCREENING_UNAVAILABLE","GEO_RESTRICTED","WALLET_NOT_VERIFIED","DIRECT_USER_NOT_FOUND","DIRECT_USER_SUSPENDED","DIRECT_USER_KYC_NOT_VERIFIED","INSUFFICIENT_SCOPE","TREASURY_DISABLED","NO_USABLE_CREDENTIAL","CROSS_OWNER_WRITE_DENIED","AGGREGATE_SCOPE_READ_ONLY","OWNER_SCOPE_REQUIRED","VENUE_OPERATION_UNSUPPORTED","TAKER_ONBOARDING_INCOMPLETE","TAKER_ADMISSION_UNAVAILABLE"],"type":"string","x-extensible-enum":true},"currentlyDue":{"description":"Requirement keys still due, such as `kyb_review`, `actor_kyc` or\n`permission:place_order`. Empty when nothing specific is due.","items":{"type":"string"},"type":"array"},"estimate":{"description":"Coarse time-to-unlock class. The UI owns the copy; figures are engineering\nestimates until the KYB queue and Sumsub webhooks supply measured values.\n\nNew values may be added; treat unknown values as other.","enum":["minutes","formsThenReview","adminAction","otherParty","unknown","notUnlockable"],"type":"string","x-extensible-enum":true},"message":{"type":"string"},"unlockStep":{"description":"Stable key of the step that unlocks this blocker. The UI maps it to a\nroute or dialog.","enum":["finishOnboarding","companyDetails","kybProfile","kycDialog","linkWallet","askAdmin","contactBroker","manageDirectUsers","manageApiKey","connectCustodian","switchAccountScope","contactSupport","awaitScreening","none"],"type":"string","x-extensible-enum":true}},"required":["code","message","unlockStep","estimate"],"type":"object"},"type":"null","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.capabilityBlockers","typeLabel":"object[] | null"},"conflicts":{"oneOf":[{"description":"`REQUOTE_FIELDS_CONFLICT`: the fields that cannot go with `requote`.","items":{"type":"string","uniqueKey":"details.oneOf.1.conflicts.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"details.oneOf.1.conflicts.oneOf.0","typeLabel":"string[]"},{"description":"`REQUOTE_FIELDS_CONFLICT`: the fields that cannot go with `requote`.","items":{"type":"string"},"type":"null","uniqueKey":"details.oneOf.1.conflicts.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.conflicts","typeLabel":"string[] | null"},"consentedWindow":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.0","typeLabel":"null"},{"type":"object","description":"`SETTLEMENT_WINDOW_CHANGED`: the settlement window the order consented to (the quoted\nwindow, or the one its `settlementWindowId` named), which is no longer the one assigned.","required":["windowId","scheduleId","scheduleVersion","scheduleLabel","cadence","snapshotAt"],"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"cadence":{"oneOf":[{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.dayBasis","typeLabel":"enum\u003cstring>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["intraday"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"everyHours":{"oneOf":[{"format":"int32","minimum":0,"type":"integer","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.everyHours.oneOf.0","typeLabel":"integer\u003cint32>"},{"format":"int32","minimum":0,"type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.everyHours.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.everyHours","typeLabel":"integer\u003cint32> | null"},"localTimes":{"oneOf":[{"items":{"type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.0","typeLabel":"string[]"},{"items":{"type":"string"},"type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.localTimes","typeLabel":"string[] | null"}},"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0","typeLabel":"object"},{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["days","dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.1.dayBasis","typeLabel":"enum\u003cstring>"},"days":{"format":"int32","minimum":0,"type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.1.days","typeLabel":"integer\u003cint32>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["daily"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.1.kind","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.1","typeLabel":"object"},{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["days","dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.2.dayBasis","typeLabel":"enum\u003cstring>"},"days":{"format":"int32","minimum":0,"type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.2.days","typeLabel":"integer\u003cint32>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["multiDay"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.2.kind","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.2","typeLabel":"object"}],"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence","typeLabel":"object"},"scheduleId":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.scheduleId","typeLabel":"string"},"scheduleLabel":{"description":"The published schedule version's display name (e.g. \"EU\"), so a quote card or Review\nnames the window without a settlement read permission.","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.scheduleLabel","typeLabel":"string"},"scheduleVersion":{"format":"int64","type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.scheduleVersion","typeLabel":"integer\u003cint64>"},"snapshotAt":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.snapshotAt","typeLabel":"string\u003cdate-time>"},"windowId":{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.windowId","typeLabel":"string\u003cuuid>"},"assumedBoundary":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.0","typeLabel":"null"},{"type":"object","description":"Present when the window's boundary comes from an assumed schedule term rather than the\nLP's confirmation: every surface shows the window as assumed until the LP confirms it.","required":["timeZone","source","lpName"],"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"lpName":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.1.lpName","typeLabel":"string"},"source":{"description":"Where the assumed boundary came from, as recorded in the settlement schedule; free text.","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.1.source","typeLabel":"string"},"timeZone":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.1.timeZone","typeLabel":"string"}},"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.1","typeLabel":"object"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary","typeLabel":"null | object"},"cutoffAt":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cutoffAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cutoffAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cutoffAt","typeLabel":"string\u003cdate-time> | null"},"paymentDeadlineAt":{"oneOf":[{"description":"The occurrence's payment deadline from its schedule terms: what a credit trade's debt is\npaid by. Absent while the schedule has not confirmed it; never derived from `settlesBy`.","format":"date-time","type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.paymentDeadlineAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"description":"The occurrence's payment deadline from its schedule terms: what a credit trade's debt is\npaid by. Absent while the schedule has not confirmed it; never derived from `settlesBy`.","format":"date-time","type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.paymentDeadlineAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.paymentDeadlineAt","typeLabel":"string\u003cdate-time> | null"},"settlementBasis":{"description":"What completes a window's settlement. `clock`: the occurrence's confirmed completion time\n(`settlesBy`). `onAgreement`: the LP issues the window's statement and the trade settles\nonce that statement is agreed (Keyrock), so the window states no clock time.\n\nNew values may be added; treat unknown values as other.","enum":["clock","onAgreement"],"type":"string","x-extensible-enum":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.settlementBasis","typeLabel":"enum\u003cstring>"},"settlesBy":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.settlesBy.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.settlesBy.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.settlesBy","typeLabel":"string\u003cdate-time> | null"},"statementIssuer":{"oneOf":[{"description":"The LP whose statement settles an `onAgreement` window (\"Keyrock\"); absent on a clock window.","type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.statementIssuer.oneOf.0","typeLabel":"string"},{"description":"The LP whose statement settles an `onAgreement` window (\"Keyrock\"); absent on a clock window.","type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.statementIssuer.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.statementIssuer","typeLabel":"string | null"}},"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1","typeLabel":"object"}],"uniqueKey":"details.oneOf.1.consentedWindow","typeLabel":"null | object"},"currentWindow":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.currentWindow.oneOf.0","typeLabel":"null"},{"type":"object","description":"`SETTLEMENT_WINDOW_CHANGED`: the settlement window the server assigns the trade now.\nSend the same quote again with `settlementWindowId` set to `details.currentWindow.windowId`\nto consent to it.","required":["windowId","scheduleId","scheduleVersion","scheduleLabel","cadence","snapshotAt"],"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"cadence":{"oneOf":[{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.dayBasis","typeLabel":"enum\u003cstring>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["intraday"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"everyHours":{"oneOf":[{"format":"int32","minimum":0,"type":"integer","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.everyHours.oneOf.0","typeLabel":"integer\u003cint32>"},{"format":"int32","minimum":0,"type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.everyHours.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.everyHours","typeLabel":"integer\u003cint32> | null"},"localTimes":{"oneOf":[{"items":{"type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.0","typeLabel":"string[]"},{"items":{"type":"string"},"type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.localTimes","typeLabel":"string[] | null"}},"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0","typeLabel":"object"},{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["days","dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.1.dayBasis","typeLabel":"enum\u003cstring>"},"days":{"format":"int32","minimum":0,"type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.1.days","typeLabel":"integer\u003cint32>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["daily"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.1.kind","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.1","typeLabel":"object"},{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["days","dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.2.dayBasis","typeLabel":"enum\u003cstring>"},"days":{"format":"int32","minimum":0,"type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.2.days","typeLabel":"integer\u003cint32>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["multiDay"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.2.kind","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.2","typeLabel":"object"}],"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence","typeLabel":"object"},"scheduleId":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.scheduleId","typeLabel":"string"},"scheduleLabel":{"description":"The published schedule version's display name (e.g. \"EU\"), so a quote card or Review\nnames the window without a settlement read permission.","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.scheduleLabel","typeLabel":"string"},"scheduleVersion":{"format":"int64","type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.scheduleVersion","typeLabel":"integer\u003cint64>"},"snapshotAt":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.snapshotAt","typeLabel":"string\u003cdate-time>"},"windowId":{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.windowId","typeLabel":"string\u003cuuid>"},"assumedBoundary":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.0","typeLabel":"null"},{"type":"object","description":"Present when the window's boundary comes from an assumed schedule term rather than the\nLP's confirmation: every surface shows the window as assumed until the LP confirms it.","required":["timeZone","source","lpName"],"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"lpName":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.1.lpName","typeLabel":"string"},"source":{"description":"Where the assumed boundary came from, as recorded in the settlement schedule; free text.","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.1.source","typeLabel":"string"},"timeZone":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.1.timeZone","typeLabel":"string"}},"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.1","typeLabel":"object"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary","typeLabel":"null | object"},"cutoffAt":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cutoffAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cutoffAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cutoffAt","typeLabel":"string\u003cdate-time> | null"},"paymentDeadlineAt":{"oneOf":[{"description":"The occurrence's payment deadline from its schedule terms: what a credit trade's debt is\npaid by. Absent while the schedule has not confirmed it; never derived from `settlesBy`.","format":"date-time","type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.paymentDeadlineAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"description":"The occurrence's payment deadline from its schedule terms: what a credit trade's debt is\npaid by. Absent while the schedule has not confirmed it; never derived from `settlesBy`.","format":"date-time","type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.paymentDeadlineAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.paymentDeadlineAt","typeLabel":"string\u003cdate-time> | null"},"settlementBasis":{"description":"What completes a window's settlement. `clock`: the occurrence's confirmed completion time\n(`settlesBy`). `onAgreement`: the LP issues the window's statement and the trade settles\nonce that statement is agreed (Keyrock), so the window states no clock time.\n\nNew values may be added; treat unknown values as other.","enum":["clock","onAgreement"],"type":"string","x-extensible-enum":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.settlementBasis","typeLabel":"enum\u003cstring>"},"settlesBy":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.settlesBy.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.settlesBy.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.settlesBy","typeLabel":"string\u003cdate-time> | null"},"statementIssuer":{"oneOf":[{"description":"The LP whose statement settles an `onAgreement` window (\"Keyrock\"); absent on a clock window.","type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.statementIssuer.oneOf.0","typeLabel":"string"},{"description":"The LP whose statement settles an `onAgreement` window (\"Keyrock\"); absent on a clock window.","type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.statementIssuer.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.statementIssuer","typeLabel":"string | null"}},"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1","typeLabel":"object"}],"uniqueKey":"details.oneOf.1.currentWindow","typeLabel":"null | object"},"field":{"oneOf":[{"description":"`INVALID_REQUEST`: the path of a missing required, unknown, mistyped or out-of-range\nfield (for example `buy` or `sell.asset`), never the parser's message or input value.","type":"string","uniqueKey":"details.oneOf.1.field.oneOf.0","typeLabel":"string"},{"description":"`INVALID_REQUEST`: the path of a missing required, unknown, mistyped or out-of-range\nfield (for example `buy` or `sell.asset`), never the parser's message or input value.","type":"null","uniqueKey":"details.oneOf.1.field.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.field","typeLabel":"string | null"},"reason":{"oneOf":[{"type":"string","description":"A machine-readable reason token the refusing step gave.\n\nKnown source reason tokens (not all apply to every status): `clockUnavailable`, `assetUnsupported`, `referenceUndeclarable`, `referenceNotAdmitted`, `referenceStale`, `referenceDepth`, `marketDataUnavailable`, `calibrationUnavailable`, `livePriceUnavailable`, `lpQuoteUnavailable`, `platformJurisdictionCountryRequired`, `platformJurisdictionUnavailable`, `platformJurisdictionBlocked`, `venueJurisdictionExcluded`, `workspaceJurisdictionRequired`, `jurisdictionRegionRequired`, `jurisdictionUnavailable`, `venueKeyRefusedLikelyIpAllowlist`, `venueWithdrawalDestinationNotWhitelisted`, `adapterPayloadSerializationFailed`, `basicVenueAccountsUnavailable`, `billingPaymentOverdue`, `walletNotOnChain`, `ccxtVenueRequiresCexLane`, `executionStageDisabled`, `jurisdictionUnproven`, `onboardedVenuesUnavailable`, `onchainAccountDefaultWalletRequired`, `onchainAccountDefaultWalletUnavailable`, `onchainAccountWalletRequired`, `onchainAssetDecimalsMismatch`, `onchainAssetIdentityMismatch`, `onchainAssetUnmapped`, `onchainAssetVariantFiltered`, `onchainWalletUnavailable`, `onchainCatalogueUnavailable`, `onchainDeliverToNotReceivingWallet`, `onchainDeliverToUnverified`, `onchainMarketsUnavailable`, `onchainMarketCatalogUnreadable`, `onchainMarketChainRequired`, `onchainMarketVariantRequired`, `onchainMarketTokenRequired`, `onchainSiteChainUnreadable`, `onchainWalletChainUnreadable`, `onchainWalletInactive`, `onchainWalletNotLinked`, `onchainWalletNotUsable`, `onchainWalletPickAmbiguous`, `onchainWalletWrongNetwork`, `signerLacksRight`, `signerUnavailable`, `signingGrantAmbiguous`, `signingGrantExpired`, `nativeGrantExpiryReapprovalRequired`, `nativeBalanceUnavailable`, `solanaFinalityUnavailable`, `tronSolidBlockUnavailable`, `signingGrantPolicyUnreadable`, `signingGrantPolicyChecking`, `signingGrantRequired`, `signingGrantTokenNotKept`, `signingGrantTokenNotPayable`, `solverChainUnready`, `walletChainMismatch`, `walletNotUsableByYou`, `walletNotVerifiedForAce`, `walletNotWhitelisted`, `withdrawalChainUnsupported`, `accountFeeUnavailable`, `comparisonCostsUnavailable`, `connectionListingUnavailable`, `feeUnverified`, `noPool`, `noPrice`, `noSize`, `notFilled`, `notYetPublished`, `priceArithmetic`, `priceSourceNone`, `referenceMidUnavailable`, `settlementPrecisionUnavailable`, `accountSetupIncomplete`, `admissionUnavailable`, `advancedAccountEligibilityUnavailable`, `advancedAccountStateInconsistent`, `advancedConnectionDisabled`, `advancedConnectionNotConfigured`, `advancedConnectionPaused`, `advancedSettlementNeedsVerification`, `advancedModeDisabled`, `advancedNotAvailableForAccount`, `advancedNotEnabledForAccount`, `allowanceUnavailable`, `acrossCapacityExceeded`, `relayCapacityExceeded`, `acrossChainNotCarried`, `cctpChainNotCarried`, `cctpWalletRequired`, `acrossWalletRequired`, `walletBrowserSigningEvmOnly`, `relayChainNotCarried`, `apiKeyAdvancedWalletUnsupported`, `apiKeyOrganisationWalletScopeRequired`, `grantCapExceeded`, `amountAboveMaximum`, `amountBelowMinimum`, `belowVenueMinimum`, `amountUnreadable`, `amountsUnreadable`, `askFirst`, `authorityUnavailable`, `automationNeverAsks`, `availabilityUnreadable`, `backgroundNeverAsks`, `balanceUnreadable`, `defaultsUnavailable`, `walletHasNoAddress`, `walletUnavailable`, `bondAmountUnreadable`, `bondAssetUnreadable`, `catalogueUnavailable`, `chainFamilyUnknown`, `chainUnrecorded`, `clientSessionRequired`, `clockUnreadable`, `comingSoon`, `connectionChanged`, `connectionRevoked`, `corridorInvalid`, `credential`, `deadlineExceeded`, `defaultsLoading`, `deliverToCalldataUnsupported`, `deliverToTagUnsupported`, `deliverToNotPermitted`, `deliverToUnreadable`, `tradingPermissionRequired`, `directPatienceHarvest`, `economicallyInferior`, `exactAmountConflictsWithCard`, `exactAmountConflictsWithQuote`, `exactOutputDeliveryUnsupported`, `exactOutputEstimateUnavailable`, `exactRouteHypothesisUnavailable`, `expiredOnArrival`, `expiryUnknown`, `feeUnreadable`, `filteredOut`, `firmAskRefused`, `firmAskFundsTimedOut`, `firmAskPreparationTimedOut`, `quotePreparationFailed`, `firmAskAdmissionTimedOut`, `seliniFirmAskMarketsTimedOut`, `seliniFirmAskHandoffTimedOut`, `seliniFirmAskBeforePostTimedOut`, `seliniFirmAskValidationTimedOut`, `seliniFirmAskResponseTimedOut`, `seliniFirmAskTransportFailure`, `rfqQuoteRefusedQuoteNotAvailable`, `rfqQuoteRefusedQuotingDisabled`, `rfqQuoteRefusedClientRfqNotConfigured`, `rfqQuoteRefusedClientProfileNotLoaded`, `rfqQuoteRefusedMarketDisabled`, `rfqQuoteRefusedInvalidQuantity`, `rfqQuoteRefusedInvalidSide`, `rfqQuoteRefusedInvalidCurrency`, `rfqQuoteRefusedPricePrecisionError`, `rfqQuoteRefusedRfqError`, `rfqQuoteRefused`, `venueOutcomeIndeterminate`, `venueBodyUnreadable`, `venueResponseUnmapped`, `venueRateLimited`, `venueQuoteAdmissionExpired`, `placementSignedPastDeadline`, `quoteIdentityConflict`, `symbolUnsupported`, `marketSymbolAmbiguous`, `firmAskPrincipalRequired`, `indicativeRequested`, `freshnessUnknown`, `fundingWindow`, `insufficientLiquidity`, `venueRelationship`, `venueRelationshipUnavailable`, `lpUnknown`, `mfaEnrolmentRequired`, `mfaRequired`, `minimumUnverified`, `mixedNetworks`, `netReceivedUnavailable`, `networkUnrecorded`, `noAddress`, `noCard`, `noFetcher`, `noInventory`, `noLaneForPair`, `noLegs`, `noOnChainCorridor`, `noPlannedVenue`, `noQuote`, `noRpc`, `notConnected`, `notEligible`, `notExecutable`, `orderPayloadMissing`, `outsideTopComposites`, `pairUnmapped`, `sellChainInvalid`, `permissionsUnreadable`, `placeOrderNotPermitted`, `prefundingMarkerUnreadable`, `prefundingRequired`, `indicative`, `priceOnRequest`, `priceOutOfRange`, `priceProtectionInvalid`, `pricingBookOnly`, `productNotQuoted`, `protocolChainMissing`, `providerFeeTreatmentUnknown`, `providerSiteUnrecorded`, `quoteIdUnissuable`, `quoteNotHeld`, `buyChainInvalid`, `buyAmountUnsupported`, `exactOutputDebitUnavailable`, `pairNotServed`, `accountFundingReadUnverified`, `quoteReconfirmationRequired`, `quoteRejected`, `keyrockSecurityCatalogueUnavailable`, `venueAnsweredAfterQuoteWindow`, `venueQuoteIntentMismatch`, `payExactUnsupported`, `receiveWalletNotServed`, `referenceMidUnreadable`, `referencePriceUnavailable`, `registryUnavailable`, `releaseRecheckUnavailable`, `requestUnbuildable`, `routeLegChainUnknown`, `routeLegUnnamed`, `routeLegUnplanned`, `routeUnavailable`, `secondFactorUnreadable`, `shortfallUnmeasured`, `shortfallUnreadable`, `singleChainVenue`, `siteChainUnreadable`, `sizeNotEligible`, `submitOrderBlocked`, `takerOnboardingIncomplete`, `tierNotQuoted`, `tradePaused`, `venueConnectionStorageUnavailable`, `venueDataStale`, `venueDeclined`, `venueNotConnected`, `venueNotEnabledForWorkspace`, `venueNotListed`, `venueTradeKeyUnavailable`, `venueTradeScopeRequired`, `venueTradeUnreadable`, `venueUnavailable`, `walletRefused`, `withdrawalFeeUnread`, `acrossRoutedViaCctp`, `apiKeyOrganisationWalletNotAllowlisted`, `balanceAvailabilityUnconfirmed`, `bankDestinationUnavailable`, `bebopJamKeyNotEnabled`, `bebopJamQuoteDeclined`, `bebopTokenUnavailable`, `relayCurrencyUnsupported`, `relaySwapImpactTooHigh`, `tetrafiSolverCallbackNotAuthorized`, `tradingLinkSnapshotChanged`, `tradingLinkSnapshotUnavailable`, `uniswapChainReadUnavailable`, `uniswapInsufficientDepth`, `uniswapQuoteUnreadable`, `uniswapUnwrapAboveDailyCap`, `uniswapUnwrapAboveTradeCap`, `uniswapRouteNotGranted`, `venueNotEnabled`, `askLimitReached`, `balanceMeaningUnconfirmed`, `bebopQuorumWalletTooSlow`, `bebopWalletQuorumUnreadable`, `bebopBrowserWalletUnsupported`, `connectionNotConfigured`, `deliveryAccountNetworkUnavailable`, `deliveryAccountUnavailable`, `destinationCannotSendOnChain`, `dexReferencePriceUnavailable`, `firmQuoteLimited`, `fundingAccountNetworkUnavailable`, `fundingAccountUnavailable`, `insufficientDepth`, `missingPermission`, `needsNativeGas`, `needsWallet`, `notPriced`, `payInTermsUnavailable`, `pilotTradeCapExceeded`, `pilotMinimumAboveTradeCap`, `platformFeeRateUnavailable`, `pricingBookPairUnserved`, `settlementDeclarationUnavailable`, `settlementNotAvailable`, `timedOut`, `timedOutBeforeSend`, `tradingSourceNetworkUnavailable`, `tradingSourceNotLinked`, `venueEnablementRechecking`, `venueEnablementUnavailable`, `venueListingTimedOut`, `venuePoliciesUnavailable`, `multiliquidPaused`, `multiliquidAssetNotAccepted`, `walletNotAllowlistedForAsset`, `walletBlacklisted`, `multiliquidPriceInvalid`, `multiliquidStablePriceOutOfBand`, `multiliquidInsufficientLiquidity`, `multiliquidProviderPrefundUnavailable`, `multiliquidDailyLimitReached`, `eligibilityUnverifiable`, `multiliquidInsufficientBalance`, `multiliquidWalletFundsInsufficient`, `multiliquidInsufficientAllowance`, `walletTokenAccountFrozen`, `multiliquidAmountInTooHigh`, `multiliquidAmountOutTooLow`, `multiliquidInsufficientLpFeeBalance`, `multiliquidTransferFeeNotSupported`, `multiliquidParticipantUnavailable`, `multiliquidChainNotSupported`, `multiliquidObservationWalletUnavailable`, `privyMultiliquidArrayPinsUnsupported`, `cctpDestinationNotGranted`, `signingGrantNativeOnly`, `quoteRejectedInsufficientBalance`, `walletGateUnreadable`, `policyBlocked`, `treasuryPolicyApprovalRequired`, `destinationTagRequired`, `destinationTagMismatch`, `destinationTagInvalid`, `acrossBasicLaneNotEnabled`, `creditReadUnavailable`, `exactOutputFirmAskUnsupported`, `grantEndsBeforeVenueFunding`, `jurisdictionNotServed`, `pairUnsupported`, `requesterJurisdictionUnknown`, `venueAccountHasNoKey`, `venueAssessmentRequired`, `venueConnectionInvalid`, `venueReenableRequiresNewCredentials`, `venueTradingPaused`, `balanceNotObserved`, `notPermitted`, `balanceNotPermitted`, `gasUnchecked`, `catalogueWaitStateUnavailable`, `cctpRouteUpgrading`, `creditOnly`, `dexReferencePriceMissing`, `quoteAuthorityUnavailable`, `venueRoutingOff`, `venueRoutingStateUnavailable`, `indicativeUnavailable`, `marketUnavailable`, `noReferenceMid`, `observationBindingUnavailable`, `quoteIdUnavailable`, `stalePrice`.\n\nNew values may be added; treat unknown values as other.","enum":["clockUnavailable","assetUnsupported","referenceUndeclarable","referenceNotAdmitted","referenceStale","referenceDepth","marketDataUnavailable","calibrationUnavailable","livePriceUnavailable","lpQuoteUnavailable","platformJurisdictionCountryRequired","platformJurisdictionUnavailable","platformJurisdictionBlocked","venueJurisdictionExcluded","workspaceJurisdictionRequired","jurisdictionRegionRequired","jurisdictionUnavailable","venueKeyRefusedLikelyIpAllowlist","venueWithdrawalDestinationNotWhitelisted","adapterPayloadSerializationFailed","basicVenueAccountsUnavailable","billingPaymentOverdue","walletNotOnChain","ccxtVenueRequiresCexLane","executionStageDisabled","jurisdictionUnproven","onboardedVenuesUnavailable","onchainAccountDefaultWalletRequired","onchainAccountDefaultWalletUnavailable","onchainAccountWalletRequired","onchainAssetDecimalsMismatch","onchainAssetIdentityMismatch","onchainAssetUnmapped","onchainAssetVariantFiltered","onchainWalletUnavailable","onchainCatalogueUnavailable","onchainDeliverToNotReceivingWallet","onchainDeliverToUnverified","onchainMarketsUnavailable","onchainMarketCatalogUnreadable","onchainMarketChainRequired","onchainMarketVariantRequired","onchainMarketTokenRequired","onchainSiteChainUnreadable","onchainWalletChainUnreadable","onchainWalletInactive","onchainWalletNotLinked","onchainWalletNotUsable","onchainWalletPickAmbiguous","onchainWalletWrongNetwork","signerLacksRight","signerUnavailable","signingGrantAmbiguous","signingGrantExpired","nativeGrantExpiryReapprovalRequired","nativeBalanceUnavailable","solanaFinalityUnavailable","tronSolidBlockUnavailable","signingGrantPolicyUnreadable","signingGrantPolicyChecking","signingGrantRequired","signingGrantTokenNotKept","signingGrantTokenNotPayable","solverChainUnready","walletChainMismatch","walletNotUsableByYou","walletNotVerifiedForAce","walletNotWhitelisted","withdrawalChainUnsupported","accountFeeUnavailable","comparisonCostsUnavailable","connectionListingUnavailable","feeUnverified","noPool","noPrice","noSize","notFilled","notYetPublished","priceArithmetic","priceSourceNone","referenceMidUnavailable","settlementPrecisionUnavailable","accountSetupIncomplete","admissionUnavailable","advancedAccountEligibilityUnavailable","advancedAccountStateInconsistent","advancedConnectionDisabled","advancedConnectionNotConfigured","advancedConnectionPaused","advancedSettlementNeedsVerification","advancedModeDisabled","advancedNotAvailableForAccount","advancedNotEnabledForAccount","allowanceUnavailable","acrossCapacityExceeded","relayCapacityExceeded","acrossChainNotCarried","cctpChainNotCarried","cctpWalletRequired","acrossWalletRequired","walletBrowserSigningEvmOnly","relayChainNotCarried","apiKeyAdvancedWalletUnsupported","apiKeyOrganisationWalletScopeRequired","grantCapExceeded","amountAboveMaximum","amountBelowMinimum","belowVenueMinimum","amountUnreadable","amountsUnreadable","askFirst","authorityUnavailable","automationNeverAsks","availabilityUnreadable","backgroundNeverAsks","balanceUnreadable","defaultsUnavailable","walletHasNoAddress","walletUnavailable","bondAmountUnreadable","bondAssetUnreadable","catalogueUnavailable","chainFamilyUnknown","chainUnrecorded","clientSessionRequired","clockUnreadable","comingSoon","connectionChanged","connectionRevoked","corridorInvalid","credential","deadlineExceeded","defaultsLoading","deliverToCalldataUnsupported","deliverToTagUnsupported","deliverToNotPermitted","deliverToUnreadable","tradingPermissionRequired","directPatienceHarvest","economicallyInferior","exactAmountConflictsWithCard","exactAmountConflictsWithQuote","exactOutputDeliveryUnsupported","exactOutputEstimateUnavailable","exactRouteHypothesisUnavailable","expiredOnArrival","expiryUnknown","feeUnreadable","filteredOut","firmAskRefused","firmAskFundsTimedOut","firmAskPreparationTimedOut","quotePreparationFailed","firmAskAdmissionTimedOut","seliniFirmAskMarketsTimedOut","seliniFirmAskHandoffTimedOut","seliniFirmAskBeforePostTimedOut","seliniFirmAskValidationTimedOut","seliniFirmAskResponseTimedOut","seliniFirmAskTransportFailure","rfqQuoteRefusedQuoteNotAvailable","rfqQuoteRefusedQuotingDisabled","rfqQuoteRefusedClientRfqNotConfigured","rfqQuoteRefusedClientProfileNotLoaded","rfqQuoteRefusedMarketDisabled","rfqQuoteRefusedInvalidQuantity","rfqQuoteRefusedInvalidSide","rfqQuoteRefusedInvalidCurrency","rfqQuoteRefusedPricePrecisionError","rfqQuoteRefusedRfqError","rfqQuoteRefused","venueOutcomeIndeterminate","venueBodyUnreadable","venueResponseUnmapped","venueRateLimited","venueQuoteAdmissionExpired","placementSignedPastDeadline","quoteIdentityConflict","symbolUnsupported","marketSymbolAmbiguous","firmAskPrincipalRequired","indicativeRequested","freshnessUnknown","fundingWindow","insufficientLiquidity","venueRelationship","venueRelationshipUnavailable","lpUnknown","mfaEnrolmentRequired","mfaRequired","minimumUnverified","mixedNetworks","netReceivedUnavailable","networkUnrecorded","noAddress","noCard","noFetcher","noInventory","noLaneForPair","noLegs","noOnChainCorridor","noPlannedVenue","noQuote","noRpc","notConnected","notEligible","notExecutable","orderPayloadMissing","outsideTopComposites","pairUnmapped","sellChainInvalid","permissionsUnreadable","placeOrderNotPermitted","prefundingMarkerUnreadable","prefundingRequired","indicative","priceOnRequest","priceOutOfRange","priceProtectionInvalid","pricingBookOnly","productNotQuoted","protocolChainMissing","providerFeeTreatmentUnknown","providerSiteUnrecorded","quoteIdUnissuable","quoteNotHeld","buyChainInvalid","buyAmountUnsupported","exactOutputDebitUnavailable","pairNotServed","accountFundingReadUnverified","quoteReconfirmationRequired","quoteRejected","keyrockSecurityCatalogueUnavailable","venueAnsweredAfterQuoteWindow","venueQuoteIntentMismatch","payExactUnsupported","receiveWalletNotServed","referenceMidUnreadable","referencePriceUnavailable","registryUnavailable","releaseRecheckUnavailable","requestUnbuildable","routeLegChainUnknown","routeLegUnnamed","routeLegUnplanned","routeUnavailable","secondFactorUnreadable","shortfallUnmeasured","shortfallUnreadable","singleChainVenue","siteChainUnreadable","sizeNotEligible","submitOrderBlocked","takerOnboardingIncomplete","tierNotQuoted","tradePaused","venueConnectionStorageUnavailable","venueDataStale","venueDeclined","venueNotConnected","venueNotEnabledForWorkspace","venueNotListed","venueTradeKeyUnavailable","venueTradeScopeRequired","venueTradeUnreadable","venueUnavailable","walletRefused","withdrawalFeeUnread","acrossRoutedViaCctp","apiKeyOrganisationWalletNotAllowlisted","balanceAvailabilityUnconfirmed","bankDestinationUnavailable","bebopJamKeyNotEnabled","bebopJamQuoteDeclined","bebopTokenUnavailable","relayCurrencyUnsupported","relaySwapImpactTooHigh","tetrafiSolverCallbackNotAuthorized","tradingLinkSnapshotChanged","tradingLinkSnapshotUnavailable","uniswapChainReadUnavailable","uniswapInsufficientDepth","uniswapQuoteUnreadable","uniswapUnwrapAboveDailyCap","uniswapUnwrapAboveTradeCap","uniswapRouteNotGranted","venueNotEnabled","askLimitReached","balanceMeaningUnconfirmed","bebopQuorumWalletTooSlow","bebopWalletQuorumUnreadable","bebopBrowserWalletUnsupported","connectionNotConfigured","deliveryAccountNetworkUnavailable","deliveryAccountUnavailable","destinationCannotSendOnChain","dexReferencePriceUnavailable","firmQuoteLimited","fundingAccountNetworkUnavailable","fundingAccountUnavailable","insufficientDepth","missingPermission","needsNativeGas","needsWallet","notPriced","payInTermsUnavailable","pilotTradeCapExceeded","pilotMinimumAboveTradeCap","platformFeeRateUnavailable","pricingBookPairUnserved","settlementDeclarationUnavailable","settlementNotAvailable","timedOut","timedOutBeforeSend","tradingSourceNetworkUnavailable","tradingSourceNotLinked","venueEnablementRechecking","venueEnablementUnavailable","venueListingTimedOut","venuePoliciesUnavailable","multiliquidPaused","multiliquidAssetNotAccepted","walletNotAllowlistedForAsset","walletBlacklisted","multiliquidPriceInvalid","multiliquidStablePriceOutOfBand","multiliquidInsufficientLiquidity","multiliquidProviderPrefundUnavailable","multiliquidDailyLimitReached","eligibilityUnverifiable","multiliquidInsufficientBalance","multiliquidWalletFundsInsufficient","multiliquidInsufficientAllowance","walletTokenAccountFrozen","multiliquidAmountInTooHigh","multiliquidAmountOutTooLow","multiliquidInsufficientLpFeeBalance","multiliquidTransferFeeNotSupported","multiliquidParticipantUnavailable","multiliquidChainNotSupported","multiliquidObservationWalletUnavailable","privyMultiliquidArrayPinsUnsupported","cctpDestinationNotGranted","signingGrantNativeOnly","quoteRejectedInsufficientBalance","walletGateUnreadable","policyBlocked","treasuryPolicyApprovalRequired","destinationTagRequired","destinationTagMismatch","destinationTagInvalid","acrossBasicLaneNotEnabled","creditReadUnavailable","exactOutputFirmAskUnsupported","grantEndsBeforeVenueFunding","jurisdictionNotServed","pairUnsupported","requesterJurisdictionUnknown","venueAccountHasNoKey","venueAssessmentRequired","venueConnectionInvalid","venueReenableRequiresNewCredentials","venueTradingPaused","balanceNotObserved","notPermitted","balanceNotPermitted","gasUnchecked","catalogueWaitStateUnavailable","cctpRouteUpgrading","creditOnly","dexReferencePriceMissing","quoteAuthorityUnavailable","venueRoutingOff","venueRoutingStateUnavailable","indicativeUnavailable","marketUnavailable","noReferenceMid","observationBindingUnavailable","quoteIdUnavailable","stalePrice"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.reason.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"A machine-readable reason token the refusing step gave.\n\nKnown source reason tokens (not all apply to every status): `clockUnavailable`, `assetUnsupported`, `referenceUndeclarable`, `referenceNotAdmitted`, `referenceStale`, `referenceDepth`, `marketDataUnavailable`, `calibrationUnavailable`, `livePriceUnavailable`, `lpQuoteUnavailable`, `platformJurisdictionCountryRequired`, `platformJurisdictionUnavailable`, `platformJurisdictionBlocked`, `venueJurisdictionExcluded`, `workspaceJurisdictionRequired`, `jurisdictionRegionRequired`, `jurisdictionUnavailable`, `venueKeyRefusedLikelyIpAllowlist`, `venueWithdrawalDestinationNotWhitelisted`, `adapterPayloadSerializationFailed`, `basicVenueAccountsUnavailable`, `billingPaymentOverdue`, `walletNotOnChain`, `ccxtVenueRequiresCexLane`, `executionStageDisabled`, `jurisdictionUnproven`, `onboardedVenuesUnavailable`, `onchainAccountDefaultWalletRequired`, `onchainAccountDefaultWalletUnavailable`, `onchainAccountWalletRequired`, `onchainAssetDecimalsMismatch`, `onchainAssetIdentityMismatch`, `onchainAssetUnmapped`, `onchainAssetVariantFiltered`, `onchainWalletUnavailable`, `onchainCatalogueUnavailable`, `onchainDeliverToNotReceivingWallet`, `onchainDeliverToUnverified`, `onchainMarketsUnavailable`, `onchainMarketCatalogUnreadable`, `onchainMarketChainRequired`, `onchainMarketVariantRequired`, `onchainMarketTokenRequired`, `onchainSiteChainUnreadable`, `onchainWalletChainUnreadable`, `onchainWalletInactive`, `onchainWalletNotLinked`, `onchainWalletNotUsable`, `onchainWalletPickAmbiguous`, `onchainWalletWrongNetwork`, `signerLacksRight`, `signerUnavailable`, `signingGrantAmbiguous`, `signingGrantExpired`, `nativeGrantExpiryReapprovalRequired`, `nativeBalanceUnavailable`, `solanaFinalityUnavailable`, `tronSolidBlockUnavailable`, `signingGrantPolicyUnreadable`, `signingGrantPolicyChecking`, `signingGrantRequired`, `signingGrantTokenNotKept`, `signingGrantTokenNotPayable`, `solverChainUnready`, `walletChainMismatch`, `walletNotUsableByYou`, `walletNotVerifiedForAce`, `walletNotWhitelisted`, `withdrawalChainUnsupported`, `accountFeeUnavailable`, `comparisonCostsUnavailable`, `connectionListingUnavailable`, `feeUnverified`, `noPool`, `noPrice`, `noSize`, `notFilled`, `notYetPublished`, `priceArithmetic`, `priceSourceNone`, `referenceMidUnavailable`, `settlementPrecisionUnavailable`, `accountSetupIncomplete`, `admissionUnavailable`, `advancedAccountEligibilityUnavailable`, `advancedAccountStateInconsistent`, `advancedConnectionDisabled`, `advancedConnectionNotConfigured`, `advancedConnectionPaused`, `advancedSettlementNeedsVerification`, `advancedModeDisabled`, `advancedNotAvailableForAccount`, `advancedNotEnabledForAccount`, `allowanceUnavailable`, `acrossCapacityExceeded`, `relayCapacityExceeded`, `acrossChainNotCarried`, `cctpChainNotCarried`, `cctpWalletRequired`, `acrossWalletRequired`, `walletBrowserSigningEvmOnly`, `relayChainNotCarried`, `apiKeyAdvancedWalletUnsupported`, `apiKeyOrganisationWalletScopeRequired`, `grantCapExceeded`, `amountAboveMaximum`, `amountBelowMinimum`, `belowVenueMinimum`, `amountUnreadable`, `amountsUnreadable`, `askFirst`, `authorityUnavailable`, `automationNeverAsks`, `availabilityUnreadable`, `backgroundNeverAsks`, `balanceUnreadable`, `defaultsUnavailable`, `walletHasNoAddress`, `walletUnavailable`, `bondAmountUnreadable`, `bondAssetUnreadable`, `catalogueUnavailable`, `chainFamilyUnknown`, `chainUnrecorded`, `clientSessionRequired`, `clockUnreadable`, `comingSoon`, `connectionChanged`, `connectionRevoked`, `corridorInvalid`, `credential`, `deadlineExceeded`, `defaultsLoading`, `deliverToCalldataUnsupported`, `deliverToTagUnsupported`, `deliverToNotPermitted`, `deliverToUnreadable`, `tradingPermissionRequired`, `directPatienceHarvest`, `economicallyInferior`, `exactAmountConflictsWithCard`, `exactAmountConflictsWithQuote`, `exactOutputDeliveryUnsupported`, `exactOutputEstimateUnavailable`, `exactRouteHypothesisUnavailable`, `expiredOnArrival`, `expiryUnknown`, `feeUnreadable`, `filteredOut`, `firmAskRefused`, `firmAskFundsTimedOut`, `firmAskPreparationTimedOut`, `quotePreparationFailed`, `firmAskAdmissionTimedOut`, `seliniFirmAskMarketsTimedOut`, `seliniFirmAskHandoffTimedOut`, `seliniFirmAskBeforePostTimedOut`, `seliniFirmAskValidationTimedOut`, `seliniFirmAskResponseTimedOut`, `seliniFirmAskTransportFailure`, `rfqQuoteRefusedQuoteNotAvailable`, `rfqQuoteRefusedQuotingDisabled`, `rfqQuoteRefusedClientRfqNotConfigured`, `rfqQuoteRefusedClientProfileNotLoaded`, `rfqQuoteRefusedMarketDisabled`, `rfqQuoteRefusedInvalidQuantity`, `rfqQuoteRefusedInvalidSide`, `rfqQuoteRefusedInvalidCurrency`, `rfqQuoteRefusedPricePrecisionError`, `rfqQuoteRefusedRfqError`, `rfqQuoteRefused`, `venueOutcomeIndeterminate`, `venueBodyUnreadable`, `venueResponseUnmapped`, `venueRateLimited`, `venueQuoteAdmissionExpired`, `placementSignedPastDeadline`, `quoteIdentityConflict`, `symbolUnsupported`, `marketSymbolAmbiguous`, `firmAskPrincipalRequired`, `indicativeRequested`, `freshnessUnknown`, `fundingWindow`, `insufficientLiquidity`, `venueRelationship`, `venueRelationshipUnavailable`, `lpUnknown`, `mfaEnrolmentRequired`, `mfaRequired`, `minimumUnverified`, `mixedNetworks`, `netReceivedUnavailable`, `networkUnrecorded`, `noAddress`, `noCard`, `noFetcher`, `noInventory`, `noLaneForPair`, `noLegs`, `noOnChainCorridor`, `noPlannedVenue`, `noQuote`, `noRpc`, `notConnected`, `notEligible`, `notExecutable`, `orderPayloadMissing`, `outsideTopComposites`, `pairUnmapped`, `sellChainInvalid`, `permissionsUnreadable`, `placeOrderNotPermitted`, `prefundingMarkerUnreadable`, `prefundingRequired`, `indicative`, `priceOnRequest`, `priceOutOfRange`, `priceProtectionInvalid`, `pricingBookOnly`, `productNotQuoted`, `protocolChainMissing`, `providerFeeTreatmentUnknown`, `providerSiteUnrecorded`, `quoteIdUnissuable`, `quoteNotHeld`, `buyChainInvalid`, `buyAmountUnsupported`, `exactOutputDebitUnavailable`, `pairNotServed`, `accountFundingReadUnverified`, `quoteReconfirmationRequired`, `quoteRejected`, `keyrockSecurityCatalogueUnavailable`, `venueAnsweredAfterQuoteWindow`, `venueQuoteIntentMismatch`, `payExactUnsupported`, `receiveWalletNotServed`, `referenceMidUnreadable`, `referencePriceUnavailable`, `registryUnavailable`, `releaseRecheckUnavailable`, `requestUnbuildable`, `routeLegChainUnknown`, `routeLegUnnamed`, `routeLegUnplanned`, `routeUnavailable`, `secondFactorUnreadable`, `shortfallUnmeasured`, `shortfallUnreadable`, `singleChainVenue`, `siteChainUnreadable`, `sizeNotEligible`, `submitOrderBlocked`, `takerOnboardingIncomplete`, `tierNotQuoted`, `tradePaused`, `venueConnectionStorageUnavailable`, `venueDataStale`, `venueDeclined`, `venueNotConnected`, `venueNotEnabledForWorkspace`, `venueNotListed`, `venueTradeKeyUnavailable`, `venueTradeScopeRequired`, `venueTradeUnreadable`, `venueUnavailable`, `walletRefused`, `withdrawalFeeUnread`, `acrossRoutedViaCctp`, `apiKeyOrganisationWalletNotAllowlisted`, `balanceAvailabilityUnconfirmed`, `bankDestinationUnavailable`, `bebopJamKeyNotEnabled`, `bebopJamQuoteDeclined`, `bebopTokenUnavailable`, `relayCurrencyUnsupported`, `relaySwapImpactTooHigh`, `tetrafiSolverCallbackNotAuthorized`, `tradingLinkSnapshotChanged`, `tradingLinkSnapshotUnavailable`, `uniswapChainReadUnavailable`, `uniswapInsufficientDepth`, `uniswapQuoteUnreadable`, `uniswapUnwrapAboveDailyCap`, `uniswapUnwrapAboveTradeCap`, `uniswapRouteNotGranted`, `venueNotEnabled`, `askLimitReached`, `balanceMeaningUnconfirmed`, `bebopQuorumWalletTooSlow`, `bebopWalletQuorumUnreadable`, `bebopBrowserWalletUnsupported`, `connectionNotConfigured`, `deliveryAccountNetworkUnavailable`, `deliveryAccountUnavailable`, `destinationCannotSendOnChain`, `dexReferencePriceUnavailable`, `firmQuoteLimited`, `fundingAccountNetworkUnavailable`, `fundingAccountUnavailable`, `insufficientDepth`, `missingPermission`, `needsNativeGas`, `needsWallet`, `notPriced`, `payInTermsUnavailable`, `pilotTradeCapExceeded`, `pilotMinimumAboveTradeCap`, `platformFeeRateUnavailable`, `pricingBookPairUnserved`, `settlementDeclarationUnavailable`, `settlementNotAvailable`, `timedOut`, `timedOutBeforeSend`, `tradingSourceNetworkUnavailable`, `tradingSourceNotLinked`, `venueEnablementRechecking`, `venueEnablementUnavailable`, `venueListingTimedOut`, `venuePoliciesUnavailable`, `multiliquidPaused`, `multiliquidAssetNotAccepted`, `walletNotAllowlistedForAsset`, `walletBlacklisted`, `multiliquidPriceInvalid`, `multiliquidStablePriceOutOfBand`, `multiliquidInsufficientLiquidity`, `multiliquidProviderPrefundUnavailable`, `multiliquidDailyLimitReached`, `eligibilityUnverifiable`, `multiliquidInsufficientBalance`, `multiliquidWalletFundsInsufficient`, `multiliquidInsufficientAllowance`, `walletTokenAccountFrozen`, `multiliquidAmountInTooHigh`, `multiliquidAmountOutTooLow`, `multiliquidInsufficientLpFeeBalance`, `multiliquidTransferFeeNotSupported`, `multiliquidParticipantUnavailable`, `multiliquidChainNotSupported`, `multiliquidObservationWalletUnavailable`, `privyMultiliquidArrayPinsUnsupported`, `cctpDestinationNotGranted`, `signingGrantNativeOnly`, `quoteRejectedInsufficientBalance`, `walletGateUnreadable`, `policyBlocked`, `treasuryPolicyApprovalRequired`, `destinationTagRequired`, `destinationTagMismatch`, `destinationTagInvalid`, `acrossBasicLaneNotEnabled`, `creditReadUnavailable`, `exactOutputFirmAskUnsupported`, `grantEndsBeforeVenueFunding`, `jurisdictionNotServed`, `pairUnsupported`, `requesterJurisdictionUnknown`, `venueAccountHasNoKey`, `venueAssessmentRequired`, `venueConnectionInvalid`, `venueReenableRequiresNewCredentials`, `venueTradingPaused`, `balanceNotObserved`, `notPermitted`, `balanceNotPermitted`, `gasUnchecked`, `catalogueWaitStateUnavailable`, `cctpRouteUpgrading`, `creditOnly`, `dexReferencePriceMissing`, `quoteAuthorityUnavailable`, `venueRoutingOff`, `venueRoutingStateUnavailable`, `indicativeUnavailable`, `marketUnavailable`, `noReferenceMid`, `observationBindingUnavailable`, `quoteIdUnavailable`, `stalePrice`.\n\nNew values may be added; treat unknown values as other.","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.reason","typeLabel":"enum\u003cstring> | null"},"remediation":{"oneOf":[{"description":"A machine-readable recovery hint the refusing step gave.","type":"string","uniqueKey":"details.oneOf.1.remediation.oneOf.0","typeLabel":"string"},{"description":"A machine-readable recovery hint the refusing step gave.","type":"null","uniqueKey":"details.oneOf.1.remediation.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.remediation","typeLabel":"string | null"},"retryAfter":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.retryAfter.oneOf.0","typeLabel":"null"},{"type":"string","description":"Every `429`, and a `503` that knows: when to try again, as an ISO 8601 duration. The\n`Retry-After` header carries the same wait in whole seconds.","format":"duration","pattern":"^PT(?:[0-9]+H(?:[0-9]+M)?(?:[0-9]+(?:\\.[0-9]{1,3})?S)?|[0-9]+M(?:[0-9]+(?:\\.[0-9]{1,3})?S)?|[0-9]+(?:\\.[0-9]{1,3})?S)$","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","example":"PT120S","uniqueKey":"details.oneOf.1.retryAfter.oneOf.1","typeLabel":"string\u003cduration>"}],"uniqueKey":"details.oneOf.1.retryAfter","typeLabel":"null | string\u003cduration>"},"value":{"oneOf":[{"description":"`UNKNOWN_ASSET`, `UNKNOWN_CHAIN`, `UNKNOWN_VENUE`, `INVALID_AMOUNT`: the value refused;\n`ASSET_NOT_ON_CHAIN`: the pinned chain the Asset is not on.","type":"string","uniqueKey":"details.oneOf.1.value.oneOf.0","typeLabel":"string"},{"description":"`UNKNOWN_ASSET`, `UNKNOWN_CHAIN`, `UNKNOWN_VENUE`, `INVALID_AMOUNT`: the value refused;\n`ASSET_NOT_ON_CHAIN`: the pinned chain the Asset is not on.","type":"null","uniqueKey":"details.oneOf.1.value.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.value","typeLabel":"string | null"}},"additionalProperties":{"description":"Any further detail the code carries (for example `stepUpSubject`, `balanceShortfall`,\n`minimumAmount`), each named in camelCase.","uniqueKey":"details.oneOf.1.additionalProperties","typeLabel":"any"},"uniqueKey":"details.oneOf.1","typeLabel":"object"}],"uniqueKey":"details","typeLabel":"null | object"},"next":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"next.oneOf.0","typeLabel":"null"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["order"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.1.kind","typeLabel":"enum\u003cstring>"}},"uniqueKey":"next.oneOf.1","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["preflight"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.2.kind","typeLabel":"enum\u003cstring>"}},"uniqueKey":"next.oneOf.2","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["transactions","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["transact"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.3.kind","typeLabel":"enum\u003cstring>"},"transactions":{"items":{"description":"One transaction the Taker sends itself (an approval included).","properties":{"chain":{"description":"A CAIP-2 chain id (`eip155:8453`, `solana:\u003cgenesis>`, `tron:shasta`), syntax-checked:\na namespace of 3 to 8 lowercase letters, digits or `-`, and a reference of 1 to 32\nletters, digits, `-` or `_`. Compared exactly, as CAIP-2 references are case-sensitive.","example":"eip155:8453","type":"string","isRequired":true,"uniqueKey":"next.oneOf.3.transactions.items.[INDEX].chain","typeLabel":"string"},"data":{"description":"Hex calldata (`0x…`).","type":"string","isRequired":true,"uniqueKey":"next.oneOf.3.transactions.items.[INDEX].data","typeLabel":"string"},"to":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.3.transactions.items.[INDEX].to","typeLabel":"string"},"value":{"description":"Native value in base units, as a decimal string.","type":"string","isRequired":true,"uniqueKey":"next.oneOf.3.transactions.items.[INDEX].value","typeLabel":"string"}},"required":["chain","data","to","value"],"type":"object","uniqueKey":"next.oneOf.3.transactions.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"next.oneOf.3.transactions","typeLabel":"object[]"}},"uniqueKey":"next.oneOf.3","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["typedData","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["sign"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.4.kind","typeLabel":"enum\u003cstring>"},"typedData":{"oneOf":[{"isRequired":true}],"isRequired":true,"uniqueKey":"next.oneOf.4.typedData","typeLabel":"any"}},"uniqueKey":"next.oneOf.4","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["fund"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.kind","typeLabel":"enum\u003cstring>"},"instructions":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"next.oneOf.5.instructions.oneOf.0","typeLabel":"null"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["asset","chainRef","networkCode","networkConfirmed","address","tokenContract","observedAt","expiresAt","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.address","typeLabel":"string"},"asset":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.asset","typeLabel":"string"},"chainRef":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.chainRef","typeLabel":"string"},"expiresAt":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.expiresAt","typeLabel":"string\u003cdate-time>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["venueDeposit"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.kind","typeLabel":"enum\u003cstring>"},"networkCode":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.networkCode","typeLabel":"string"},"networkConfirmed":{"description":"False when the venue reports no network for this address: `networkCode`\nis empty and `chainRef` is the caller's selection, which the customer\nmust confirm with the venue before sending.","type":"boolean","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.networkConfirmed","typeLabel":"boolean"},"observedAt":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.observedAt","typeLabel":"string\u003cdate-time>"},"tokenContract":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.tokenContract","typeLabel":"string"},"memo":{"oneOf":[{"type":"string","uniqueKey":"next.oneOf.5.instructions.oneOf.1.memo.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"next.oneOf.5.instructions.oneOf.1.memo.oneOf.1","typeLabel":"null"}],"uniqueKey":"next.oneOf.5.instructions.oneOf.1.memo","typeLabel":"string | null"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.1","typeLabel":"object"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["accountLast4","amount","bankDisplayName","expiresAt","kind","revealRef"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"accountLast4":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.accountLast4.oneOf.0","typeLabel":"null"},{"type":"string","description":"An already-qualified masked suffix, not external account ownership proof.","maxLength":4,"minLength":1,"pattern":"^[A-Za-z0-9]{1,4}$","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","example":"A1b2","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.accountLast4.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.accountLast4","typeLabel":"null | string"},"amount":{"description":"A non-negative decimal string in Asset units (`\"10000\"`, `\"9994.0\"`): digits with an\noptional fraction, no sign, exponent or leading zero. Never a float and never base\nunits. A request amount must also be positive (`INVALID_AMOUNT`); a fee or a\nknown balance may be zero.","example":"10000","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.amount","typeLabel":"string"},"bankDisplayName":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.bankDisplayName.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.bankDisplayName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.bankDisplayName","typeLabel":"string | null"},"expiresAt":{"oneOf":[{"description":"UTC ISO instant, or null when expiry is UNKNOWN. Null never means no expiry.","format":"date-time","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.expiresAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"description":"UTC ISO instant, or null when expiry is UNKNOWN. Null never means no expiry.","format":"date-time","type":"null","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.expiresAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.expiresAt","typeLabel":"string\u003cdate-time> | null"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["bankDeposit"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.kind","typeLabel":"enum\u003cstring>"},"revealRef":{"description":"Non-bearer lookup metadata for deposit instructions. Possession grants no authority. Each reveal requires current wallet-view authority and exact account membership; an API key additionally needs treasury_read. Missing and foreign accounts share a refusal. Quotes never fetch these instructions.","properties":{"connectionId":{"description":"The native held leg's exact connection id, never a first/sole-connection guess.","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.connectionId","typeLabel":"string"},"currency":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.currency","typeLabel":"string"},"providerBankId":{"oneOf":[{"description":"The provider's linked-bank id when required by that venue; otherwise unknown/null.","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.providerBankId.oneOf.0","typeLabel":"string"},{"description":"The provider's linked-bank id when required by that venue; otherwise unknown/null.","type":"null","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.providerBankId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.providerBankId","typeLabel":"string | null"}},"required":["connectionId","currency","providerBankId"],"type":"object","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef","typeLabel":"object"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.2","typeLabel":"object"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["walletId","address","chain","asset","tokenContract","amount","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.address","typeLabel":"string"},"amount":{"description":"A non-negative decimal string in Asset units (`\"10000\"`, `\"9994.0\"`): digits with an\noptional fraction, no sign, exponent or leading zero. Never a float and never base\nunits. A request amount must also be positive (`INVALID_AMOUNT`); a fee or a\nknown balance may be zero.","example":"10000","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.amount","typeLabel":"string"},"asset":{"description":"A registry Asset id (`USDC`, `USDe`). Matched case-insensitively against the catalogue,\nwhich answers it in the registry's own spelling.","example":"USDC","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.asset","typeLabel":"string"},"chain":{"description":"A CAIP-2 chain id (`eip155:8453`, `solana:\u003cgenesis>`, `tron:shasta`), syntax-checked:\na namespace of 3 to 8 lowercase letters, digits or `-`, and a reference of 1 to 32\nletters, digits, `-` or `_`. Compared exactly, as CAIP-2 references are case-sensitive.","example":"eip155:8453","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.chain","typeLabel":"string"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["walletTopUp"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.kind","typeLabel":"enum\u003cstring>"},"tokenContract":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.tokenContract","typeLabel":"string"},"walletId":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.walletId","typeLabel":"string"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.3","typeLabel":"object"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["chain","amount","asset","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"amount":{"description":"A non-negative decimal string in Asset units (`\"10000\"`, `\"9994.0\"`): digits with an\noptional fraction, no sign, exponent or leading zero. Never a float and never base\nunits. A request amount must also be positive (`INVALID_AMOUNT`); a fee or a\nknown balance may be zero.","example":"10000","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.4.amount","typeLabel":"string"},"asset":{"description":"A registry Asset id (`USDC`, `USDe`). Matched case-insensitively against the catalogue,\nwhich answers it in the registry's own spelling.","example":"USDC","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.4.asset","typeLabel":"string"},"chain":{"description":"A CAIP-2 chain id (`eip155:8453`, `solana:\u003cgenesis>`, `tron:shasta`), syntax-checked:\na namespace of 3 to 8 lowercase letters, digits or `-`, and a reference of 1 to 32\nletters, digits, `-` or `_`. Compared exactly, as CAIP-2 references are case-sensitive.","example":"eip155:8453","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.4.chain","typeLabel":"string"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["nativeGas"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.4.kind","typeLabel":"enum\u003cstring>"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.4","typeLabel":"object"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["connectionId","amount","currency","reason","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"amount":{"description":"A non-negative decimal string in Asset units (`\"10000\"`, `\"9994.0\"`): digits with an\noptional fraction, no sign, exponent or leading zero. Never a float and never base\nunits. A request amount must also be positive (`INVALID_AMOUNT`); a fee or a\nknown balance may be zero.","example":"10000","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.amount","typeLabel":"string"},"connectionId":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.connectionId","typeLabel":"string"},"currency":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.currency","typeLabel":"string"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["depositFirstNotOffered"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.kind","typeLabel":"enum\u003cstring>"},"reason":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.reason","typeLabel":"string"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.5","typeLabel":"object"}],"uniqueKey":"next.oneOf.5.instructions","typeLabel":"null · object · object · object · object · object"}},"uniqueKey":"next.oneOf.5","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["needs","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["requote"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.6.kind","typeLabel":"enum\u003cstring>"},"needs":{"items":{"description":"A funding or delivery selection a requote needs filled. An empty `needs` means requote as is.\n\nNew values may be added; treat unknown values as other.","enum":["wallet:evm","wallet:solana","wallet:tron","account","bankAccount","deliverTo"],"type":"string","x-extensible-enum":true,"uniqueKey":"next.oneOf.6.needs.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","isRequired":true,"uniqueKey":"next.oneOf.6.needs","typeLabel":"enum\u003cstring>[]"}},"uniqueKey":"next.oneOf.6","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["search"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.7.kind","typeLabel":"enum\u003cstring>"}},"uniqueKey":"next.oneOf.7","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["retryAfter","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["wait"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.8.kind","typeLabel":"enum\u003cstring>"},"retryAfter":{"description":"An ISO 8601 duration, e.g. PT3S or PT2M.","examples":["PT120S"],"format":"duration","pattern":"^PT(?:[0-9]+H(?:[0-9]+M)?(?:[0-9]+(?:\\.[0-9]{1,3})?S)?|[0-9]+M(?:[0-9]+(?:\\.[0-9]{1,3})?S)?|[0-9]+(?:\\.[0-9]{1,3})?S)$","type":"string","isRequired":true,"uniqueKey":"next.oneOf.8.retryAfter","typeLabel":"string\u003cduration>"}},"uniqueKey":"next.oneOf.8","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["reference","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["contact"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.9.kind","typeLabel":"enum\u003cstring>"},"reference":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.9.reference","typeLabel":"string"}},"uniqueKey":"next.oneOf.9","typeLabel":"object"}],"uniqueKey":"next","typeLabel":"null · object · object · object · object · object · object · object · object · object"},"requestId":{"oneOf":[{"description":"The request's id, the value the `X-Request-Id` response header carries. Quote it when\nasking for support.","type":"string","uniqueKey":"requestId.oneOf.0","typeLabel":"string"},{"description":"The request's id, the value the `X-Request-Id` response header carries. Quote it when\nasking for support.","type":"null","uniqueKey":"requestId.oneOf.1","typeLabel":"null"}],"uniqueKey":"requestId","typeLabel":"string | null"}},"required":["error","docUrl","retryable","message","timestamp"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"docUrl":"\u003cstring>","error":"\u003cstring>","message":"\u003cstring>","retryable":true,"timestamp":"2023-11-07T05:31:56Z","details":{"capabilityBlockers":[{"code":"WORKSPACE_NOT_FOUND","estimate":"minutes","message":"\u003cstring>","unlockStep":"finishOnboarding","currentlyDue":["\u003cstring>"]}],"conflicts":["\u003cstring>"],"consentedWindow":{"cadence":{"dayBasis":"calendarDays","kind":"intraday","everyHours":1,"localTimes":["\u003cstring>"]},"scheduleId":"\u003cstring>","scheduleLabel":"\u003cstring>","scheduleVersion":123,"snapshotAt":"2023-11-07T05:31:56Z","windowId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","assumedBoundary":{"lpName":"\u003cstring>","source":"\u003cstring>","timeZone":"\u003cstring>"},"cutoffAt":"2023-11-07T05:31:56Z","paymentDeadlineAt":"2023-11-07T05:31:56Z","settlementBasis":"clock","settlesBy":"2023-11-07T05:31:56Z","statementIssuer":"\u003cstring>"},"currentWindow":{"cadence":{"dayBasis":"calendarDays","kind":"intraday","everyHours":1,"localTimes":["\u003cstring>"]},"scheduleId":"\u003cstring>","scheduleLabel":"\u003cstring>","scheduleVersion":123,"snapshotAt":"2023-11-07T05:31:56Z","windowId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","assumedBoundary":{"lpName":"\u003cstring>","source":"\u003cstring>","timeZone":"\u003cstring>"},"cutoffAt":"2023-11-07T05:31:56Z","paymentDeadlineAt":"2023-11-07T05:31:56Z","settlementBasis":"clock","settlesBy":"2023-11-07T05:31:56Z","statementIssuer":"\u003cstring>"},"field":"\u003cstring>","reason":"clockUnavailable","remediation":"\u003cstring>","retryAfter":"PT120S","value":"\u003cstring>"},"next":{"kind":"order"},"requestId":"\u003cstring>"}}},"exampleType":"generated"}},"description":"`WORKSPACE_NOT_FOUND` - the path workspace is unknown or differs from the authenticated workspace; the response is identical","headers":{"Deprecation":{"description":"Present when this operation is deprecated: an RFC 9745 structured date, for example @1792443399. Absence makes no deprecation claim.","schema":{"type":"string"}},"Link":{"description":"When deprecation applies, links to the deprecation notice with rel=deprecation; other link relations may also be sent.","schema":{"type":"string"}},"RateLimit":{"description":"draft-ietf-httpapi-ratelimit-headers-07 section 3.1 structured dictionary, for example `limit=100, remaining=41, reset=19`. Remaining is the admitted decision's headroom; reset is whole seconds until quota next becomes available, not an epoch or a promise of a full burst refill. On a limiter's 429 remaining is 0 and reset equals Retry-After. Accepted key, route and per-address policies are compared by lowest remaining, then longest reset. A venue refusal without a known quota makes no rate-limit header claim.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"draft-ietf-httpapi-ratelimit-headers-07 section 3.5: quota and window in seconds, for example `100;w=60`. Sent on every status when a finite limiter counted the request. The applicable policy closest to exhaustion is reported (section 3.2): lowest remaining, then longest reset. On a limiter's 429 this is exactly the policy that refused; if a venue discloses no quota, the headers are absent.","schema":{"type":"string"}},"Sunset":{"description":"Present when retirement is scheduled: the HTTP-date after which this version may stop being served (RFC 8594).","schema":{"type":"string"}},"x-request-id":{"description":"The request's id: the caller's valid `X-Request-Id`, or a generated UUID v4. Quote it when asking for support.","schema":{"type":"string"}}},"exampleType":"generated"},"4897b8f9-9e8e-4dd8-8b00-d98223809ae4":{"content":{"application/json":{"schema":{"description":"The shared refusal body of every integrator operation, including edge-layer errors.\n`error` is an open, stable machine-readable code; `docUrl` links to its documentation and\n`retryable` says whether an unchanged request may succeed later. `message` is for people,\nnot matching. `timestamp` is RFC 3339 UTC; optional `requestId` mirrors `X-Request-Id`.\nOptional `next` describes recovery and `details` carries code-specific information.\nHandle known codes and fall back on the HTTP status for unknown ones.","properties":{"docUrl":{"description":"Stable documentation for this refusal code.","type":"string","isRequired":true,"uniqueKey":"docUrl","typeLabel":"string"},"error":{"description":"The machine-readable code, for example `QUOTE_EXPIRED`.","type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"description":"What happened, in words a person can read. Not for matching.","type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"retryable":{"description":"Whether an unchanged request may succeed later, from the error catalogue.","type":"boolean","isRequired":true,"uniqueKey":"retryable","typeLabel":"boolean"},"timestamp":{"description":"When the refusal was made, as an RFC 3339 UTC timestamp.","format":"date-time","type":"string","isRequired":true,"uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"},"details":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.0","typeLabel":"null"},{"type":"object","description":"The code's detail. Each field is present only on the codes named beside it; other codes may\ncarry further fields, named in camelCase, which a client may ignore.","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"capabilityBlockers":{"oneOf":[{"description":"`CAPABILITY_BLOCKED` and the other capability refusals: what blocks the workspace.","items":{"description":"One reason a capability is blocked, plus the step that unlocks it.","properties":{"code":{"description":"Stable machine-readable blocker codes returned by the capability gate.\n\nNew values may be added; treat unknown values as other.","enum":["WORKSPACE_NOT_FOUND","WORKSPACE_NOT_ACTIVE","WORKSPACE_SUSPENDED","PARENT_WORKSPACE_INACTIVE","INSUFFICIENT_PERMISSION","WORKSPACE_TYPE_UNSUPPORTED","BASE_PROFILE_INCOMPLETE","BASE_PROFILE_UNREADABLE","KYB_NOT_VERIFIED","KYC_NOT_VERIFIED","SANCTIONS_FLAGGED","MEMBER_COMPLIANCE_FROZEN","MEMBER_COMPLIANCE_DENIED","SCREENING_PENDING","SCREENING_UNAVAILABLE","GEO_RESTRICTED","WALLET_NOT_VERIFIED","DIRECT_USER_NOT_FOUND","DIRECT_USER_SUSPENDED","DIRECT_USER_KYC_NOT_VERIFIED","INSUFFICIENT_SCOPE","TREASURY_DISABLED","NO_USABLE_CREDENTIAL","CROSS_OWNER_WRITE_DENIED","AGGREGATE_SCOPE_READ_ONLY","OWNER_SCOPE_REQUIRED","VENUE_OPERATION_UNSUPPORTED","TAKER_ONBOARDING_INCOMPLETE","TAKER_ADMISSION_UNAVAILABLE"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].code","typeLabel":"enum\u003cstring>"},"estimate":{"description":"Coarse time-to-unlock class. The UI owns the copy; figures are engineering\nestimates until the KYB queue and Sumsub webhooks supply measured values.\n\nNew values may be added; treat unknown values as other.","enum":["minutes","formsThenReview","adminAction","otherParty","unknown","notUnlockable"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].estimate","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].message","typeLabel":"string"},"unlockStep":{"description":"Stable key of the step that unlocks this blocker. The UI maps it to a\nroute or dialog.","enum":["finishOnboarding","companyDetails","kybProfile","kycDialog","linkWallet","askAdmin","contactBroker","manageDirectUsers","manageApiKey","connectCustodian","switchAccountScope","contactSupport","awaitScreening","none"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].unlockStep","typeLabel":"enum\u003cstring>"},"currentlyDue":{"description":"Requirement keys still due, such as `kyb_review`, `actor_kyc` or\n`permission:place_order`. Empty when nothing specific is due.","items":{"type":"string","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].currentlyDue.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].currentlyDue","typeLabel":"string[]"}},"required":["code","message","unlockStep","estimate"],"type":"object","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0","typeLabel":"object[]"},{"description":"`CAPABILITY_BLOCKED` and the other capability refusals: what blocks the workspace.","items":{"description":"One reason a capability is blocked, plus the step that unlocks it.","properties":{"code":{"description":"Stable machine-readable blocker codes returned by the capability gate.\n\nNew values may be added; treat unknown values as other.","enum":["WORKSPACE_NOT_FOUND","WORKSPACE_NOT_ACTIVE","WORKSPACE_SUSPENDED","PARENT_WORKSPACE_INACTIVE","INSUFFICIENT_PERMISSION","WORKSPACE_TYPE_UNSUPPORTED","BASE_PROFILE_INCOMPLETE","BASE_PROFILE_UNREADABLE","KYB_NOT_VERIFIED","KYC_NOT_VERIFIED","SANCTIONS_FLAGGED","MEMBER_COMPLIANCE_FROZEN","MEMBER_COMPLIANCE_DENIED","SCREENING_PENDING","SCREENING_UNAVAILABLE","GEO_RESTRICTED","WALLET_NOT_VERIFIED","DIRECT_USER_NOT_FOUND","DIRECT_USER_SUSPENDED","DIRECT_USER_KYC_NOT_VERIFIED","INSUFFICIENT_SCOPE","TREASURY_DISABLED","NO_USABLE_CREDENTIAL","CROSS_OWNER_WRITE_DENIED","AGGREGATE_SCOPE_READ_ONLY","OWNER_SCOPE_REQUIRED","VENUE_OPERATION_UNSUPPORTED","TAKER_ONBOARDING_INCOMPLETE","TAKER_ADMISSION_UNAVAILABLE"],"type":"string","x-extensible-enum":true},"currentlyDue":{"description":"Requirement keys still due, such as `kyb_review`, `actor_kyc` or\n`permission:place_order`. Empty when nothing specific is due.","items":{"type":"string"},"type":"array"},"estimate":{"description":"Coarse time-to-unlock class. The UI owns the copy; figures are engineering\nestimates until the KYB queue and Sumsub webhooks supply measured values.\n\nNew values may be added; treat unknown values as other.","enum":["minutes","formsThenReview","adminAction","otherParty","unknown","notUnlockable"],"type":"string","x-extensible-enum":true},"message":{"type":"string"},"unlockStep":{"description":"Stable key of the step that unlocks this blocker. The UI maps it to a\nroute or dialog.","enum":["finishOnboarding","companyDetails","kybProfile","kycDialog","linkWallet","askAdmin","contactBroker","manageDirectUsers","manageApiKey","connectCustodian","switchAccountScope","contactSupport","awaitScreening","none"],"type":"string","x-extensible-enum":true}},"required":["code","message","unlockStep","estimate"],"type":"object"},"type":"null","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.capabilityBlockers","typeLabel":"object[] | null"},"conflicts":{"oneOf":[{"description":"`REQUOTE_FIELDS_CONFLICT`: the fields that cannot go with `requote`.","items":{"type":"string","uniqueKey":"details.oneOf.1.conflicts.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"details.oneOf.1.conflicts.oneOf.0","typeLabel":"string[]"},{"description":"`REQUOTE_FIELDS_CONFLICT`: the fields that cannot go with `requote`.","items":{"type":"string"},"type":"null","uniqueKey":"details.oneOf.1.conflicts.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.conflicts","typeLabel":"string[] | null"},"consentedWindow":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.0","typeLabel":"null"},{"type":"object","description":"`SETTLEMENT_WINDOW_CHANGED`: the settlement window the order consented to (the quoted\nwindow, or the one its `settlementWindowId` named), which is no longer the one assigned.","required":["windowId","scheduleId","scheduleVersion","scheduleLabel","cadence","snapshotAt"],"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"cadence":{"oneOf":[{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.dayBasis","typeLabel":"enum\u003cstring>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["intraday"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"everyHours":{"oneOf":[{"format":"int32","minimum":0,"type":"integer","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.everyHours.oneOf.0","typeLabel":"integer\u003cint32>"},{"format":"int32","minimum":0,"type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.everyHours.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.everyHours","typeLabel":"integer\u003cint32> | null"},"localTimes":{"oneOf":[{"items":{"type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.0","typeLabel":"string[]"},{"items":{"type":"string"},"type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.localTimes","typeLabel":"string[] | null"}},"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0","typeLabel":"object"},{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["days","dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.1.dayBasis","typeLabel":"enum\u003cstring>"},"days":{"format":"int32","minimum":0,"type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.1.days","typeLabel":"integer\u003cint32>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["daily"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.1.kind","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.1","typeLabel":"object"},{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["days","dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.2.dayBasis","typeLabel":"enum\u003cstring>"},"days":{"format":"int32","minimum":0,"type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.2.days","typeLabel":"integer\u003cint32>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["multiDay"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.2.kind","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.2","typeLabel":"object"}],"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence","typeLabel":"object"},"scheduleId":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.scheduleId","typeLabel":"string"},"scheduleLabel":{"description":"The published schedule version's display name (e.g. \"EU\"), so a quote card or Review\nnames the window without a settlement read permission.","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.scheduleLabel","typeLabel":"string"},"scheduleVersion":{"format":"int64","type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.scheduleVersion","typeLabel":"integer\u003cint64>"},"snapshotAt":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.snapshotAt","typeLabel":"string\u003cdate-time>"},"windowId":{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.windowId","typeLabel":"string\u003cuuid>"},"assumedBoundary":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.0","typeLabel":"null"},{"type":"object","description":"Present when the window's boundary comes from an assumed schedule term rather than the\nLP's confirmation: every surface shows the window as assumed until the LP confirms it.","required":["timeZone","source","lpName"],"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"lpName":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.1.lpName","typeLabel":"string"},"source":{"description":"Where the assumed boundary came from, as recorded in the settlement schedule; free text.","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.1.source","typeLabel":"string"},"timeZone":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.1.timeZone","typeLabel":"string"}},"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.1","typeLabel":"object"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary","typeLabel":"null | object"},"cutoffAt":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cutoffAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cutoffAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cutoffAt","typeLabel":"string\u003cdate-time> | null"},"paymentDeadlineAt":{"oneOf":[{"description":"The occurrence's payment deadline from its schedule terms: what a credit trade's debt is\npaid by. Absent while the schedule has not confirmed it; never derived from `settlesBy`.","format":"date-time","type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.paymentDeadlineAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"description":"The occurrence's payment deadline from its schedule terms: what a credit trade's debt is\npaid by. Absent while the schedule has not confirmed it; never derived from `settlesBy`.","format":"date-time","type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.paymentDeadlineAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.paymentDeadlineAt","typeLabel":"string\u003cdate-time> | null"},"settlementBasis":{"description":"What completes a window's settlement. `clock`: the occurrence's confirmed completion time\n(`settlesBy`). `onAgreement`: the LP issues the window's statement and the trade settles\nonce that statement is agreed (Keyrock), so the window states no clock time.\n\nNew values may be added; treat unknown values as other.","enum":["clock","onAgreement"],"type":"string","x-extensible-enum":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.settlementBasis","typeLabel":"enum\u003cstring>"},"settlesBy":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.settlesBy.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.settlesBy.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.settlesBy","typeLabel":"string\u003cdate-time> | null"},"statementIssuer":{"oneOf":[{"description":"The LP whose statement settles an `onAgreement` window (\"Keyrock\"); absent on a clock window.","type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.statementIssuer.oneOf.0","typeLabel":"string"},{"description":"The LP whose statement settles an `onAgreement` window (\"Keyrock\"); absent on a clock window.","type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.statementIssuer.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.statementIssuer","typeLabel":"string | null"}},"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1","typeLabel":"object"}],"uniqueKey":"details.oneOf.1.consentedWindow","typeLabel":"null | object"},"currentWindow":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.currentWindow.oneOf.0","typeLabel":"null"},{"type":"object","description":"`SETTLEMENT_WINDOW_CHANGED`: the settlement window the server assigns the trade now.\nSend the same quote again with `settlementWindowId` set to `details.currentWindow.windowId`\nto consent to it.","required":["windowId","scheduleId","scheduleVersion","scheduleLabel","cadence","snapshotAt"],"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"cadence":{"oneOf":[{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.dayBasis","typeLabel":"enum\u003cstring>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["intraday"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"everyHours":{"oneOf":[{"format":"int32","minimum":0,"type":"integer","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.everyHours.oneOf.0","typeLabel":"integer\u003cint32>"},{"format":"int32","minimum":0,"type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.everyHours.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.everyHours","typeLabel":"integer\u003cint32> | null"},"localTimes":{"oneOf":[{"items":{"type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.0","typeLabel":"string[]"},{"items":{"type":"string"},"type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.localTimes","typeLabel":"string[] | null"}},"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0","typeLabel":"object"},{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["days","dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.1.dayBasis","typeLabel":"enum\u003cstring>"},"days":{"format":"int32","minimum":0,"type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.1.days","typeLabel":"integer\u003cint32>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["daily"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.1.kind","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.1","typeLabel":"object"},{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["days","dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.2.dayBasis","typeLabel":"enum\u003cstring>"},"days":{"format":"int32","minimum":0,"type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.2.days","typeLabel":"integer\u003cint32>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["multiDay"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.2.kind","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.2","typeLabel":"object"}],"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence","typeLabel":"object"},"scheduleId":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.scheduleId","typeLabel":"string"},"scheduleLabel":{"description":"The published schedule version's display name (e.g. \"EU\"), so a quote card or Review\nnames the window without a settlement read permission.","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.scheduleLabel","typeLabel":"string"},"scheduleVersion":{"format":"int64","type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.scheduleVersion","typeLabel":"integer\u003cint64>"},"snapshotAt":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.snapshotAt","typeLabel":"string\u003cdate-time>"},"windowId":{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.windowId","typeLabel":"string\u003cuuid>"},"assumedBoundary":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.0","typeLabel":"null"},{"type":"object","description":"Present when the window's boundary comes from an assumed schedule term rather than the\nLP's confirmation: every surface shows the window as assumed until the LP confirms it.","required":["timeZone","source","lpName"],"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"lpName":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.1.lpName","typeLabel":"string"},"source":{"description":"Where the assumed boundary came from, as recorded in the settlement schedule; free text.","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.1.source","typeLabel":"string"},"timeZone":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.1.timeZone","typeLabel":"string"}},"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.1","typeLabel":"object"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary","typeLabel":"null | object"},"cutoffAt":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cutoffAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cutoffAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cutoffAt","typeLabel":"string\u003cdate-time> | null"},"paymentDeadlineAt":{"oneOf":[{"description":"The occurrence's payment deadline from its schedule terms: what a credit trade's debt is\npaid by. Absent while the schedule has not confirmed it; never derived from `settlesBy`.","format":"date-time","type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.paymentDeadlineAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"description":"The occurrence's payment deadline from its schedule terms: what a credit trade's debt is\npaid by. Absent while the schedule has not confirmed it; never derived from `settlesBy`.","format":"date-time","type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.paymentDeadlineAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.paymentDeadlineAt","typeLabel":"string\u003cdate-time> | null"},"settlementBasis":{"description":"What completes a window's settlement. `clock`: the occurrence's confirmed completion time\n(`settlesBy`). `onAgreement`: the LP issues the window's statement and the trade settles\nonce that statement is agreed (Keyrock), so the window states no clock time.\n\nNew values may be added; treat unknown values as other.","enum":["clock","onAgreement"],"type":"string","x-extensible-enum":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.settlementBasis","typeLabel":"enum\u003cstring>"},"settlesBy":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.settlesBy.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.settlesBy.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.settlesBy","typeLabel":"string\u003cdate-time> | null"},"statementIssuer":{"oneOf":[{"description":"The LP whose statement settles an `onAgreement` window (\"Keyrock\"); absent on a clock window.","type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.statementIssuer.oneOf.0","typeLabel":"string"},{"description":"The LP whose statement settles an `onAgreement` window (\"Keyrock\"); absent on a clock window.","type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.statementIssuer.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.statementIssuer","typeLabel":"string | null"}},"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1","typeLabel":"object"}],"uniqueKey":"details.oneOf.1.currentWindow","typeLabel":"null | object"},"field":{"oneOf":[{"description":"`INVALID_REQUEST`: the path of a missing required, unknown, mistyped or out-of-range\nfield (for example `buy` or `sell.asset`), never the parser's message or input value.","type":"string","uniqueKey":"details.oneOf.1.field.oneOf.0","typeLabel":"string"},{"description":"`INVALID_REQUEST`: the path of a missing required, unknown, mistyped or out-of-range\nfield (for example `buy` or `sell.asset`), never the parser's message or input value.","type":"null","uniqueKey":"details.oneOf.1.field.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.field","typeLabel":"string | null"},"reason":{"oneOf":[{"type":"string","description":"A machine-readable reason token the refusing step gave.\n\nKnown source reason tokens (not all apply to every status): `clockUnavailable`, `assetUnsupported`, `referenceUndeclarable`, `referenceNotAdmitted`, `referenceStale`, `referenceDepth`, `marketDataUnavailable`, `calibrationUnavailable`, `livePriceUnavailable`, `lpQuoteUnavailable`, `platformJurisdictionCountryRequired`, `platformJurisdictionUnavailable`, `platformJurisdictionBlocked`, `venueJurisdictionExcluded`, `workspaceJurisdictionRequired`, `jurisdictionRegionRequired`, `jurisdictionUnavailable`, `venueKeyRefusedLikelyIpAllowlist`, `venueWithdrawalDestinationNotWhitelisted`, `adapterPayloadSerializationFailed`, `basicVenueAccountsUnavailable`, `billingPaymentOverdue`, `walletNotOnChain`, `ccxtVenueRequiresCexLane`, `executionStageDisabled`, `jurisdictionUnproven`, `onboardedVenuesUnavailable`, `onchainAccountDefaultWalletRequired`, `onchainAccountDefaultWalletUnavailable`, `onchainAccountWalletRequired`, `onchainAssetDecimalsMismatch`, `onchainAssetIdentityMismatch`, `onchainAssetUnmapped`, `onchainAssetVariantFiltered`, `onchainWalletUnavailable`, `onchainCatalogueUnavailable`, `onchainDeliverToNotReceivingWallet`, `onchainDeliverToUnverified`, `onchainMarketsUnavailable`, `onchainMarketCatalogUnreadable`, `onchainMarketChainRequired`, `onchainMarketVariantRequired`, `onchainMarketTokenRequired`, `onchainSiteChainUnreadable`, `onchainWalletChainUnreadable`, `onchainWalletInactive`, `onchainWalletNotLinked`, `onchainWalletNotUsable`, `onchainWalletPickAmbiguous`, `onchainWalletWrongNetwork`, `signerLacksRight`, `signerUnavailable`, `signingGrantAmbiguous`, `signingGrantExpired`, `nativeGrantExpiryReapprovalRequired`, `nativeBalanceUnavailable`, `solanaFinalityUnavailable`, `tronSolidBlockUnavailable`, `signingGrantPolicyUnreadable`, `signingGrantPolicyChecking`, `signingGrantRequired`, `signingGrantTokenNotKept`, `signingGrantTokenNotPayable`, `solverChainUnready`, `walletChainMismatch`, `walletNotUsableByYou`, `walletNotVerifiedForAce`, `walletNotWhitelisted`, `withdrawalChainUnsupported`, `accountFeeUnavailable`, `comparisonCostsUnavailable`, `connectionListingUnavailable`, `feeUnverified`, `noPool`, `noPrice`, `noSize`, `notFilled`, `notYetPublished`, `priceArithmetic`, `priceSourceNone`, `referenceMidUnavailable`, `settlementPrecisionUnavailable`, `accountSetupIncomplete`, `admissionUnavailable`, `advancedAccountEligibilityUnavailable`, `advancedAccountStateInconsistent`, `advancedConnectionDisabled`, `advancedConnectionNotConfigured`, `advancedConnectionPaused`, `advancedSettlementNeedsVerification`, `advancedModeDisabled`, `advancedNotAvailableForAccount`, `advancedNotEnabledForAccount`, `allowanceUnavailable`, `acrossCapacityExceeded`, `relayCapacityExceeded`, `acrossChainNotCarried`, `cctpChainNotCarried`, `cctpWalletRequired`, `acrossWalletRequired`, `walletBrowserSigningEvmOnly`, `relayChainNotCarried`, `apiKeyAdvancedWalletUnsupported`, `apiKeyOrganisationWalletScopeRequired`, `grantCapExceeded`, `amountAboveMaximum`, `amountBelowMinimum`, `belowVenueMinimum`, `amountUnreadable`, `amountsUnreadable`, `askFirst`, `authorityUnavailable`, `automationNeverAsks`, `availabilityUnreadable`, `backgroundNeverAsks`, `balanceUnreadable`, `defaultsUnavailable`, `walletHasNoAddress`, `walletUnavailable`, `bondAmountUnreadable`, `bondAssetUnreadable`, `catalogueUnavailable`, `chainFamilyUnknown`, `chainUnrecorded`, `clientSessionRequired`, `clockUnreadable`, `comingSoon`, `connectionChanged`, `connectionRevoked`, `corridorInvalid`, `credential`, `deadlineExceeded`, `defaultsLoading`, `deliverToCalldataUnsupported`, `deliverToTagUnsupported`, `deliverToNotPermitted`, `deliverToUnreadable`, `tradingPermissionRequired`, `directPatienceHarvest`, `economicallyInferior`, `exactAmountConflictsWithCard`, `exactAmountConflictsWithQuote`, `exactOutputDeliveryUnsupported`, `exactOutputEstimateUnavailable`, `exactRouteHypothesisUnavailable`, `expiredOnArrival`, `expiryUnknown`, `feeUnreadable`, `filteredOut`, `firmAskRefused`, `firmAskFundsTimedOut`, `firmAskPreparationTimedOut`, `quotePreparationFailed`, `firmAskAdmissionTimedOut`, `seliniFirmAskMarketsTimedOut`, `seliniFirmAskHandoffTimedOut`, `seliniFirmAskBeforePostTimedOut`, `seliniFirmAskValidationTimedOut`, `seliniFirmAskResponseTimedOut`, `seliniFirmAskTransportFailure`, `rfqQuoteRefusedQuoteNotAvailable`, `rfqQuoteRefusedQuotingDisabled`, `rfqQuoteRefusedClientRfqNotConfigured`, `rfqQuoteRefusedClientProfileNotLoaded`, `rfqQuoteRefusedMarketDisabled`, `rfqQuoteRefusedInvalidQuantity`, `rfqQuoteRefusedInvalidSide`, `rfqQuoteRefusedInvalidCurrency`, `rfqQuoteRefusedPricePrecisionError`, `rfqQuoteRefusedRfqError`, `rfqQuoteRefused`, `venueOutcomeIndeterminate`, `venueBodyUnreadable`, `venueResponseUnmapped`, `venueRateLimited`, `venueQuoteAdmissionExpired`, `placementSignedPastDeadline`, `quoteIdentityConflict`, `symbolUnsupported`, `marketSymbolAmbiguous`, `firmAskPrincipalRequired`, `indicativeRequested`, `freshnessUnknown`, `fundingWindow`, `insufficientLiquidity`, `venueRelationship`, `venueRelationshipUnavailable`, `lpUnknown`, `mfaEnrolmentRequired`, `mfaRequired`, `minimumUnverified`, `mixedNetworks`, `netReceivedUnavailable`, `networkUnrecorded`, `noAddress`, `noCard`, `noFetcher`, `noInventory`, `noLaneForPair`, `noLegs`, `noOnChainCorridor`, `noPlannedVenue`, `noQuote`, `noRpc`, `notConnected`, `notEligible`, `notExecutable`, `orderPayloadMissing`, `outsideTopComposites`, `pairUnmapped`, `sellChainInvalid`, `permissionsUnreadable`, `placeOrderNotPermitted`, `prefundingMarkerUnreadable`, `prefundingRequired`, `indicative`, `priceOnRequest`, `priceOutOfRange`, `priceProtectionInvalid`, `pricingBookOnly`, `productNotQuoted`, `protocolChainMissing`, `providerFeeTreatmentUnknown`, `providerSiteUnrecorded`, `quoteIdUnissuable`, `quoteNotHeld`, `buyChainInvalid`, `buyAmountUnsupported`, `exactOutputDebitUnavailable`, `pairNotServed`, `accountFundingReadUnverified`, `quoteReconfirmationRequired`, `quoteRejected`, `keyrockSecurityCatalogueUnavailable`, `venueAnsweredAfterQuoteWindow`, `venueQuoteIntentMismatch`, `payExactUnsupported`, `receiveWalletNotServed`, `referenceMidUnreadable`, `referencePriceUnavailable`, `registryUnavailable`, `releaseRecheckUnavailable`, `requestUnbuildable`, `routeLegChainUnknown`, `routeLegUnnamed`, `routeLegUnplanned`, `routeUnavailable`, `secondFactorUnreadable`, `shortfallUnmeasured`, `shortfallUnreadable`, `singleChainVenue`, `siteChainUnreadable`, `sizeNotEligible`, `submitOrderBlocked`, `takerOnboardingIncomplete`, `tierNotQuoted`, `tradePaused`, `venueConnectionStorageUnavailable`, `venueDataStale`, `venueDeclined`, `venueNotConnected`, `venueNotEnabledForWorkspace`, `venueNotListed`, `venueTradeKeyUnavailable`, `venueTradeScopeRequired`, `venueTradeUnreadable`, `venueUnavailable`, `walletRefused`, `withdrawalFeeUnread`, `acrossRoutedViaCctp`, `apiKeyOrganisationWalletNotAllowlisted`, `balanceAvailabilityUnconfirmed`, `bankDestinationUnavailable`, `bebopJamKeyNotEnabled`, `bebopJamQuoteDeclined`, `bebopTokenUnavailable`, `relayCurrencyUnsupported`, `relaySwapImpactTooHigh`, `tetrafiSolverCallbackNotAuthorized`, `tradingLinkSnapshotChanged`, `tradingLinkSnapshotUnavailable`, `uniswapChainReadUnavailable`, `uniswapInsufficientDepth`, `uniswapQuoteUnreadable`, `uniswapUnwrapAboveDailyCap`, `uniswapUnwrapAboveTradeCap`, `uniswapRouteNotGranted`, `venueNotEnabled`, `askLimitReached`, `balanceMeaningUnconfirmed`, `bebopQuorumWalletTooSlow`, `bebopWalletQuorumUnreadable`, `bebopBrowserWalletUnsupported`, `connectionNotConfigured`, `deliveryAccountNetworkUnavailable`, `deliveryAccountUnavailable`, `destinationCannotSendOnChain`, `dexReferencePriceUnavailable`, `firmQuoteLimited`, `fundingAccountNetworkUnavailable`, `fundingAccountUnavailable`, `insufficientDepth`, `missingPermission`, `needsNativeGas`, `needsWallet`, `notPriced`, `payInTermsUnavailable`, `pilotTradeCapExceeded`, `pilotMinimumAboveTradeCap`, `platformFeeRateUnavailable`, `pricingBookPairUnserved`, `settlementDeclarationUnavailable`, `settlementNotAvailable`, `timedOut`, `timedOutBeforeSend`, `tradingSourceNetworkUnavailable`, `tradingSourceNotLinked`, `venueEnablementRechecking`, `venueEnablementUnavailable`, `venueListingTimedOut`, `venuePoliciesUnavailable`, `multiliquidPaused`, `multiliquidAssetNotAccepted`, `walletNotAllowlistedForAsset`, `walletBlacklisted`, `multiliquidPriceInvalid`, `multiliquidStablePriceOutOfBand`, `multiliquidInsufficientLiquidity`, `multiliquidProviderPrefundUnavailable`, `multiliquidDailyLimitReached`, `eligibilityUnverifiable`, `multiliquidInsufficientBalance`, `multiliquidWalletFundsInsufficient`, `multiliquidInsufficientAllowance`, `walletTokenAccountFrozen`, `multiliquidAmountInTooHigh`, `multiliquidAmountOutTooLow`, `multiliquidInsufficientLpFeeBalance`, `multiliquidTransferFeeNotSupported`, `multiliquidParticipantUnavailable`, `multiliquidChainNotSupported`, `multiliquidObservationWalletUnavailable`, `privyMultiliquidArrayPinsUnsupported`, `cctpDestinationNotGranted`, `signingGrantNativeOnly`, `quoteRejectedInsufficientBalance`, `walletGateUnreadable`, `policyBlocked`, `treasuryPolicyApprovalRequired`, `destinationTagRequired`, `destinationTagMismatch`, `destinationTagInvalid`, `acrossBasicLaneNotEnabled`, `creditReadUnavailable`, `exactOutputFirmAskUnsupported`, `grantEndsBeforeVenueFunding`, `jurisdictionNotServed`, `pairUnsupported`, `requesterJurisdictionUnknown`, `venueAccountHasNoKey`, `venueAssessmentRequired`, `venueConnectionInvalid`, `venueReenableRequiresNewCredentials`, `venueTradingPaused`, `balanceNotObserved`, `notPermitted`, `balanceNotPermitted`, `gasUnchecked`, `catalogueWaitStateUnavailable`, `cctpRouteUpgrading`, `creditOnly`, `dexReferencePriceMissing`, `quoteAuthorityUnavailable`, `venueRoutingOff`, `venueRoutingStateUnavailable`, `indicativeUnavailable`, `marketUnavailable`, `noReferenceMid`, `observationBindingUnavailable`, `quoteIdUnavailable`, `stalePrice`.\n\nNew values may be added; treat unknown values as other.","enum":["clockUnavailable","assetUnsupported","referenceUndeclarable","referenceNotAdmitted","referenceStale","referenceDepth","marketDataUnavailable","calibrationUnavailable","livePriceUnavailable","lpQuoteUnavailable","platformJurisdictionCountryRequired","platformJurisdictionUnavailable","platformJurisdictionBlocked","venueJurisdictionExcluded","workspaceJurisdictionRequired","jurisdictionRegionRequired","jurisdictionUnavailable","venueKeyRefusedLikelyIpAllowlist","venueWithdrawalDestinationNotWhitelisted","adapterPayloadSerializationFailed","basicVenueAccountsUnavailable","billingPaymentOverdue","walletNotOnChain","ccxtVenueRequiresCexLane","executionStageDisabled","jurisdictionUnproven","onboardedVenuesUnavailable","onchainAccountDefaultWalletRequired","onchainAccountDefaultWalletUnavailable","onchainAccountWalletRequired","onchainAssetDecimalsMismatch","onchainAssetIdentityMismatch","onchainAssetUnmapped","onchainAssetVariantFiltered","onchainWalletUnavailable","onchainCatalogueUnavailable","onchainDeliverToNotReceivingWallet","onchainDeliverToUnverified","onchainMarketsUnavailable","onchainMarketCatalogUnreadable","onchainMarketChainRequired","onchainMarketVariantRequired","onchainMarketTokenRequired","onchainSiteChainUnreadable","onchainWalletChainUnreadable","onchainWalletInactive","onchainWalletNotLinked","onchainWalletNotUsable","onchainWalletPickAmbiguous","onchainWalletWrongNetwork","signerLacksRight","signerUnavailable","signingGrantAmbiguous","signingGrantExpired","nativeGrantExpiryReapprovalRequired","nativeBalanceUnavailable","solanaFinalityUnavailable","tronSolidBlockUnavailable","signingGrantPolicyUnreadable","signingGrantPolicyChecking","signingGrantRequired","signingGrantTokenNotKept","signingGrantTokenNotPayable","solverChainUnready","walletChainMismatch","walletNotUsableByYou","walletNotVerifiedForAce","walletNotWhitelisted","withdrawalChainUnsupported","accountFeeUnavailable","comparisonCostsUnavailable","connectionListingUnavailable","feeUnverified","noPool","noPrice","noSize","notFilled","notYetPublished","priceArithmetic","priceSourceNone","referenceMidUnavailable","settlementPrecisionUnavailable","accountSetupIncomplete","admissionUnavailable","advancedAccountEligibilityUnavailable","advancedAccountStateInconsistent","advancedConnectionDisabled","advancedConnectionNotConfigured","advancedConnectionPaused","advancedSettlementNeedsVerification","advancedModeDisabled","advancedNotAvailableForAccount","advancedNotEnabledForAccount","allowanceUnavailable","acrossCapacityExceeded","relayCapacityExceeded","acrossChainNotCarried","cctpChainNotCarried","cctpWalletRequired","acrossWalletRequired","walletBrowserSigningEvmOnly","relayChainNotCarried","apiKeyAdvancedWalletUnsupported","apiKeyOrganisationWalletScopeRequired","grantCapExceeded","amountAboveMaximum","amountBelowMinimum","belowVenueMinimum","amountUnreadable","amountsUnreadable","askFirst","authorityUnavailable","automationNeverAsks","availabilityUnreadable","backgroundNeverAsks","balanceUnreadable","defaultsUnavailable","walletHasNoAddress","walletUnavailable","bondAmountUnreadable","bondAssetUnreadable","catalogueUnavailable","chainFamilyUnknown","chainUnrecorded","clientSessionRequired","clockUnreadable","comingSoon","connectionChanged","connectionRevoked","corridorInvalid","credential","deadlineExceeded","defaultsLoading","deliverToCalldataUnsupported","deliverToTagUnsupported","deliverToNotPermitted","deliverToUnreadable","tradingPermissionRequired","directPatienceHarvest","economicallyInferior","exactAmountConflictsWithCard","exactAmountConflictsWithQuote","exactOutputDeliveryUnsupported","exactOutputEstimateUnavailable","exactRouteHypothesisUnavailable","expiredOnArrival","expiryUnknown","feeUnreadable","filteredOut","firmAskRefused","firmAskFundsTimedOut","firmAskPreparationTimedOut","quotePreparationFailed","firmAskAdmissionTimedOut","seliniFirmAskMarketsTimedOut","seliniFirmAskHandoffTimedOut","seliniFirmAskBeforePostTimedOut","seliniFirmAskValidationTimedOut","seliniFirmAskResponseTimedOut","seliniFirmAskTransportFailure","rfqQuoteRefusedQuoteNotAvailable","rfqQuoteRefusedQuotingDisabled","rfqQuoteRefusedClientRfqNotConfigured","rfqQuoteRefusedClientProfileNotLoaded","rfqQuoteRefusedMarketDisabled","rfqQuoteRefusedInvalidQuantity","rfqQuoteRefusedInvalidSide","rfqQuoteRefusedInvalidCurrency","rfqQuoteRefusedPricePrecisionError","rfqQuoteRefusedRfqError","rfqQuoteRefused","venueOutcomeIndeterminate","venueBodyUnreadable","venueResponseUnmapped","venueRateLimited","venueQuoteAdmissionExpired","placementSignedPastDeadline","quoteIdentityConflict","symbolUnsupported","marketSymbolAmbiguous","firmAskPrincipalRequired","indicativeRequested","freshnessUnknown","fundingWindow","insufficientLiquidity","venueRelationship","venueRelationshipUnavailable","lpUnknown","mfaEnrolmentRequired","mfaRequired","minimumUnverified","mixedNetworks","netReceivedUnavailable","networkUnrecorded","noAddress","noCard","noFetcher","noInventory","noLaneForPair","noLegs","noOnChainCorridor","noPlannedVenue","noQuote","noRpc","notConnected","notEligible","notExecutable","orderPayloadMissing","outsideTopComposites","pairUnmapped","sellChainInvalid","permissionsUnreadable","placeOrderNotPermitted","prefundingMarkerUnreadable","prefundingRequired","indicative","priceOnRequest","priceOutOfRange","priceProtectionInvalid","pricingBookOnly","productNotQuoted","protocolChainMissing","providerFeeTreatmentUnknown","providerSiteUnrecorded","quoteIdUnissuable","quoteNotHeld","buyChainInvalid","buyAmountUnsupported","exactOutputDebitUnavailable","pairNotServed","accountFundingReadUnverified","quoteReconfirmationRequired","quoteRejected","keyrockSecurityCatalogueUnavailable","venueAnsweredAfterQuoteWindow","venueQuoteIntentMismatch","payExactUnsupported","receiveWalletNotServed","referenceMidUnreadable","referencePriceUnavailable","registryUnavailable","releaseRecheckUnavailable","requestUnbuildable","routeLegChainUnknown","routeLegUnnamed","routeLegUnplanned","routeUnavailable","secondFactorUnreadable","shortfallUnmeasured","shortfallUnreadable","singleChainVenue","siteChainUnreadable","sizeNotEligible","submitOrderBlocked","takerOnboardingIncomplete","tierNotQuoted","tradePaused","venueConnectionStorageUnavailable","venueDataStale","venueDeclined","venueNotConnected","venueNotEnabledForWorkspace","venueNotListed","venueTradeKeyUnavailable","venueTradeScopeRequired","venueTradeUnreadable","venueUnavailable","walletRefused","withdrawalFeeUnread","acrossRoutedViaCctp","apiKeyOrganisationWalletNotAllowlisted","balanceAvailabilityUnconfirmed","bankDestinationUnavailable","bebopJamKeyNotEnabled","bebopJamQuoteDeclined","bebopTokenUnavailable","relayCurrencyUnsupported","relaySwapImpactTooHigh","tetrafiSolverCallbackNotAuthorized","tradingLinkSnapshotChanged","tradingLinkSnapshotUnavailable","uniswapChainReadUnavailable","uniswapInsufficientDepth","uniswapQuoteUnreadable","uniswapUnwrapAboveDailyCap","uniswapUnwrapAboveTradeCap","uniswapRouteNotGranted","venueNotEnabled","askLimitReached","balanceMeaningUnconfirmed","bebopQuorumWalletTooSlow","bebopWalletQuorumUnreadable","bebopBrowserWalletUnsupported","connectionNotConfigured","deliveryAccountNetworkUnavailable","deliveryAccountUnavailable","destinationCannotSendOnChain","dexReferencePriceUnavailable","firmQuoteLimited","fundingAccountNetworkUnavailable","fundingAccountUnavailable","insufficientDepth","missingPermission","needsNativeGas","needsWallet","notPriced","payInTermsUnavailable","pilotTradeCapExceeded","pilotMinimumAboveTradeCap","platformFeeRateUnavailable","pricingBookPairUnserved","settlementDeclarationUnavailable","settlementNotAvailable","timedOut","timedOutBeforeSend","tradingSourceNetworkUnavailable","tradingSourceNotLinked","venueEnablementRechecking","venueEnablementUnavailable","venueListingTimedOut","venuePoliciesUnavailable","multiliquidPaused","multiliquidAssetNotAccepted","walletNotAllowlistedForAsset","walletBlacklisted","multiliquidPriceInvalid","multiliquidStablePriceOutOfBand","multiliquidInsufficientLiquidity","multiliquidProviderPrefundUnavailable","multiliquidDailyLimitReached","eligibilityUnverifiable","multiliquidInsufficientBalance","multiliquidWalletFundsInsufficient","multiliquidInsufficientAllowance","walletTokenAccountFrozen","multiliquidAmountInTooHigh","multiliquidAmountOutTooLow","multiliquidInsufficientLpFeeBalance","multiliquidTransferFeeNotSupported","multiliquidParticipantUnavailable","multiliquidChainNotSupported","multiliquidObservationWalletUnavailable","privyMultiliquidArrayPinsUnsupported","cctpDestinationNotGranted","signingGrantNativeOnly","quoteRejectedInsufficientBalance","walletGateUnreadable","policyBlocked","treasuryPolicyApprovalRequired","destinationTagRequired","destinationTagMismatch","destinationTagInvalid","acrossBasicLaneNotEnabled","creditReadUnavailable","exactOutputFirmAskUnsupported","grantEndsBeforeVenueFunding","jurisdictionNotServed","pairUnsupported","requesterJurisdictionUnknown","venueAccountHasNoKey","venueAssessmentRequired","venueConnectionInvalid","venueReenableRequiresNewCredentials","venueTradingPaused","balanceNotObserved","notPermitted","balanceNotPermitted","gasUnchecked","catalogueWaitStateUnavailable","cctpRouteUpgrading","creditOnly","dexReferencePriceMissing","quoteAuthorityUnavailable","venueRoutingOff","venueRoutingStateUnavailable","indicativeUnavailable","marketUnavailable","noReferenceMid","observationBindingUnavailable","quoteIdUnavailable","stalePrice"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.reason.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"A machine-readable reason token the refusing step gave.\n\nKnown source reason tokens (not all apply to every status): `clockUnavailable`, `assetUnsupported`, `referenceUndeclarable`, `referenceNotAdmitted`, `referenceStale`, `referenceDepth`, `marketDataUnavailable`, `calibrationUnavailable`, `livePriceUnavailable`, `lpQuoteUnavailable`, `platformJurisdictionCountryRequired`, `platformJurisdictionUnavailable`, `platformJurisdictionBlocked`, `venueJurisdictionExcluded`, `workspaceJurisdictionRequired`, `jurisdictionRegionRequired`, `jurisdictionUnavailable`, `venueKeyRefusedLikelyIpAllowlist`, `venueWithdrawalDestinationNotWhitelisted`, `adapterPayloadSerializationFailed`, `basicVenueAccountsUnavailable`, `billingPaymentOverdue`, `walletNotOnChain`, `ccxtVenueRequiresCexLane`, `executionStageDisabled`, `jurisdictionUnproven`, `onboardedVenuesUnavailable`, `onchainAccountDefaultWalletRequired`, `onchainAccountDefaultWalletUnavailable`, `onchainAccountWalletRequired`, `onchainAssetDecimalsMismatch`, `onchainAssetIdentityMismatch`, `onchainAssetUnmapped`, `onchainAssetVariantFiltered`, `onchainWalletUnavailable`, `onchainCatalogueUnavailable`, `onchainDeliverToNotReceivingWallet`, `onchainDeliverToUnverified`, `onchainMarketsUnavailable`, `onchainMarketCatalogUnreadable`, `onchainMarketChainRequired`, `onchainMarketVariantRequired`, `onchainMarketTokenRequired`, `onchainSiteChainUnreadable`, `onchainWalletChainUnreadable`, `onchainWalletInactive`, `onchainWalletNotLinked`, `onchainWalletNotUsable`, `onchainWalletPickAmbiguous`, `onchainWalletWrongNetwork`, `signerLacksRight`, `signerUnavailable`, `signingGrantAmbiguous`, `signingGrantExpired`, `nativeGrantExpiryReapprovalRequired`, `nativeBalanceUnavailable`, `solanaFinalityUnavailable`, `tronSolidBlockUnavailable`, `signingGrantPolicyUnreadable`, `signingGrantPolicyChecking`, `signingGrantRequired`, `signingGrantTokenNotKept`, `signingGrantTokenNotPayable`, `solverChainUnready`, `walletChainMismatch`, `walletNotUsableByYou`, `walletNotVerifiedForAce`, `walletNotWhitelisted`, `withdrawalChainUnsupported`, `accountFeeUnavailable`, `comparisonCostsUnavailable`, `connectionListingUnavailable`, `feeUnverified`, `noPool`, `noPrice`, `noSize`, `notFilled`, `notYetPublished`, `priceArithmetic`, `priceSourceNone`, `referenceMidUnavailable`, `settlementPrecisionUnavailable`, `accountSetupIncomplete`, `admissionUnavailable`, `advancedAccountEligibilityUnavailable`, `advancedAccountStateInconsistent`, `advancedConnectionDisabled`, `advancedConnectionNotConfigured`, `advancedConnectionPaused`, `advancedSettlementNeedsVerification`, `advancedModeDisabled`, `advancedNotAvailableForAccount`, `advancedNotEnabledForAccount`, `allowanceUnavailable`, `acrossCapacityExceeded`, `relayCapacityExceeded`, `acrossChainNotCarried`, `cctpChainNotCarried`, `cctpWalletRequired`, `acrossWalletRequired`, `walletBrowserSigningEvmOnly`, `relayChainNotCarried`, `apiKeyAdvancedWalletUnsupported`, `apiKeyOrganisationWalletScopeRequired`, `grantCapExceeded`, `amountAboveMaximum`, `amountBelowMinimum`, `belowVenueMinimum`, `amountUnreadable`, `amountsUnreadable`, `askFirst`, `authorityUnavailable`, `automationNeverAsks`, `availabilityUnreadable`, `backgroundNeverAsks`, `balanceUnreadable`, `defaultsUnavailable`, `walletHasNoAddress`, `walletUnavailable`, `bondAmountUnreadable`, `bondAssetUnreadable`, `catalogueUnavailable`, `chainFamilyUnknown`, `chainUnrecorded`, `clientSessionRequired`, `clockUnreadable`, `comingSoon`, `connectionChanged`, `connectionRevoked`, `corridorInvalid`, `credential`, `deadlineExceeded`, `defaultsLoading`, `deliverToCalldataUnsupported`, `deliverToTagUnsupported`, `deliverToNotPermitted`, `deliverToUnreadable`, `tradingPermissionRequired`, `directPatienceHarvest`, `economicallyInferior`, `exactAmountConflictsWithCard`, `exactAmountConflictsWithQuote`, `exactOutputDeliveryUnsupported`, `exactOutputEstimateUnavailable`, `exactRouteHypothesisUnavailable`, `expiredOnArrival`, `expiryUnknown`, `feeUnreadable`, `filteredOut`, `firmAskRefused`, `firmAskFundsTimedOut`, `firmAskPreparationTimedOut`, `quotePreparationFailed`, `firmAskAdmissionTimedOut`, `seliniFirmAskMarketsTimedOut`, `seliniFirmAskHandoffTimedOut`, `seliniFirmAskBeforePostTimedOut`, `seliniFirmAskValidationTimedOut`, `seliniFirmAskResponseTimedOut`, `seliniFirmAskTransportFailure`, `rfqQuoteRefusedQuoteNotAvailable`, `rfqQuoteRefusedQuotingDisabled`, `rfqQuoteRefusedClientRfqNotConfigured`, `rfqQuoteRefusedClientProfileNotLoaded`, `rfqQuoteRefusedMarketDisabled`, `rfqQuoteRefusedInvalidQuantity`, `rfqQuoteRefusedInvalidSide`, `rfqQuoteRefusedInvalidCurrency`, `rfqQuoteRefusedPricePrecisionError`, `rfqQuoteRefusedRfqError`, `rfqQuoteRefused`, `venueOutcomeIndeterminate`, `venueBodyUnreadable`, `venueResponseUnmapped`, `venueRateLimited`, `venueQuoteAdmissionExpired`, `placementSignedPastDeadline`, `quoteIdentityConflict`, `symbolUnsupported`, `marketSymbolAmbiguous`, `firmAskPrincipalRequired`, `indicativeRequested`, `freshnessUnknown`, `fundingWindow`, `insufficientLiquidity`, `venueRelationship`, `venueRelationshipUnavailable`, `lpUnknown`, `mfaEnrolmentRequired`, `mfaRequired`, `minimumUnverified`, `mixedNetworks`, `netReceivedUnavailable`, `networkUnrecorded`, `noAddress`, `noCard`, `noFetcher`, `noInventory`, `noLaneForPair`, `noLegs`, `noOnChainCorridor`, `noPlannedVenue`, `noQuote`, `noRpc`, `notConnected`, `notEligible`, `notExecutable`, `orderPayloadMissing`, `outsideTopComposites`, `pairUnmapped`, `sellChainInvalid`, `permissionsUnreadable`, `placeOrderNotPermitted`, `prefundingMarkerUnreadable`, `prefundingRequired`, `indicative`, `priceOnRequest`, `priceOutOfRange`, `priceProtectionInvalid`, `pricingBookOnly`, `productNotQuoted`, `protocolChainMissing`, `providerFeeTreatmentUnknown`, `providerSiteUnrecorded`, `quoteIdUnissuable`, `quoteNotHeld`, `buyChainInvalid`, `buyAmountUnsupported`, `exactOutputDebitUnavailable`, `pairNotServed`, `accountFundingReadUnverified`, `quoteReconfirmationRequired`, `quoteRejected`, `keyrockSecurityCatalogueUnavailable`, `venueAnsweredAfterQuoteWindow`, `venueQuoteIntentMismatch`, `payExactUnsupported`, `receiveWalletNotServed`, `referenceMidUnreadable`, `referencePriceUnavailable`, `registryUnavailable`, `releaseRecheckUnavailable`, `requestUnbuildable`, `routeLegChainUnknown`, `routeLegUnnamed`, `routeLegUnplanned`, `routeUnavailable`, `secondFactorUnreadable`, `shortfallUnmeasured`, `shortfallUnreadable`, `singleChainVenue`, `siteChainUnreadable`, `sizeNotEligible`, `submitOrderBlocked`, `takerOnboardingIncomplete`, `tierNotQuoted`, `tradePaused`, `venueConnectionStorageUnavailable`, `venueDataStale`, `venueDeclined`, `venueNotConnected`, `venueNotEnabledForWorkspace`, `venueNotListed`, `venueTradeKeyUnavailable`, `venueTradeScopeRequired`, `venueTradeUnreadable`, `venueUnavailable`, `walletRefused`, `withdrawalFeeUnread`, `acrossRoutedViaCctp`, `apiKeyOrganisationWalletNotAllowlisted`, `balanceAvailabilityUnconfirmed`, `bankDestinationUnavailable`, `bebopJamKeyNotEnabled`, `bebopJamQuoteDeclined`, `bebopTokenUnavailable`, `relayCurrencyUnsupported`, `relaySwapImpactTooHigh`, `tetrafiSolverCallbackNotAuthorized`, `tradingLinkSnapshotChanged`, `tradingLinkSnapshotUnavailable`, `uniswapChainReadUnavailable`, `uniswapInsufficientDepth`, `uniswapQuoteUnreadable`, `uniswapUnwrapAboveDailyCap`, `uniswapUnwrapAboveTradeCap`, `uniswapRouteNotGranted`, `venueNotEnabled`, `askLimitReached`, `balanceMeaningUnconfirmed`, `bebopQuorumWalletTooSlow`, `bebopWalletQuorumUnreadable`, `bebopBrowserWalletUnsupported`, `connectionNotConfigured`, `deliveryAccountNetworkUnavailable`, `deliveryAccountUnavailable`, `destinationCannotSendOnChain`, `dexReferencePriceUnavailable`, `firmQuoteLimited`, `fundingAccountNetworkUnavailable`, `fundingAccountUnavailable`, `insufficientDepth`, `missingPermission`, `needsNativeGas`, `needsWallet`, `notPriced`, `payInTermsUnavailable`, `pilotTradeCapExceeded`, `pilotMinimumAboveTradeCap`, `platformFeeRateUnavailable`, `pricingBookPairUnserved`, `settlementDeclarationUnavailable`, `settlementNotAvailable`, `timedOut`, `timedOutBeforeSend`, `tradingSourceNetworkUnavailable`, `tradingSourceNotLinked`, `venueEnablementRechecking`, `venueEnablementUnavailable`, `venueListingTimedOut`, `venuePoliciesUnavailable`, `multiliquidPaused`, `multiliquidAssetNotAccepted`, `walletNotAllowlistedForAsset`, `walletBlacklisted`, `multiliquidPriceInvalid`, `multiliquidStablePriceOutOfBand`, `multiliquidInsufficientLiquidity`, `multiliquidProviderPrefundUnavailable`, `multiliquidDailyLimitReached`, `eligibilityUnverifiable`, `multiliquidInsufficientBalance`, `multiliquidWalletFundsInsufficient`, `multiliquidInsufficientAllowance`, `walletTokenAccountFrozen`, `multiliquidAmountInTooHigh`, `multiliquidAmountOutTooLow`, `multiliquidInsufficientLpFeeBalance`, `multiliquidTransferFeeNotSupported`, `multiliquidParticipantUnavailable`, `multiliquidChainNotSupported`, `multiliquidObservationWalletUnavailable`, `privyMultiliquidArrayPinsUnsupported`, `cctpDestinationNotGranted`, `signingGrantNativeOnly`, `quoteRejectedInsufficientBalance`, `walletGateUnreadable`, `policyBlocked`, `treasuryPolicyApprovalRequired`, `destinationTagRequired`, `destinationTagMismatch`, `destinationTagInvalid`, `acrossBasicLaneNotEnabled`, `creditReadUnavailable`, `exactOutputFirmAskUnsupported`, `grantEndsBeforeVenueFunding`, `jurisdictionNotServed`, `pairUnsupported`, `requesterJurisdictionUnknown`, `venueAccountHasNoKey`, `venueAssessmentRequired`, `venueConnectionInvalid`, `venueReenableRequiresNewCredentials`, `venueTradingPaused`, `balanceNotObserved`, `notPermitted`, `balanceNotPermitted`, `gasUnchecked`, `catalogueWaitStateUnavailable`, `cctpRouteUpgrading`, `creditOnly`, `dexReferencePriceMissing`, `quoteAuthorityUnavailable`, `venueRoutingOff`, `venueRoutingStateUnavailable`, `indicativeUnavailable`, `marketUnavailable`, `noReferenceMid`, `observationBindingUnavailable`, `quoteIdUnavailable`, `stalePrice`.\n\nNew values may be added; treat unknown values as other.","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.reason","typeLabel":"enum\u003cstring> | null"},"remediation":{"oneOf":[{"description":"A machine-readable recovery hint the refusing step gave.","type":"string","uniqueKey":"details.oneOf.1.remediation.oneOf.0","typeLabel":"string"},{"description":"A machine-readable recovery hint the refusing step gave.","type":"null","uniqueKey":"details.oneOf.1.remediation.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.remediation","typeLabel":"string | null"},"retryAfter":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.retryAfter.oneOf.0","typeLabel":"null"},{"type":"string","description":"Every `429`, and a `503` that knows: when to try again, as an ISO 8601 duration. The\n`Retry-After` header carries the same wait in whole seconds.","format":"duration","pattern":"^PT(?:[0-9]+H(?:[0-9]+M)?(?:[0-9]+(?:\\.[0-9]{1,3})?S)?|[0-9]+M(?:[0-9]+(?:\\.[0-9]{1,3})?S)?|[0-9]+(?:\\.[0-9]{1,3})?S)$","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","example":"PT120S","uniqueKey":"details.oneOf.1.retryAfter.oneOf.1","typeLabel":"string\u003cduration>"}],"uniqueKey":"details.oneOf.1.retryAfter","typeLabel":"null | string\u003cduration>"},"value":{"oneOf":[{"description":"`UNKNOWN_ASSET`, `UNKNOWN_CHAIN`, `UNKNOWN_VENUE`, `INVALID_AMOUNT`: the value refused;\n`ASSET_NOT_ON_CHAIN`: the pinned chain the Asset is not on.","type":"string","uniqueKey":"details.oneOf.1.value.oneOf.0","typeLabel":"string"},{"description":"`UNKNOWN_ASSET`, `UNKNOWN_CHAIN`, `UNKNOWN_VENUE`, `INVALID_AMOUNT`: the value refused;\n`ASSET_NOT_ON_CHAIN`: the pinned chain the Asset is not on.","type":"null","uniqueKey":"details.oneOf.1.value.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.value","typeLabel":"string | null"}},"additionalProperties":{"description":"Any further detail the code carries (for example `stepUpSubject`, `balanceShortfall`,\n`minimumAmount`), each named in camelCase.","uniqueKey":"details.oneOf.1.additionalProperties","typeLabel":"any"},"uniqueKey":"details.oneOf.1","typeLabel":"object"}],"uniqueKey":"details","typeLabel":"null | object"},"next":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"next.oneOf.0","typeLabel":"null"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["order"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.1.kind","typeLabel":"enum\u003cstring>"}},"uniqueKey":"next.oneOf.1","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["preflight"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.2.kind","typeLabel":"enum\u003cstring>"}},"uniqueKey":"next.oneOf.2","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["transactions","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["transact"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.3.kind","typeLabel":"enum\u003cstring>"},"transactions":{"items":{"description":"One transaction the Taker sends itself (an approval included).","properties":{"chain":{"description":"A CAIP-2 chain id (`eip155:8453`, `solana:\u003cgenesis>`, `tron:shasta`), syntax-checked:\na namespace of 3 to 8 lowercase letters, digits or `-`, and a reference of 1 to 32\nletters, digits, `-` or `_`. Compared exactly, as CAIP-2 references are case-sensitive.","example":"eip155:8453","type":"string","isRequired":true,"uniqueKey":"next.oneOf.3.transactions.items.[INDEX].chain","typeLabel":"string"},"data":{"description":"Hex calldata (`0x…`).","type":"string","isRequired":true,"uniqueKey":"next.oneOf.3.transactions.items.[INDEX].data","typeLabel":"string"},"to":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.3.transactions.items.[INDEX].to","typeLabel":"string"},"value":{"description":"Native value in base units, as a decimal string.","type":"string","isRequired":true,"uniqueKey":"next.oneOf.3.transactions.items.[INDEX].value","typeLabel":"string"}},"required":["chain","data","to","value"],"type":"object","uniqueKey":"next.oneOf.3.transactions.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"next.oneOf.3.transactions","typeLabel":"object[]"}},"uniqueKey":"next.oneOf.3","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["typedData","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["sign"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.4.kind","typeLabel":"enum\u003cstring>"},"typedData":{"oneOf":[{"isRequired":true}],"isRequired":true,"uniqueKey":"next.oneOf.4.typedData","typeLabel":"any"}},"uniqueKey":"next.oneOf.4","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["fund"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.kind","typeLabel":"enum\u003cstring>"},"instructions":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"next.oneOf.5.instructions.oneOf.0","typeLabel":"null"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["asset","chainRef","networkCode","networkConfirmed","address","tokenContract","observedAt","expiresAt","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.address","typeLabel":"string"},"asset":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.asset","typeLabel":"string"},"chainRef":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.chainRef","typeLabel":"string"},"expiresAt":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.expiresAt","typeLabel":"string\u003cdate-time>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["venueDeposit"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.kind","typeLabel":"enum\u003cstring>"},"networkCode":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.networkCode","typeLabel":"string"},"networkConfirmed":{"description":"False when the venue reports no network for this address: `networkCode`\nis empty and `chainRef` is the caller's selection, which the customer\nmust confirm with the venue before sending.","type":"boolean","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.networkConfirmed","typeLabel":"boolean"},"observedAt":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.observedAt","typeLabel":"string\u003cdate-time>"},"tokenContract":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.tokenContract","typeLabel":"string"},"memo":{"oneOf":[{"type":"string","uniqueKey":"next.oneOf.5.instructions.oneOf.1.memo.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"next.oneOf.5.instructions.oneOf.1.memo.oneOf.1","typeLabel":"null"}],"uniqueKey":"next.oneOf.5.instructions.oneOf.1.memo","typeLabel":"string | null"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.1","typeLabel":"object"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["accountLast4","amount","bankDisplayName","expiresAt","kind","revealRef"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"accountLast4":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.accountLast4.oneOf.0","typeLabel":"null"},{"type":"string","description":"An already-qualified masked suffix, not external account ownership proof.","maxLength":4,"minLength":1,"pattern":"^[A-Za-z0-9]{1,4}$","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","example":"A1b2","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.accountLast4.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.accountLast4","typeLabel":"null | string"},"amount":{"description":"A non-negative decimal string in Asset units (`\"10000\"`, `\"9994.0\"`): digits with an\noptional fraction, no sign, exponent or leading zero. Never a float and never base\nunits. A request amount must also be positive (`INVALID_AMOUNT`); a fee or a\nknown balance may be zero.","example":"10000","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.amount","typeLabel":"string"},"bankDisplayName":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.bankDisplayName.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.bankDisplayName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.bankDisplayName","typeLabel":"string | null"},"expiresAt":{"oneOf":[{"description":"UTC ISO instant, or null when expiry is UNKNOWN. Null never means no expiry.","format":"date-time","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.expiresAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"description":"UTC ISO instant, or null when expiry is UNKNOWN. Null never means no expiry.","format":"date-time","type":"null","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.expiresAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.expiresAt","typeLabel":"string\u003cdate-time> | null"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["bankDeposit"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.kind","typeLabel":"enum\u003cstring>"},"revealRef":{"description":"Non-bearer lookup metadata for deposit instructions. Possession grants no authority. Each reveal requires current wallet-view authority and exact account membership; an API key additionally needs treasury_read. Missing and foreign accounts share a refusal. Quotes never fetch these instructions.","properties":{"connectionId":{"description":"The native held leg's exact connection id, never a first/sole-connection guess.","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.connectionId","typeLabel":"string"},"currency":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.currency","typeLabel":"string"},"providerBankId":{"oneOf":[{"description":"The provider's linked-bank id when required by that venue; otherwise unknown/null.","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.providerBankId.oneOf.0","typeLabel":"string"},{"description":"The provider's linked-bank id when required by that venue; otherwise unknown/null.","type":"null","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.providerBankId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.providerBankId","typeLabel":"string | null"}},"required":["connectionId","currency","providerBankId"],"type":"object","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef","typeLabel":"object"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.2","typeLabel":"object"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["walletId","address","chain","asset","tokenContract","amount","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.address","typeLabel":"string"},"amount":{"description":"A non-negative decimal string in Asset units (`\"10000\"`, `\"9994.0\"`): digits with an\noptional fraction, no sign, exponent or leading zero. Never a float and never base\nunits. A request amount must also be positive (`INVALID_AMOUNT`); a fee or a\nknown balance may be zero.","example":"10000","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.amount","typeLabel":"string"},"asset":{"description":"A registry Asset id (`USDC`, `USDe`). Matched case-insensitively against the catalogue,\nwhich answers it in the registry's own spelling.","example":"USDC","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.asset","typeLabel":"string"},"chain":{"description":"A CAIP-2 chain id (`eip155:8453`, `solana:\u003cgenesis>`, `tron:shasta`), syntax-checked:\na namespace of 3 to 8 lowercase letters, digits or `-`, and a reference of 1 to 32\nletters, digits, `-` or `_`. Compared exactly, as CAIP-2 references are case-sensitive.","example":"eip155:8453","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.chain","typeLabel":"string"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["walletTopUp"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.kind","typeLabel":"enum\u003cstring>"},"tokenContract":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.tokenContract","typeLabel":"string"},"walletId":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.walletId","typeLabel":"string"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.3","typeLabel":"object"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["chain","amount","asset","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"amount":{"description":"A non-negative decimal string in Asset units (`\"10000\"`, `\"9994.0\"`): digits with an\noptional fraction, no sign, exponent or leading zero. Never a float and never base\nunits. A request amount must also be positive (`INVALID_AMOUNT`); a fee or a\nknown balance may be zero.","example":"10000","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.4.amount","typeLabel":"string"},"asset":{"description":"A registry Asset id (`USDC`, `USDe`). Matched case-insensitively against the catalogue,\nwhich answers it in the registry's own spelling.","example":"USDC","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.4.asset","typeLabel":"string"},"chain":{"description":"A CAIP-2 chain id (`eip155:8453`, `solana:\u003cgenesis>`, `tron:shasta`), syntax-checked:\na namespace of 3 to 8 lowercase letters, digits or `-`, and a reference of 1 to 32\nletters, digits, `-` or `_`. Compared exactly, as CAIP-2 references are case-sensitive.","example":"eip155:8453","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.4.chain","typeLabel":"string"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["nativeGas"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.4.kind","typeLabel":"enum\u003cstring>"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.4","typeLabel":"object"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["connectionId","amount","currency","reason","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"amount":{"description":"A non-negative decimal string in Asset units (`\"10000\"`, `\"9994.0\"`): digits with an\noptional fraction, no sign, exponent or leading zero. Never a float and never base\nunits. A request amount must also be positive (`INVALID_AMOUNT`); a fee or a\nknown balance may be zero.","example":"10000","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.amount","typeLabel":"string"},"connectionId":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.connectionId","typeLabel":"string"},"currency":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.currency","typeLabel":"string"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["depositFirstNotOffered"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.kind","typeLabel":"enum\u003cstring>"},"reason":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.reason","typeLabel":"string"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.5","typeLabel":"object"}],"uniqueKey":"next.oneOf.5.instructions","typeLabel":"null · object · object · object · object · object"}},"uniqueKey":"next.oneOf.5","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["needs","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["requote"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.6.kind","typeLabel":"enum\u003cstring>"},"needs":{"items":{"description":"A funding or delivery selection a requote needs filled. An empty `needs` means requote as is.\n\nNew values may be added; treat unknown values as other.","enum":["wallet:evm","wallet:solana","wallet:tron","account","bankAccount","deliverTo"],"type":"string","x-extensible-enum":true,"uniqueKey":"next.oneOf.6.needs.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","isRequired":true,"uniqueKey":"next.oneOf.6.needs","typeLabel":"enum\u003cstring>[]"}},"uniqueKey":"next.oneOf.6","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["search"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.7.kind","typeLabel":"enum\u003cstring>"}},"uniqueKey":"next.oneOf.7","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["retryAfter","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["wait"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.8.kind","typeLabel":"enum\u003cstring>"},"retryAfter":{"description":"An ISO 8601 duration, e.g. PT3S or PT2M.","examples":["PT120S"],"format":"duration","pattern":"^PT(?:[0-9]+H(?:[0-9]+M)?(?:[0-9]+(?:\\.[0-9]{1,3})?S)?|[0-9]+M(?:[0-9]+(?:\\.[0-9]{1,3})?S)?|[0-9]+(?:\\.[0-9]{1,3})?S)$","type":"string","isRequired":true,"uniqueKey":"next.oneOf.8.retryAfter","typeLabel":"string\u003cduration>"}},"uniqueKey":"next.oneOf.8","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["reference","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["contact"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.9.kind","typeLabel":"enum\u003cstring>"},"reference":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.9.reference","typeLabel":"string"}},"uniqueKey":"next.oneOf.9","typeLabel":"object"}],"uniqueKey":"next","typeLabel":"null · object · object · object · object · object · object · object · object · object"},"requestId":{"oneOf":[{"description":"The request's id, the value the `X-Request-Id` response header carries. Quote it when\nasking for support.","type":"string","uniqueKey":"requestId.oneOf.0","typeLabel":"string"},{"description":"The request's id, the value the `X-Request-Id` response header carries. Quote it when\nasking for support.","type":"null","uniqueKey":"requestId.oneOf.1","typeLabel":"null"}],"uniqueKey":"requestId","typeLabel":"string | null"}},"required":["error","docUrl","retryable","message","timestamp"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"docUrl":"\u003cstring>","error":"\u003cstring>","message":"\u003cstring>","retryable":true,"timestamp":"2023-11-07T05:31:56Z","details":{"capabilityBlockers":[{"code":"WORKSPACE_NOT_FOUND","estimate":"minutes","message":"\u003cstring>","unlockStep":"finishOnboarding","currentlyDue":["\u003cstring>"]}],"conflicts":["\u003cstring>"],"consentedWindow":{"cadence":{"dayBasis":"calendarDays","kind":"intraday","everyHours":1,"localTimes":["\u003cstring>"]},"scheduleId":"\u003cstring>","scheduleLabel":"\u003cstring>","scheduleVersion":123,"snapshotAt":"2023-11-07T05:31:56Z","windowId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","assumedBoundary":{"lpName":"\u003cstring>","source":"\u003cstring>","timeZone":"\u003cstring>"},"cutoffAt":"2023-11-07T05:31:56Z","paymentDeadlineAt":"2023-11-07T05:31:56Z","settlementBasis":"clock","settlesBy":"2023-11-07T05:31:56Z","statementIssuer":"\u003cstring>"},"currentWindow":{"cadence":{"dayBasis":"calendarDays","kind":"intraday","everyHours":1,"localTimes":["\u003cstring>"]},"scheduleId":"\u003cstring>","scheduleLabel":"\u003cstring>","scheduleVersion":123,"snapshotAt":"2023-11-07T05:31:56Z","windowId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","assumedBoundary":{"lpName":"\u003cstring>","source":"\u003cstring>","timeZone":"\u003cstring>"},"cutoffAt":"2023-11-07T05:31:56Z","paymentDeadlineAt":"2023-11-07T05:31:56Z","settlementBasis":"clock","settlesBy":"2023-11-07T05:31:56Z","statementIssuer":"\u003cstring>"},"field":"\u003cstring>","reason":"clockUnavailable","remediation":"\u003cstring>","retryAfter":"PT120S","value":"\u003cstring>"},"next":{"kind":"order"},"requestId":"\u003cstring>"}}},"exampleType":"generated"}},"description":"The request timed out before a response was ready.","headers":{"Deprecation":{"description":"Present when this operation is deprecated: an RFC 9745 structured date, for example @1792443399. Absence makes no deprecation claim.","schema":{"type":"string"}},"Link":{"description":"When deprecation applies, links to the deprecation notice with rel=deprecation; other link relations may also be sent.","schema":{"type":"string"}},"RateLimit":{"description":"draft-ietf-httpapi-ratelimit-headers-07 section 3.1 structured dictionary, for example `limit=100, remaining=41, reset=19`. Remaining is the admitted decision's headroom; reset is whole seconds until quota next becomes available, not an epoch or a promise of a full burst refill. On a limiter's 429 remaining is 0 and reset equals Retry-After. Accepted key, route and per-address policies are compared by lowest remaining, then longest reset. A venue refusal without a known quota makes no rate-limit header claim.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"draft-ietf-httpapi-ratelimit-headers-07 section 3.5: quota and window in seconds, for example `100;w=60`. Sent on every status when a finite limiter counted the request. The applicable policy closest to exhaustion is reported (section 3.2): lowest remaining, then longest reset. On a limiter's 429 this is exactly the policy that refused; if a venue discloses no quota, the headers are absent.","schema":{"type":"string"}},"Sunset":{"description":"Present when retirement is scheduled: the HTTP-date after which this version may stop being served (RFC 8594).","schema":{"type":"string"}},"x-request-id":{"description":"The request's id: the caller's valid `X-Request-Id`, or a generated UUID v4. Quote it when asking for support.","schema":{"type":"string"}}},"exampleType":"generated"},"72db6fc2-3269-47c5-9ed9-1cd27112b7f3":{"content":{"application/json":{"schema":{"description":"The shared refusal body of every integrator operation, including edge-layer errors.\n`error` is an open, stable machine-readable code; `docUrl` links to its documentation and\n`retryable` says whether an unchanged request may succeed later. `message` is for people,\nnot matching. `timestamp` is RFC 3339 UTC; optional `requestId` mirrors `X-Request-Id`.\nOptional `next` describes recovery and `details` carries code-specific information.\nHandle known codes and fall back on the HTTP status for unknown ones.","properties":{"docUrl":{"description":"Stable documentation for this refusal code.","type":"string","isRequired":true,"uniqueKey":"docUrl","typeLabel":"string"},"error":{"description":"The machine-readable code, for example `QUOTE_EXPIRED`.","type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"description":"What happened, in words a person can read. Not for matching.","type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"retryable":{"description":"Whether an unchanged request may succeed later, from the error catalogue.","type":"boolean","isRequired":true,"uniqueKey":"retryable","typeLabel":"boolean"},"timestamp":{"description":"When the refusal was made, as an RFC 3339 UTC timestamp.","format":"date-time","type":"string","isRequired":true,"uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"},"details":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.0","typeLabel":"null"},{"type":"object","description":"The code's detail. Each field is present only on the codes named beside it; other codes may\ncarry further fields, named in camelCase, which a client may ignore.","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"capabilityBlockers":{"oneOf":[{"description":"`CAPABILITY_BLOCKED` and the other capability refusals: what blocks the workspace.","items":{"description":"One reason a capability is blocked, plus the step that unlocks it.","properties":{"code":{"description":"Stable machine-readable blocker codes returned by the capability gate.\n\nNew values may be added; treat unknown values as other.","enum":["WORKSPACE_NOT_FOUND","WORKSPACE_NOT_ACTIVE","WORKSPACE_SUSPENDED","PARENT_WORKSPACE_INACTIVE","INSUFFICIENT_PERMISSION","WORKSPACE_TYPE_UNSUPPORTED","BASE_PROFILE_INCOMPLETE","BASE_PROFILE_UNREADABLE","KYB_NOT_VERIFIED","KYC_NOT_VERIFIED","SANCTIONS_FLAGGED","MEMBER_COMPLIANCE_FROZEN","MEMBER_COMPLIANCE_DENIED","SCREENING_PENDING","SCREENING_UNAVAILABLE","GEO_RESTRICTED","WALLET_NOT_VERIFIED","DIRECT_USER_NOT_FOUND","DIRECT_USER_SUSPENDED","DIRECT_USER_KYC_NOT_VERIFIED","INSUFFICIENT_SCOPE","TREASURY_DISABLED","NO_USABLE_CREDENTIAL","CROSS_OWNER_WRITE_DENIED","AGGREGATE_SCOPE_READ_ONLY","OWNER_SCOPE_REQUIRED","VENUE_OPERATION_UNSUPPORTED","TAKER_ONBOARDING_INCOMPLETE","TAKER_ADMISSION_UNAVAILABLE"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].code","typeLabel":"enum\u003cstring>"},"estimate":{"description":"Coarse time-to-unlock class. The UI owns the copy; figures are engineering\nestimates until the KYB queue and Sumsub webhooks supply measured values.\n\nNew values may be added; treat unknown values as other.","enum":["minutes","formsThenReview","adminAction","otherParty","unknown","notUnlockable"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].estimate","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].message","typeLabel":"string"},"unlockStep":{"description":"Stable key of the step that unlocks this blocker. The UI maps it to a\nroute or dialog.","enum":["finishOnboarding","companyDetails","kybProfile","kycDialog","linkWallet","askAdmin","contactBroker","manageDirectUsers","manageApiKey","connectCustodian","switchAccountScope","contactSupport","awaitScreening","none"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].unlockStep","typeLabel":"enum\u003cstring>"},"currentlyDue":{"description":"Requirement keys still due, such as `kyb_review`, `actor_kyc` or\n`permission:place_order`. Empty when nothing specific is due.","items":{"type":"string","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].currentlyDue.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].currentlyDue","typeLabel":"string[]"}},"required":["code","message","unlockStep","estimate"],"type":"object","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0","typeLabel":"object[]"},{"description":"`CAPABILITY_BLOCKED` and the other capability refusals: what blocks the workspace.","items":{"description":"One reason a capability is blocked, plus the step that unlocks it.","properties":{"code":{"description":"Stable machine-readable blocker codes returned by the capability gate.\n\nNew values may be added; treat unknown values as other.","enum":["WORKSPACE_NOT_FOUND","WORKSPACE_NOT_ACTIVE","WORKSPACE_SUSPENDED","PARENT_WORKSPACE_INACTIVE","INSUFFICIENT_PERMISSION","WORKSPACE_TYPE_UNSUPPORTED","BASE_PROFILE_INCOMPLETE","BASE_PROFILE_UNREADABLE","KYB_NOT_VERIFIED","KYC_NOT_VERIFIED","SANCTIONS_FLAGGED","MEMBER_COMPLIANCE_FROZEN","MEMBER_COMPLIANCE_DENIED","SCREENING_PENDING","SCREENING_UNAVAILABLE","GEO_RESTRICTED","WALLET_NOT_VERIFIED","DIRECT_USER_NOT_FOUND","DIRECT_USER_SUSPENDED","DIRECT_USER_KYC_NOT_VERIFIED","INSUFFICIENT_SCOPE","TREASURY_DISABLED","NO_USABLE_CREDENTIAL","CROSS_OWNER_WRITE_DENIED","AGGREGATE_SCOPE_READ_ONLY","OWNER_SCOPE_REQUIRED","VENUE_OPERATION_UNSUPPORTED","TAKER_ONBOARDING_INCOMPLETE","TAKER_ADMISSION_UNAVAILABLE"],"type":"string","x-extensible-enum":true},"currentlyDue":{"description":"Requirement keys still due, such as `kyb_review`, `actor_kyc` or\n`permission:place_order`. Empty when nothing specific is due.","items":{"type":"string"},"type":"array"},"estimate":{"description":"Coarse time-to-unlock class. The UI owns the copy; figures are engineering\nestimates until the KYB queue and Sumsub webhooks supply measured values.\n\nNew values may be added; treat unknown values as other.","enum":["minutes","formsThenReview","adminAction","otherParty","unknown","notUnlockable"],"type":"string","x-extensible-enum":true},"message":{"type":"string"},"unlockStep":{"description":"Stable key of the step that unlocks this blocker. The UI maps it to a\nroute or dialog.","enum":["finishOnboarding","companyDetails","kybProfile","kycDialog","linkWallet","askAdmin","contactBroker","manageDirectUsers","manageApiKey","connectCustodian","switchAccountScope","contactSupport","awaitScreening","none"],"type":"string","x-extensible-enum":true}},"required":["code","message","unlockStep","estimate"],"type":"object"},"type":"null","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.capabilityBlockers","typeLabel":"object[] | null"},"conflicts":{"oneOf":[{"description":"`REQUOTE_FIELDS_CONFLICT`: the fields that cannot go with `requote`.","items":{"type":"string","uniqueKey":"details.oneOf.1.conflicts.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"details.oneOf.1.conflicts.oneOf.0","typeLabel":"string[]"},{"description":"`REQUOTE_FIELDS_CONFLICT`: the fields that cannot go with `requote`.","items":{"type":"string"},"type":"null","uniqueKey":"details.oneOf.1.conflicts.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.conflicts","typeLabel":"string[] | null"},"consentedWindow":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.0","typeLabel":"null"},{"type":"object","description":"`SETTLEMENT_WINDOW_CHANGED`: the settlement window the order consented to (the quoted\nwindow, or the one its `settlementWindowId` named), which is no longer the one assigned.","required":["windowId","scheduleId","scheduleVersion","scheduleLabel","cadence","snapshotAt"],"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"cadence":{"oneOf":[{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.dayBasis","typeLabel":"enum\u003cstring>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["intraday"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"everyHours":{"oneOf":[{"format":"int32","minimum":0,"type":"integer","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.everyHours.oneOf.0","typeLabel":"integer\u003cint32>"},{"format":"int32","minimum":0,"type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.everyHours.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.everyHours","typeLabel":"integer\u003cint32> | null"},"localTimes":{"oneOf":[{"items":{"type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.0","typeLabel":"string[]"},{"items":{"type":"string"},"type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.localTimes","typeLabel":"string[] | null"}},"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0","typeLabel":"object"},{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["days","dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.1.dayBasis","typeLabel":"enum\u003cstring>"},"days":{"format":"int32","minimum":0,"type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.1.days","typeLabel":"integer\u003cint32>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["daily"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.1.kind","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.1","typeLabel":"object"},{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["days","dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.2.dayBasis","typeLabel":"enum\u003cstring>"},"days":{"format":"int32","minimum":0,"type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.2.days","typeLabel":"integer\u003cint32>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["multiDay"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.2.kind","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.2","typeLabel":"object"}],"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence","typeLabel":"object"},"scheduleId":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.scheduleId","typeLabel":"string"},"scheduleLabel":{"description":"The published schedule version's display name (e.g. \"EU\"), so a quote card or Review\nnames the window without a settlement read permission.","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.scheduleLabel","typeLabel":"string"},"scheduleVersion":{"format":"int64","type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.scheduleVersion","typeLabel":"integer\u003cint64>"},"snapshotAt":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.snapshotAt","typeLabel":"string\u003cdate-time>"},"windowId":{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.windowId","typeLabel":"string\u003cuuid>"},"assumedBoundary":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.0","typeLabel":"null"},{"type":"object","description":"Present when the window's boundary comes from an assumed schedule term rather than the\nLP's confirmation: every surface shows the window as assumed until the LP confirms it.","required":["timeZone","source","lpName"],"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"lpName":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.1.lpName","typeLabel":"string"},"source":{"description":"Where the assumed boundary came from, as recorded in the settlement schedule; free text.","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.1.source","typeLabel":"string"},"timeZone":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.1.timeZone","typeLabel":"string"}},"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.1","typeLabel":"object"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary","typeLabel":"null | object"},"cutoffAt":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cutoffAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cutoffAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cutoffAt","typeLabel":"string\u003cdate-time> | null"},"paymentDeadlineAt":{"oneOf":[{"description":"The occurrence's payment deadline from its schedule terms: what a credit trade's debt is\npaid by. Absent while the schedule has not confirmed it; never derived from `settlesBy`.","format":"date-time","type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.paymentDeadlineAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"description":"The occurrence's payment deadline from its schedule terms: what a credit trade's debt is\npaid by. Absent while the schedule has not confirmed it; never derived from `settlesBy`.","format":"date-time","type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.paymentDeadlineAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.paymentDeadlineAt","typeLabel":"string\u003cdate-time> | null"},"settlementBasis":{"description":"What completes a window's settlement. `clock`: the occurrence's confirmed completion time\n(`settlesBy`). `onAgreement`: the LP issues the window's statement and the trade settles\nonce that statement is agreed (Keyrock), so the window states no clock time.\n\nNew values may be added; treat unknown values as other.","enum":["clock","onAgreement"],"type":"string","x-extensible-enum":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.settlementBasis","typeLabel":"enum\u003cstring>"},"settlesBy":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.settlesBy.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.settlesBy.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.settlesBy","typeLabel":"string\u003cdate-time> | null"},"statementIssuer":{"oneOf":[{"description":"The LP whose statement settles an `onAgreement` window (\"Keyrock\"); absent on a clock window.","type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.statementIssuer.oneOf.0","typeLabel":"string"},{"description":"The LP whose statement settles an `onAgreement` window (\"Keyrock\"); absent on a clock window.","type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.statementIssuer.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.statementIssuer","typeLabel":"string | null"}},"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1","typeLabel":"object"}],"uniqueKey":"details.oneOf.1.consentedWindow","typeLabel":"null | object"},"currentWindow":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.currentWindow.oneOf.0","typeLabel":"null"},{"type":"object","description":"`SETTLEMENT_WINDOW_CHANGED`: the settlement window the server assigns the trade now.\nSend the same quote again with `settlementWindowId` set to `details.currentWindow.windowId`\nto consent to it.","required":["windowId","scheduleId","scheduleVersion","scheduleLabel","cadence","snapshotAt"],"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"cadence":{"oneOf":[{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.dayBasis","typeLabel":"enum\u003cstring>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["intraday"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"everyHours":{"oneOf":[{"format":"int32","minimum":0,"type":"integer","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.everyHours.oneOf.0","typeLabel":"integer\u003cint32>"},{"format":"int32","minimum":0,"type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.everyHours.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.everyHours","typeLabel":"integer\u003cint32> | null"},"localTimes":{"oneOf":[{"items":{"type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.0","typeLabel":"string[]"},{"items":{"type":"string"},"type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.localTimes","typeLabel":"string[] | null"}},"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0","typeLabel":"object"},{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["days","dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.1.dayBasis","typeLabel":"enum\u003cstring>"},"days":{"format":"int32","minimum":0,"type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.1.days","typeLabel":"integer\u003cint32>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["daily"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.1.kind","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.1","typeLabel":"object"},{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["days","dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.2.dayBasis","typeLabel":"enum\u003cstring>"},"days":{"format":"int32","minimum":0,"type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.2.days","typeLabel":"integer\u003cint32>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["multiDay"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.2.kind","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.2","typeLabel":"object"}],"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence","typeLabel":"object"},"scheduleId":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.scheduleId","typeLabel":"string"},"scheduleLabel":{"description":"The published schedule version's display name (e.g. \"EU\"), so a quote card or Review\nnames the window without a settlement read permission.","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.scheduleLabel","typeLabel":"string"},"scheduleVersion":{"format":"int64","type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.scheduleVersion","typeLabel":"integer\u003cint64>"},"snapshotAt":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.snapshotAt","typeLabel":"string\u003cdate-time>"},"windowId":{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.windowId","typeLabel":"string\u003cuuid>"},"assumedBoundary":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.0","typeLabel":"null"},{"type":"object","description":"Present when the window's boundary comes from an assumed schedule term rather than the\nLP's confirmation: every surface shows the window as assumed until the LP confirms it.","required":["timeZone","source","lpName"],"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"lpName":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.1.lpName","typeLabel":"string"},"source":{"description":"Where the assumed boundary came from, as recorded in the settlement schedule; free text.","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.1.source","typeLabel":"string"},"timeZone":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.1.timeZone","typeLabel":"string"}},"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.1","typeLabel":"object"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary","typeLabel":"null | object"},"cutoffAt":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cutoffAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cutoffAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cutoffAt","typeLabel":"string\u003cdate-time> | null"},"paymentDeadlineAt":{"oneOf":[{"description":"The occurrence's payment deadline from its schedule terms: what a credit trade's debt is\npaid by. Absent while the schedule has not confirmed it; never derived from `settlesBy`.","format":"date-time","type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.paymentDeadlineAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"description":"The occurrence's payment deadline from its schedule terms: what a credit trade's debt is\npaid by. Absent while the schedule has not confirmed it; never derived from `settlesBy`.","format":"date-time","type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.paymentDeadlineAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.paymentDeadlineAt","typeLabel":"string\u003cdate-time> | null"},"settlementBasis":{"description":"What completes a window's settlement. `clock`: the occurrence's confirmed completion time\n(`settlesBy`). `onAgreement`: the LP issues the window's statement and the trade settles\nonce that statement is agreed (Keyrock), so the window states no clock time.\n\nNew values may be added; treat unknown values as other.","enum":["clock","onAgreement"],"type":"string","x-extensible-enum":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.settlementBasis","typeLabel":"enum\u003cstring>"},"settlesBy":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.settlesBy.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.settlesBy.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.settlesBy","typeLabel":"string\u003cdate-time> | null"},"statementIssuer":{"oneOf":[{"description":"The LP whose statement settles an `onAgreement` window (\"Keyrock\"); absent on a clock window.","type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.statementIssuer.oneOf.0","typeLabel":"string"},{"description":"The LP whose statement settles an `onAgreement` window (\"Keyrock\"); absent on a clock window.","type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.statementIssuer.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.statementIssuer","typeLabel":"string | null"}},"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1","typeLabel":"object"}],"uniqueKey":"details.oneOf.1.currentWindow","typeLabel":"null | object"},"field":{"oneOf":[{"description":"`INVALID_REQUEST`: the path of a missing required, unknown, mistyped or out-of-range\nfield (for example `buy` or `sell.asset`), never the parser's message or input value.","type":"string","uniqueKey":"details.oneOf.1.field.oneOf.0","typeLabel":"string"},{"description":"`INVALID_REQUEST`: the path of a missing required, unknown, mistyped or out-of-range\nfield (for example `buy` or `sell.asset`), never the parser's message or input value.","type":"null","uniqueKey":"details.oneOf.1.field.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.field","typeLabel":"string | null"},"reason":{"oneOf":[{"type":"string","description":"A machine-readable reason token the refusing step gave.\n\nKnown source reason tokens (not all apply to every status): `clockUnavailable`, `assetUnsupported`, `referenceUndeclarable`, `referenceNotAdmitted`, `referenceStale`, `referenceDepth`, `marketDataUnavailable`, `calibrationUnavailable`, `livePriceUnavailable`, `lpQuoteUnavailable`, `platformJurisdictionCountryRequired`, `platformJurisdictionUnavailable`, `platformJurisdictionBlocked`, `venueJurisdictionExcluded`, `workspaceJurisdictionRequired`, `jurisdictionRegionRequired`, `jurisdictionUnavailable`, `venueKeyRefusedLikelyIpAllowlist`, `venueWithdrawalDestinationNotWhitelisted`, `adapterPayloadSerializationFailed`, `basicVenueAccountsUnavailable`, `billingPaymentOverdue`, `walletNotOnChain`, `ccxtVenueRequiresCexLane`, `executionStageDisabled`, `jurisdictionUnproven`, `onboardedVenuesUnavailable`, `onchainAccountDefaultWalletRequired`, `onchainAccountDefaultWalletUnavailable`, `onchainAccountWalletRequired`, `onchainAssetDecimalsMismatch`, `onchainAssetIdentityMismatch`, `onchainAssetUnmapped`, `onchainAssetVariantFiltered`, `onchainWalletUnavailable`, `onchainCatalogueUnavailable`, `onchainDeliverToNotReceivingWallet`, `onchainDeliverToUnverified`, `onchainMarketsUnavailable`, `onchainMarketCatalogUnreadable`, `onchainMarketChainRequired`, `onchainMarketVariantRequired`, `onchainMarketTokenRequired`, `onchainSiteChainUnreadable`, `onchainWalletChainUnreadable`, `onchainWalletInactive`, `onchainWalletNotLinked`, `onchainWalletNotUsable`, `onchainWalletPickAmbiguous`, `onchainWalletWrongNetwork`, `signerLacksRight`, `signerUnavailable`, `signingGrantAmbiguous`, `signingGrantExpired`, `nativeGrantExpiryReapprovalRequired`, `nativeBalanceUnavailable`, `solanaFinalityUnavailable`, `tronSolidBlockUnavailable`, `signingGrantPolicyUnreadable`, `signingGrantPolicyChecking`, `signingGrantRequired`, `signingGrantTokenNotKept`, `signingGrantTokenNotPayable`, `solverChainUnready`, `walletChainMismatch`, `walletNotUsableByYou`, `walletNotVerifiedForAce`, `walletNotWhitelisted`, `withdrawalChainUnsupported`, `accountFeeUnavailable`, `comparisonCostsUnavailable`, `connectionListingUnavailable`, `feeUnverified`, `noPool`, `noPrice`, `noSize`, `notFilled`, `notYetPublished`, `priceArithmetic`, `priceSourceNone`, `referenceMidUnavailable`, `settlementPrecisionUnavailable`, `accountSetupIncomplete`, `admissionUnavailable`, `advancedAccountEligibilityUnavailable`, `advancedAccountStateInconsistent`, `advancedConnectionDisabled`, `advancedConnectionNotConfigured`, `advancedConnectionPaused`, `advancedSettlementNeedsVerification`, `advancedModeDisabled`, `advancedNotAvailableForAccount`, `advancedNotEnabledForAccount`, `allowanceUnavailable`, `acrossCapacityExceeded`, `relayCapacityExceeded`, `acrossChainNotCarried`, `cctpChainNotCarried`, `cctpWalletRequired`, `acrossWalletRequired`, `walletBrowserSigningEvmOnly`, `relayChainNotCarried`, `apiKeyAdvancedWalletUnsupported`, `apiKeyOrganisationWalletScopeRequired`, `grantCapExceeded`, `amountAboveMaximum`, `amountBelowMinimum`, `belowVenueMinimum`, `amountUnreadable`, `amountsUnreadable`, `askFirst`, `authorityUnavailable`, `automationNeverAsks`, `availabilityUnreadable`, `backgroundNeverAsks`, `balanceUnreadable`, `defaultsUnavailable`, `walletHasNoAddress`, `walletUnavailable`, `bondAmountUnreadable`, `bondAssetUnreadable`, `catalogueUnavailable`, `chainFamilyUnknown`, `chainUnrecorded`, `clientSessionRequired`, `clockUnreadable`, `comingSoon`, `connectionChanged`, `connectionRevoked`, `corridorInvalid`, `credential`, `deadlineExceeded`, `defaultsLoading`, `deliverToCalldataUnsupported`, `deliverToTagUnsupported`, `deliverToNotPermitted`, `deliverToUnreadable`, `tradingPermissionRequired`, `directPatienceHarvest`, `economicallyInferior`, `exactAmountConflictsWithCard`, `exactAmountConflictsWithQuote`, `exactOutputDeliveryUnsupported`, `exactOutputEstimateUnavailable`, `exactRouteHypothesisUnavailable`, `expiredOnArrival`, `expiryUnknown`, `feeUnreadable`, `filteredOut`, `firmAskRefused`, `firmAskFundsTimedOut`, `firmAskPreparationTimedOut`, `quotePreparationFailed`, `firmAskAdmissionTimedOut`, `seliniFirmAskMarketsTimedOut`, `seliniFirmAskHandoffTimedOut`, `seliniFirmAskBeforePostTimedOut`, `seliniFirmAskValidationTimedOut`, `seliniFirmAskResponseTimedOut`, `seliniFirmAskTransportFailure`, `rfqQuoteRefusedQuoteNotAvailable`, `rfqQuoteRefusedQuotingDisabled`, `rfqQuoteRefusedClientRfqNotConfigured`, `rfqQuoteRefusedClientProfileNotLoaded`, `rfqQuoteRefusedMarketDisabled`, `rfqQuoteRefusedInvalidQuantity`, `rfqQuoteRefusedInvalidSide`, `rfqQuoteRefusedInvalidCurrency`, `rfqQuoteRefusedPricePrecisionError`, `rfqQuoteRefusedRfqError`, `rfqQuoteRefused`, `venueOutcomeIndeterminate`, `venueBodyUnreadable`, `venueResponseUnmapped`, `venueRateLimited`, `venueQuoteAdmissionExpired`, `placementSignedPastDeadline`, `quoteIdentityConflict`, `symbolUnsupported`, `marketSymbolAmbiguous`, `firmAskPrincipalRequired`, `indicativeRequested`, `freshnessUnknown`, `fundingWindow`, `insufficientLiquidity`, `venueRelationship`, `venueRelationshipUnavailable`, `lpUnknown`, `mfaEnrolmentRequired`, `mfaRequired`, `minimumUnverified`, `mixedNetworks`, `netReceivedUnavailable`, `networkUnrecorded`, `noAddress`, `noCard`, `noFetcher`, `noInventory`, `noLaneForPair`, `noLegs`, `noOnChainCorridor`, `noPlannedVenue`, `noQuote`, `noRpc`, `notConnected`, `notEligible`, `notExecutable`, `orderPayloadMissing`, `outsideTopComposites`, `pairUnmapped`, `sellChainInvalid`, `permissionsUnreadable`, `placeOrderNotPermitted`, `prefundingMarkerUnreadable`, `prefundingRequired`, `indicative`, `priceOnRequest`, `priceOutOfRange`, `priceProtectionInvalid`, `pricingBookOnly`, `productNotQuoted`, `protocolChainMissing`, `providerFeeTreatmentUnknown`, `providerSiteUnrecorded`, `quoteIdUnissuable`, `quoteNotHeld`, `buyChainInvalid`, `buyAmountUnsupported`, `exactOutputDebitUnavailable`, `pairNotServed`, `accountFundingReadUnverified`, `quoteReconfirmationRequired`, `quoteRejected`, `keyrockSecurityCatalogueUnavailable`, `venueAnsweredAfterQuoteWindow`, `venueQuoteIntentMismatch`, `payExactUnsupported`, `receiveWalletNotServed`, `referenceMidUnreadable`, `referencePriceUnavailable`, `registryUnavailable`, `releaseRecheckUnavailable`, `requestUnbuildable`, `routeLegChainUnknown`, `routeLegUnnamed`, `routeLegUnplanned`, `routeUnavailable`, `secondFactorUnreadable`, `shortfallUnmeasured`, `shortfallUnreadable`, `singleChainVenue`, `siteChainUnreadable`, `sizeNotEligible`, `submitOrderBlocked`, `takerOnboardingIncomplete`, `tierNotQuoted`, `tradePaused`, `venueConnectionStorageUnavailable`, `venueDataStale`, `venueDeclined`, `venueNotConnected`, `venueNotEnabledForWorkspace`, `venueNotListed`, `venueTradeKeyUnavailable`, `venueTradeScopeRequired`, `venueTradeUnreadable`, `venueUnavailable`, `walletRefused`, `withdrawalFeeUnread`, `acrossRoutedViaCctp`, `apiKeyOrganisationWalletNotAllowlisted`, `balanceAvailabilityUnconfirmed`, `bankDestinationUnavailable`, `bebopJamKeyNotEnabled`, `bebopJamQuoteDeclined`, `bebopTokenUnavailable`, `relayCurrencyUnsupported`, `relaySwapImpactTooHigh`, `tetrafiSolverCallbackNotAuthorized`, `tradingLinkSnapshotChanged`, `tradingLinkSnapshotUnavailable`, `uniswapChainReadUnavailable`, `uniswapInsufficientDepth`, `uniswapQuoteUnreadable`, `uniswapUnwrapAboveDailyCap`, `uniswapUnwrapAboveTradeCap`, `uniswapRouteNotGranted`, `venueNotEnabled`, `askLimitReached`, `balanceMeaningUnconfirmed`, `bebopQuorumWalletTooSlow`, `bebopWalletQuorumUnreadable`, `bebopBrowserWalletUnsupported`, `connectionNotConfigured`, `deliveryAccountNetworkUnavailable`, `deliveryAccountUnavailable`, `destinationCannotSendOnChain`, `dexReferencePriceUnavailable`, `firmQuoteLimited`, `fundingAccountNetworkUnavailable`, `fundingAccountUnavailable`, `insufficientDepth`, `missingPermission`, `needsNativeGas`, `needsWallet`, `notPriced`, `payInTermsUnavailable`, `pilotTradeCapExceeded`, `pilotMinimumAboveTradeCap`, `platformFeeRateUnavailable`, `pricingBookPairUnserved`, `settlementDeclarationUnavailable`, `settlementNotAvailable`, `timedOut`, `timedOutBeforeSend`, `tradingSourceNetworkUnavailable`, `tradingSourceNotLinked`, `venueEnablementRechecking`, `venueEnablementUnavailable`, `venueListingTimedOut`, `venuePoliciesUnavailable`, `multiliquidPaused`, `multiliquidAssetNotAccepted`, `walletNotAllowlistedForAsset`, `walletBlacklisted`, `multiliquidPriceInvalid`, `multiliquidStablePriceOutOfBand`, `multiliquidInsufficientLiquidity`, `multiliquidProviderPrefundUnavailable`, `multiliquidDailyLimitReached`, `eligibilityUnverifiable`, `multiliquidInsufficientBalance`, `multiliquidWalletFundsInsufficient`, `multiliquidInsufficientAllowance`, `walletTokenAccountFrozen`, `multiliquidAmountInTooHigh`, `multiliquidAmountOutTooLow`, `multiliquidInsufficientLpFeeBalance`, `multiliquidTransferFeeNotSupported`, `multiliquidParticipantUnavailable`, `multiliquidChainNotSupported`, `multiliquidObservationWalletUnavailable`, `privyMultiliquidArrayPinsUnsupported`, `cctpDestinationNotGranted`, `signingGrantNativeOnly`, `quoteRejectedInsufficientBalance`, `walletGateUnreadable`, `policyBlocked`, `treasuryPolicyApprovalRequired`, `destinationTagRequired`, `destinationTagMismatch`, `destinationTagInvalid`, `acrossBasicLaneNotEnabled`, `creditReadUnavailable`, `exactOutputFirmAskUnsupported`, `grantEndsBeforeVenueFunding`, `jurisdictionNotServed`, `pairUnsupported`, `requesterJurisdictionUnknown`, `venueAccountHasNoKey`, `venueAssessmentRequired`, `venueConnectionInvalid`, `venueReenableRequiresNewCredentials`, `venueTradingPaused`, `balanceNotObserved`, `notPermitted`, `balanceNotPermitted`, `gasUnchecked`, `catalogueWaitStateUnavailable`, `cctpRouteUpgrading`, `creditOnly`, `dexReferencePriceMissing`, `quoteAuthorityUnavailable`, `venueRoutingOff`, `venueRoutingStateUnavailable`, `indicativeUnavailable`, `marketUnavailable`, `noReferenceMid`, `observationBindingUnavailable`, `quoteIdUnavailable`, `stalePrice`.\n\nNew values may be added; treat unknown values as other.","enum":["clockUnavailable","assetUnsupported","referenceUndeclarable","referenceNotAdmitted","referenceStale","referenceDepth","marketDataUnavailable","calibrationUnavailable","livePriceUnavailable","lpQuoteUnavailable","platformJurisdictionCountryRequired","platformJurisdictionUnavailable","platformJurisdictionBlocked","venueJurisdictionExcluded","workspaceJurisdictionRequired","jurisdictionRegionRequired","jurisdictionUnavailable","venueKeyRefusedLikelyIpAllowlist","venueWithdrawalDestinationNotWhitelisted","adapterPayloadSerializationFailed","basicVenueAccountsUnavailable","billingPaymentOverdue","walletNotOnChain","ccxtVenueRequiresCexLane","executionStageDisabled","jurisdictionUnproven","onboardedVenuesUnavailable","onchainAccountDefaultWalletRequired","onchainAccountDefaultWalletUnavailable","onchainAccountWalletRequired","onchainAssetDecimalsMismatch","onchainAssetIdentityMismatch","onchainAssetUnmapped","onchainAssetVariantFiltered","onchainWalletUnavailable","onchainCatalogueUnavailable","onchainDeliverToNotReceivingWallet","onchainDeliverToUnverified","onchainMarketsUnavailable","onchainMarketCatalogUnreadable","onchainMarketChainRequired","onchainMarketVariantRequired","onchainMarketTokenRequired","onchainSiteChainUnreadable","onchainWalletChainUnreadable","onchainWalletInactive","onchainWalletNotLinked","onchainWalletNotUsable","onchainWalletPickAmbiguous","onchainWalletWrongNetwork","signerLacksRight","signerUnavailable","signingGrantAmbiguous","signingGrantExpired","nativeGrantExpiryReapprovalRequired","nativeBalanceUnavailable","solanaFinalityUnavailable","tronSolidBlockUnavailable","signingGrantPolicyUnreadable","signingGrantPolicyChecking","signingGrantRequired","signingGrantTokenNotKept","signingGrantTokenNotPayable","solverChainUnready","walletChainMismatch","walletNotUsableByYou","walletNotVerifiedForAce","walletNotWhitelisted","withdrawalChainUnsupported","accountFeeUnavailable","comparisonCostsUnavailable","connectionListingUnavailable","feeUnverified","noPool","noPrice","noSize","notFilled","notYetPublished","priceArithmetic","priceSourceNone","referenceMidUnavailable","settlementPrecisionUnavailable","accountSetupIncomplete","admissionUnavailable","advancedAccountEligibilityUnavailable","advancedAccountStateInconsistent","advancedConnectionDisabled","advancedConnectionNotConfigured","advancedConnectionPaused","advancedSettlementNeedsVerification","advancedModeDisabled","advancedNotAvailableForAccount","advancedNotEnabledForAccount","allowanceUnavailable","acrossCapacityExceeded","relayCapacityExceeded","acrossChainNotCarried","cctpChainNotCarried","cctpWalletRequired","acrossWalletRequired","walletBrowserSigningEvmOnly","relayChainNotCarried","apiKeyAdvancedWalletUnsupported","apiKeyOrganisationWalletScopeRequired","grantCapExceeded","amountAboveMaximum","amountBelowMinimum","belowVenueMinimum","amountUnreadable","amountsUnreadable","askFirst","authorityUnavailable","automationNeverAsks","availabilityUnreadable","backgroundNeverAsks","balanceUnreadable","defaultsUnavailable","walletHasNoAddress","walletUnavailable","bondAmountUnreadable","bondAssetUnreadable","catalogueUnavailable","chainFamilyUnknown","chainUnrecorded","clientSessionRequired","clockUnreadable","comingSoon","connectionChanged","connectionRevoked","corridorInvalid","credential","deadlineExceeded","defaultsLoading","deliverToCalldataUnsupported","deliverToTagUnsupported","deliverToNotPermitted","deliverToUnreadable","tradingPermissionRequired","directPatienceHarvest","economicallyInferior","exactAmountConflictsWithCard","exactAmountConflictsWithQuote","exactOutputDeliveryUnsupported","exactOutputEstimateUnavailable","exactRouteHypothesisUnavailable","expiredOnArrival","expiryUnknown","feeUnreadable","filteredOut","firmAskRefused","firmAskFundsTimedOut","firmAskPreparationTimedOut","quotePreparationFailed","firmAskAdmissionTimedOut","seliniFirmAskMarketsTimedOut","seliniFirmAskHandoffTimedOut","seliniFirmAskBeforePostTimedOut","seliniFirmAskValidationTimedOut","seliniFirmAskResponseTimedOut","seliniFirmAskTransportFailure","rfqQuoteRefusedQuoteNotAvailable","rfqQuoteRefusedQuotingDisabled","rfqQuoteRefusedClientRfqNotConfigured","rfqQuoteRefusedClientProfileNotLoaded","rfqQuoteRefusedMarketDisabled","rfqQuoteRefusedInvalidQuantity","rfqQuoteRefusedInvalidSide","rfqQuoteRefusedInvalidCurrency","rfqQuoteRefusedPricePrecisionError","rfqQuoteRefusedRfqError","rfqQuoteRefused","venueOutcomeIndeterminate","venueBodyUnreadable","venueResponseUnmapped","venueRateLimited","venueQuoteAdmissionExpired","placementSignedPastDeadline","quoteIdentityConflict","symbolUnsupported","marketSymbolAmbiguous","firmAskPrincipalRequired","indicativeRequested","freshnessUnknown","fundingWindow","insufficientLiquidity","venueRelationship","venueRelationshipUnavailable","lpUnknown","mfaEnrolmentRequired","mfaRequired","minimumUnverified","mixedNetworks","netReceivedUnavailable","networkUnrecorded","noAddress","noCard","noFetcher","noInventory","noLaneForPair","noLegs","noOnChainCorridor","noPlannedVenue","noQuote","noRpc","notConnected","notEligible","notExecutable","orderPayloadMissing","outsideTopComposites","pairUnmapped","sellChainInvalid","permissionsUnreadable","placeOrderNotPermitted","prefundingMarkerUnreadable","prefundingRequired","indicative","priceOnRequest","priceOutOfRange","priceProtectionInvalid","pricingBookOnly","productNotQuoted","protocolChainMissing","providerFeeTreatmentUnknown","providerSiteUnrecorded","quoteIdUnissuable","quoteNotHeld","buyChainInvalid","buyAmountUnsupported","exactOutputDebitUnavailable","pairNotServed","accountFundingReadUnverified","quoteReconfirmationRequired","quoteRejected","keyrockSecurityCatalogueUnavailable","venueAnsweredAfterQuoteWindow","venueQuoteIntentMismatch","payExactUnsupported","receiveWalletNotServed","referenceMidUnreadable","referencePriceUnavailable","registryUnavailable","releaseRecheckUnavailable","requestUnbuildable","routeLegChainUnknown","routeLegUnnamed","routeLegUnplanned","routeUnavailable","secondFactorUnreadable","shortfallUnmeasured","shortfallUnreadable","singleChainVenue","siteChainUnreadable","sizeNotEligible","submitOrderBlocked","takerOnboardingIncomplete","tierNotQuoted","tradePaused","venueConnectionStorageUnavailable","venueDataStale","venueDeclined","venueNotConnected","venueNotEnabledForWorkspace","venueNotListed","venueTradeKeyUnavailable","venueTradeScopeRequired","venueTradeUnreadable","venueUnavailable","walletRefused","withdrawalFeeUnread","acrossRoutedViaCctp","apiKeyOrganisationWalletNotAllowlisted","balanceAvailabilityUnconfirmed","bankDestinationUnavailable","bebopJamKeyNotEnabled","bebopJamQuoteDeclined","bebopTokenUnavailable","relayCurrencyUnsupported","relaySwapImpactTooHigh","tetrafiSolverCallbackNotAuthorized","tradingLinkSnapshotChanged","tradingLinkSnapshotUnavailable","uniswapChainReadUnavailable","uniswapInsufficientDepth","uniswapQuoteUnreadable","uniswapUnwrapAboveDailyCap","uniswapUnwrapAboveTradeCap","uniswapRouteNotGranted","venueNotEnabled","askLimitReached","balanceMeaningUnconfirmed","bebopQuorumWalletTooSlow","bebopWalletQuorumUnreadable","bebopBrowserWalletUnsupported","connectionNotConfigured","deliveryAccountNetworkUnavailable","deliveryAccountUnavailable","destinationCannotSendOnChain","dexReferencePriceUnavailable","firmQuoteLimited","fundingAccountNetworkUnavailable","fundingAccountUnavailable","insufficientDepth","missingPermission","needsNativeGas","needsWallet","notPriced","payInTermsUnavailable","pilotTradeCapExceeded","pilotMinimumAboveTradeCap","platformFeeRateUnavailable","pricingBookPairUnserved","settlementDeclarationUnavailable","settlementNotAvailable","timedOut","timedOutBeforeSend","tradingSourceNetworkUnavailable","tradingSourceNotLinked","venueEnablementRechecking","venueEnablementUnavailable","venueListingTimedOut","venuePoliciesUnavailable","multiliquidPaused","multiliquidAssetNotAccepted","walletNotAllowlistedForAsset","walletBlacklisted","multiliquidPriceInvalid","multiliquidStablePriceOutOfBand","multiliquidInsufficientLiquidity","multiliquidProviderPrefundUnavailable","multiliquidDailyLimitReached","eligibilityUnverifiable","multiliquidInsufficientBalance","multiliquidWalletFundsInsufficient","multiliquidInsufficientAllowance","walletTokenAccountFrozen","multiliquidAmountInTooHigh","multiliquidAmountOutTooLow","multiliquidInsufficientLpFeeBalance","multiliquidTransferFeeNotSupported","multiliquidParticipantUnavailable","multiliquidChainNotSupported","multiliquidObservationWalletUnavailable","privyMultiliquidArrayPinsUnsupported","cctpDestinationNotGranted","signingGrantNativeOnly","quoteRejectedInsufficientBalance","walletGateUnreadable","policyBlocked","treasuryPolicyApprovalRequired","destinationTagRequired","destinationTagMismatch","destinationTagInvalid","acrossBasicLaneNotEnabled","creditReadUnavailable","exactOutputFirmAskUnsupported","grantEndsBeforeVenueFunding","jurisdictionNotServed","pairUnsupported","requesterJurisdictionUnknown","venueAccountHasNoKey","venueAssessmentRequired","venueConnectionInvalid","venueReenableRequiresNewCredentials","venueTradingPaused","balanceNotObserved","notPermitted","balanceNotPermitted","gasUnchecked","catalogueWaitStateUnavailable","cctpRouteUpgrading","creditOnly","dexReferencePriceMissing","quoteAuthorityUnavailable","venueRoutingOff","venueRoutingStateUnavailable","indicativeUnavailable","marketUnavailable","noReferenceMid","observationBindingUnavailable","quoteIdUnavailable","stalePrice"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.reason.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"A machine-readable reason token the refusing step gave.\n\nKnown source reason tokens (not all apply to every status): `clockUnavailable`, `assetUnsupported`, `referenceUndeclarable`, `referenceNotAdmitted`, `referenceStale`, `referenceDepth`, `marketDataUnavailable`, `calibrationUnavailable`, `livePriceUnavailable`, `lpQuoteUnavailable`, `platformJurisdictionCountryRequired`, `platformJurisdictionUnavailable`, `platformJurisdictionBlocked`, `venueJurisdictionExcluded`, `workspaceJurisdictionRequired`, `jurisdictionRegionRequired`, `jurisdictionUnavailable`, `venueKeyRefusedLikelyIpAllowlist`, `venueWithdrawalDestinationNotWhitelisted`, `adapterPayloadSerializationFailed`, `basicVenueAccountsUnavailable`, `billingPaymentOverdue`, `walletNotOnChain`, `ccxtVenueRequiresCexLane`, `executionStageDisabled`, `jurisdictionUnproven`, `onboardedVenuesUnavailable`, `onchainAccountDefaultWalletRequired`, `onchainAccountDefaultWalletUnavailable`, `onchainAccountWalletRequired`, `onchainAssetDecimalsMismatch`, `onchainAssetIdentityMismatch`, `onchainAssetUnmapped`, `onchainAssetVariantFiltered`, `onchainWalletUnavailable`, `onchainCatalogueUnavailable`, `onchainDeliverToNotReceivingWallet`, `onchainDeliverToUnverified`, `onchainMarketsUnavailable`, `onchainMarketCatalogUnreadable`, `onchainMarketChainRequired`, `onchainMarketVariantRequired`, `onchainMarketTokenRequired`, `onchainSiteChainUnreadable`, `onchainWalletChainUnreadable`, `onchainWalletInactive`, `onchainWalletNotLinked`, `onchainWalletNotUsable`, `onchainWalletPickAmbiguous`, `onchainWalletWrongNetwork`, `signerLacksRight`, `signerUnavailable`, `signingGrantAmbiguous`, `signingGrantExpired`, `nativeGrantExpiryReapprovalRequired`, `nativeBalanceUnavailable`, `solanaFinalityUnavailable`, `tronSolidBlockUnavailable`, `signingGrantPolicyUnreadable`, `signingGrantPolicyChecking`, `signingGrantRequired`, `signingGrantTokenNotKept`, `signingGrantTokenNotPayable`, `solverChainUnready`, `walletChainMismatch`, `walletNotUsableByYou`, `walletNotVerifiedForAce`, `walletNotWhitelisted`, `withdrawalChainUnsupported`, `accountFeeUnavailable`, `comparisonCostsUnavailable`, `connectionListingUnavailable`, `feeUnverified`, `noPool`, `noPrice`, `noSize`, `notFilled`, `notYetPublished`, `priceArithmetic`, `priceSourceNone`, `referenceMidUnavailable`, `settlementPrecisionUnavailable`, `accountSetupIncomplete`, `admissionUnavailable`, `advancedAccountEligibilityUnavailable`, `advancedAccountStateInconsistent`, `advancedConnectionDisabled`, `advancedConnectionNotConfigured`, `advancedConnectionPaused`, `advancedSettlementNeedsVerification`, `advancedModeDisabled`, `advancedNotAvailableForAccount`, `advancedNotEnabledForAccount`, `allowanceUnavailable`, `acrossCapacityExceeded`, `relayCapacityExceeded`, `acrossChainNotCarried`, `cctpChainNotCarried`, `cctpWalletRequired`, `acrossWalletRequired`, `walletBrowserSigningEvmOnly`, `relayChainNotCarried`, `apiKeyAdvancedWalletUnsupported`, `apiKeyOrganisationWalletScopeRequired`, `grantCapExceeded`, `amountAboveMaximum`, `amountBelowMinimum`, `belowVenueMinimum`, `amountUnreadable`, `amountsUnreadable`, `askFirst`, `authorityUnavailable`, `automationNeverAsks`, `availabilityUnreadable`, `backgroundNeverAsks`, `balanceUnreadable`, `defaultsUnavailable`, `walletHasNoAddress`, `walletUnavailable`, `bondAmountUnreadable`, `bondAssetUnreadable`, `catalogueUnavailable`, `chainFamilyUnknown`, `chainUnrecorded`, `clientSessionRequired`, `clockUnreadable`, `comingSoon`, `connectionChanged`, `connectionRevoked`, `corridorInvalid`, `credential`, `deadlineExceeded`, `defaultsLoading`, `deliverToCalldataUnsupported`, `deliverToTagUnsupported`, `deliverToNotPermitted`, `deliverToUnreadable`, `tradingPermissionRequired`, `directPatienceHarvest`, `economicallyInferior`, `exactAmountConflictsWithCard`, `exactAmountConflictsWithQuote`, `exactOutputDeliveryUnsupported`, `exactOutputEstimateUnavailable`, `exactRouteHypothesisUnavailable`, `expiredOnArrival`, `expiryUnknown`, `feeUnreadable`, `filteredOut`, `firmAskRefused`, `firmAskFundsTimedOut`, `firmAskPreparationTimedOut`, `quotePreparationFailed`, `firmAskAdmissionTimedOut`, `seliniFirmAskMarketsTimedOut`, `seliniFirmAskHandoffTimedOut`, `seliniFirmAskBeforePostTimedOut`, `seliniFirmAskValidationTimedOut`, `seliniFirmAskResponseTimedOut`, `seliniFirmAskTransportFailure`, `rfqQuoteRefusedQuoteNotAvailable`, `rfqQuoteRefusedQuotingDisabled`, `rfqQuoteRefusedClientRfqNotConfigured`, `rfqQuoteRefusedClientProfileNotLoaded`, `rfqQuoteRefusedMarketDisabled`, `rfqQuoteRefusedInvalidQuantity`, `rfqQuoteRefusedInvalidSide`, `rfqQuoteRefusedInvalidCurrency`, `rfqQuoteRefusedPricePrecisionError`, `rfqQuoteRefusedRfqError`, `rfqQuoteRefused`, `venueOutcomeIndeterminate`, `venueBodyUnreadable`, `venueResponseUnmapped`, `venueRateLimited`, `venueQuoteAdmissionExpired`, `placementSignedPastDeadline`, `quoteIdentityConflict`, `symbolUnsupported`, `marketSymbolAmbiguous`, `firmAskPrincipalRequired`, `indicativeRequested`, `freshnessUnknown`, `fundingWindow`, `insufficientLiquidity`, `venueRelationship`, `venueRelationshipUnavailable`, `lpUnknown`, `mfaEnrolmentRequired`, `mfaRequired`, `minimumUnverified`, `mixedNetworks`, `netReceivedUnavailable`, `networkUnrecorded`, `noAddress`, `noCard`, `noFetcher`, `noInventory`, `noLaneForPair`, `noLegs`, `noOnChainCorridor`, `noPlannedVenue`, `noQuote`, `noRpc`, `notConnected`, `notEligible`, `notExecutable`, `orderPayloadMissing`, `outsideTopComposites`, `pairUnmapped`, `sellChainInvalid`, `permissionsUnreadable`, `placeOrderNotPermitted`, `prefundingMarkerUnreadable`, `prefundingRequired`, `indicative`, `priceOnRequest`, `priceOutOfRange`, `priceProtectionInvalid`, `pricingBookOnly`, `productNotQuoted`, `protocolChainMissing`, `providerFeeTreatmentUnknown`, `providerSiteUnrecorded`, `quoteIdUnissuable`, `quoteNotHeld`, `buyChainInvalid`, `buyAmountUnsupported`, `exactOutputDebitUnavailable`, `pairNotServed`, `accountFundingReadUnverified`, `quoteReconfirmationRequired`, `quoteRejected`, `keyrockSecurityCatalogueUnavailable`, `venueAnsweredAfterQuoteWindow`, `venueQuoteIntentMismatch`, `payExactUnsupported`, `receiveWalletNotServed`, `referenceMidUnreadable`, `referencePriceUnavailable`, `registryUnavailable`, `releaseRecheckUnavailable`, `requestUnbuildable`, `routeLegChainUnknown`, `routeLegUnnamed`, `routeLegUnplanned`, `routeUnavailable`, `secondFactorUnreadable`, `shortfallUnmeasured`, `shortfallUnreadable`, `singleChainVenue`, `siteChainUnreadable`, `sizeNotEligible`, `submitOrderBlocked`, `takerOnboardingIncomplete`, `tierNotQuoted`, `tradePaused`, `venueConnectionStorageUnavailable`, `venueDataStale`, `venueDeclined`, `venueNotConnected`, `venueNotEnabledForWorkspace`, `venueNotListed`, `venueTradeKeyUnavailable`, `venueTradeScopeRequired`, `venueTradeUnreadable`, `venueUnavailable`, `walletRefused`, `withdrawalFeeUnread`, `acrossRoutedViaCctp`, `apiKeyOrganisationWalletNotAllowlisted`, `balanceAvailabilityUnconfirmed`, `bankDestinationUnavailable`, `bebopJamKeyNotEnabled`, `bebopJamQuoteDeclined`, `bebopTokenUnavailable`, `relayCurrencyUnsupported`, `relaySwapImpactTooHigh`, `tetrafiSolverCallbackNotAuthorized`, `tradingLinkSnapshotChanged`, `tradingLinkSnapshotUnavailable`, `uniswapChainReadUnavailable`, `uniswapInsufficientDepth`, `uniswapQuoteUnreadable`, `uniswapUnwrapAboveDailyCap`, `uniswapUnwrapAboveTradeCap`, `uniswapRouteNotGranted`, `venueNotEnabled`, `askLimitReached`, `balanceMeaningUnconfirmed`, `bebopQuorumWalletTooSlow`, `bebopWalletQuorumUnreadable`, `bebopBrowserWalletUnsupported`, `connectionNotConfigured`, `deliveryAccountNetworkUnavailable`, `deliveryAccountUnavailable`, `destinationCannotSendOnChain`, `dexReferencePriceUnavailable`, `firmQuoteLimited`, `fundingAccountNetworkUnavailable`, `fundingAccountUnavailable`, `insufficientDepth`, `missingPermission`, `needsNativeGas`, `needsWallet`, `notPriced`, `payInTermsUnavailable`, `pilotTradeCapExceeded`, `pilotMinimumAboveTradeCap`, `platformFeeRateUnavailable`, `pricingBookPairUnserved`, `settlementDeclarationUnavailable`, `settlementNotAvailable`, `timedOut`, `timedOutBeforeSend`, `tradingSourceNetworkUnavailable`, `tradingSourceNotLinked`, `venueEnablementRechecking`, `venueEnablementUnavailable`, `venueListingTimedOut`, `venuePoliciesUnavailable`, `multiliquidPaused`, `multiliquidAssetNotAccepted`, `walletNotAllowlistedForAsset`, `walletBlacklisted`, `multiliquidPriceInvalid`, `multiliquidStablePriceOutOfBand`, `multiliquidInsufficientLiquidity`, `multiliquidProviderPrefundUnavailable`, `multiliquidDailyLimitReached`, `eligibilityUnverifiable`, `multiliquidInsufficientBalance`, `multiliquidWalletFundsInsufficient`, `multiliquidInsufficientAllowance`, `walletTokenAccountFrozen`, `multiliquidAmountInTooHigh`, `multiliquidAmountOutTooLow`, `multiliquidInsufficientLpFeeBalance`, `multiliquidTransferFeeNotSupported`, `multiliquidParticipantUnavailable`, `multiliquidChainNotSupported`, `multiliquidObservationWalletUnavailable`, `privyMultiliquidArrayPinsUnsupported`, `cctpDestinationNotGranted`, `signingGrantNativeOnly`, `quoteRejectedInsufficientBalance`, `walletGateUnreadable`, `policyBlocked`, `treasuryPolicyApprovalRequired`, `destinationTagRequired`, `destinationTagMismatch`, `destinationTagInvalid`, `acrossBasicLaneNotEnabled`, `creditReadUnavailable`, `exactOutputFirmAskUnsupported`, `grantEndsBeforeVenueFunding`, `jurisdictionNotServed`, `pairUnsupported`, `requesterJurisdictionUnknown`, `venueAccountHasNoKey`, `venueAssessmentRequired`, `venueConnectionInvalid`, `venueReenableRequiresNewCredentials`, `venueTradingPaused`, `balanceNotObserved`, `notPermitted`, `balanceNotPermitted`, `gasUnchecked`, `catalogueWaitStateUnavailable`, `cctpRouteUpgrading`, `creditOnly`, `dexReferencePriceMissing`, `quoteAuthorityUnavailable`, `venueRoutingOff`, `venueRoutingStateUnavailable`, `indicativeUnavailable`, `marketUnavailable`, `noReferenceMid`, `observationBindingUnavailable`, `quoteIdUnavailable`, `stalePrice`.\n\nNew values may be added; treat unknown values as other.","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.reason","typeLabel":"enum\u003cstring> | null"},"remediation":{"oneOf":[{"description":"A machine-readable recovery hint the refusing step gave.","type":"string","uniqueKey":"details.oneOf.1.remediation.oneOf.0","typeLabel":"string"},{"description":"A machine-readable recovery hint the refusing step gave.","type":"null","uniqueKey":"details.oneOf.1.remediation.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.remediation","typeLabel":"string | null"},"retryAfter":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.retryAfter.oneOf.0","typeLabel":"null"},{"type":"string","description":"Every `429`, and a `503` that knows: when to try again, as an ISO 8601 duration. The\n`Retry-After` header carries the same wait in whole seconds.","format":"duration","pattern":"^PT(?:[0-9]+H(?:[0-9]+M)?(?:[0-9]+(?:\\.[0-9]{1,3})?S)?|[0-9]+M(?:[0-9]+(?:\\.[0-9]{1,3})?S)?|[0-9]+(?:\\.[0-9]{1,3})?S)$","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","example":"PT120S","uniqueKey":"details.oneOf.1.retryAfter.oneOf.1","typeLabel":"string\u003cduration>"}],"uniqueKey":"details.oneOf.1.retryAfter","typeLabel":"null | string\u003cduration>"},"value":{"oneOf":[{"description":"`UNKNOWN_ASSET`, `UNKNOWN_CHAIN`, `UNKNOWN_VENUE`, `INVALID_AMOUNT`: the value refused;\n`ASSET_NOT_ON_CHAIN`: the pinned chain the Asset is not on.","type":"string","uniqueKey":"details.oneOf.1.value.oneOf.0","typeLabel":"string"},{"description":"`UNKNOWN_ASSET`, `UNKNOWN_CHAIN`, `UNKNOWN_VENUE`, `INVALID_AMOUNT`: the value refused;\n`ASSET_NOT_ON_CHAIN`: the pinned chain the Asset is not on.","type":"null","uniqueKey":"details.oneOf.1.value.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.value","typeLabel":"string | null"}},"additionalProperties":{"description":"Any further detail the code carries (for example `stepUpSubject`, `balanceShortfall`,\n`minimumAmount`), each named in camelCase.","uniqueKey":"details.oneOf.1.additionalProperties","typeLabel":"any"},"uniqueKey":"details.oneOf.1","typeLabel":"object"}],"uniqueKey":"details","typeLabel":"null | object"},"next":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"next.oneOf.0","typeLabel":"null"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["order"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.1.kind","typeLabel":"enum\u003cstring>"}},"uniqueKey":"next.oneOf.1","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["preflight"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.2.kind","typeLabel":"enum\u003cstring>"}},"uniqueKey":"next.oneOf.2","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["transactions","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["transact"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.3.kind","typeLabel":"enum\u003cstring>"},"transactions":{"items":{"description":"One transaction the Taker sends itself (an approval included).","properties":{"chain":{"description":"A CAIP-2 chain id (`eip155:8453`, `solana:\u003cgenesis>`, `tron:shasta`), syntax-checked:\na namespace of 3 to 8 lowercase letters, digits or `-`, and a reference of 1 to 32\nletters, digits, `-` or `_`. Compared exactly, as CAIP-2 references are case-sensitive.","example":"eip155:8453","type":"string","isRequired":true,"uniqueKey":"next.oneOf.3.transactions.items.[INDEX].chain","typeLabel":"string"},"data":{"description":"Hex calldata (`0x…`).","type":"string","isRequired":true,"uniqueKey":"next.oneOf.3.transactions.items.[INDEX].data","typeLabel":"string"},"to":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.3.transactions.items.[INDEX].to","typeLabel":"string"},"value":{"description":"Native value in base units, as a decimal string.","type":"string","isRequired":true,"uniqueKey":"next.oneOf.3.transactions.items.[INDEX].value","typeLabel":"string"}},"required":["chain","data","to","value"],"type":"object","uniqueKey":"next.oneOf.3.transactions.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"next.oneOf.3.transactions","typeLabel":"object[]"}},"uniqueKey":"next.oneOf.3","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["typedData","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["sign"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.4.kind","typeLabel":"enum\u003cstring>"},"typedData":{"oneOf":[{"isRequired":true}],"isRequired":true,"uniqueKey":"next.oneOf.4.typedData","typeLabel":"any"}},"uniqueKey":"next.oneOf.4","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["fund"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.kind","typeLabel":"enum\u003cstring>"},"instructions":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"next.oneOf.5.instructions.oneOf.0","typeLabel":"null"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["asset","chainRef","networkCode","networkConfirmed","address","tokenContract","observedAt","expiresAt","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.address","typeLabel":"string"},"asset":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.asset","typeLabel":"string"},"chainRef":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.chainRef","typeLabel":"string"},"expiresAt":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.expiresAt","typeLabel":"string\u003cdate-time>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["venueDeposit"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.kind","typeLabel":"enum\u003cstring>"},"networkCode":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.networkCode","typeLabel":"string"},"networkConfirmed":{"description":"False when the venue reports no network for this address: `networkCode`\nis empty and `chainRef` is the caller's selection, which the customer\nmust confirm with the venue before sending.","type":"boolean","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.networkConfirmed","typeLabel":"boolean"},"observedAt":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.observedAt","typeLabel":"string\u003cdate-time>"},"tokenContract":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.tokenContract","typeLabel":"string"},"memo":{"oneOf":[{"type":"string","uniqueKey":"next.oneOf.5.instructions.oneOf.1.memo.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"next.oneOf.5.instructions.oneOf.1.memo.oneOf.1","typeLabel":"null"}],"uniqueKey":"next.oneOf.5.instructions.oneOf.1.memo","typeLabel":"string | null"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.1","typeLabel":"object"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["accountLast4","amount","bankDisplayName","expiresAt","kind","revealRef"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"accountLast4":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.accountLast4.oneOf.0","typeLabel":"null"},{"type":"string","description":"An already-qualified masked suffix, not external account ownership proof.","maxLength":4,"minLength":1,"pattern":"^[A-Za-z0-9]{1,4}$","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","example":"A1b2","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.accountLast4.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.accountLast4","typeLabel":"null | string"},"amount":{"description":"A non-negative decimal string in Asset units (`\"10000\"`, `\"9994.0\"`): digits with an\noptional fraction, no sign, exponent or leading zero. Never a float and never base\nunits. A request amount must also be positive (`INVALID_AMOUNT`); a fee or a\nknown balance may be zero.","example":"10000","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.amount","typeLabel":"string"},"bankDisplayName":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.bankDisplayName.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.bankDisplayName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.bankDisplayName","typeLabel":"string | null"},"expiresAt":{"oneOf":[{"description":"UTC ISO instant, or null when expiry is UNKNOWN. Null never means no expiry.","format":"date-time","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.expiresAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"description":"UTC ISO instant, or null when expiry is UNKNOWN. Null never means no expiry.","format":"date-time","type":"null","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.expiresAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.expiresAt","typeLabel":"string\u003cdate-time> | null"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["bankDeposit"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.kind","typeLabel":"enum\u003cstring>"},"revealRef":{"description":"Non-bearer lookup metadata for deposit instructions. Possession grants no authority. Each reveal requires current wallet-view authority and exact account membership; an API key additionally needs treasury_read. Missing and foreign accounts share a refusal. Quotes never fetch these instructions.","properties":{"connectionId":{"description":"The native held leg's exact connection id, never a first/sole-connection guess.","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.connectionId","typeLabel":"string"},"currency":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.currency","typeLabel":"string"},"providerBankId":{"oneOf":[{"description":"The provider's linked-bank id when required by that venue; otherwise unknown/null.","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.providerBankId.oneOf.0","typeLabel":"string"},{"description":"The provider's linked-bank id when required by that venue; otherwise unknown/null.","type":"null","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.providerBankId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.providerBankId","typeLabel":"string | null"}},"required":["connectionId","currency","providerBankId"],"type":"object","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef","typeLabel":"object"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.2","typeLabel":"object"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["walletId","address","chain","asset","tokenContract","amount","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.address","typeLabel":"string"},"amount":{"description":"A non-negative decimal string in Asset units (`\"10000\"`, `\"9994.0\"`): digits with an\noptional fraction, no sign, exponent or leading zero. Never a float and never base\nunits. A request amount must also be positive (`INVALID_AMOUNT`); a fee or a\nknown balance may be zero.","example":"10000","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.amount","typeLabel":"string"},"asset":{"description":"A registry Asset id (`USDC`, `USDe`). Matched case-insensitively against the catalogue,\nwhich answers it in the registry's own spelling.","example":"USDC","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.asset","typeLabel":"string"},"chain":{"description":"A CAIP-2 chain id (`eip155:8453`, `solana:\u003cgenesis>`, `tron:shasta`), syntax-checked:\na namespace of 3 to 8 lowercase letters, digits or `-`, and a reference of 1 to 32\nletters, digits, `-` or `_`. Compared exactly, as CAIP-2 references are case-sensitive.","example":"eip155:8453","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.chain","typeLabel":"string"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["walletTopUp"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.kind","typeLabel":"enum\u003cstring>"},"tokenContract":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.tokenContract","typeLabel":"string"},"walletId":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.walletId","typeLabel":"string"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.3","typeLabel":"object"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["chain","amount","asset","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"amount":{"description":"A non-negative decimal string in Asset units (`\"10000\"`, `\"9994.0\"`): digits with an\noptional fraction, no sign, exponent or leading zero. Never a float and never base\nunits. A request amount must also be positive (`INVALID_AMOUNT`); a fee or a\nknown balance may be zero.","example":"10000","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.4.amount","typeLabel":"string"},"asset":{"description":"A registry Asset id (`USDC`, `USDe`). Matched case-insensitively against the catalogue,\nwhich answers it in the registry's own spelling.","example":"USDC","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.4.asset","typeLabel":"string"},"chain":{"description":"A CAIP-2 chain id (`eip155:8453`, `solana:\u003cgenesis>`, `tron:shasta`), syntax-checked:\na namespace of 3 to 8 lowercase letters, digits or `-`, and a reference of 1 to 32\nletters, digits, `-` or `_`. Compared exactly, as CAIP-2 references are case-sensitive.","example":"eip155:8453","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.4.chain","typeLabel":"string"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["nativeGas"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.4.kind","typeLabel":"enum\u003cstring>"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.4","typeLabel":"object"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["connectionId","amount","currency","reason","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"amount":{"description":"A non-negative decimal string in Asset units (`\"10000\"`, `\"9994.0\"`): digits with an\noptional fraction, no sign, exponent or leading zero. Never a float and never base\nunits. A request amount must also be positive (`INVALID_AMOUNT`); a fee or a\nknown balance may be zero.","example":"10000","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.amount","typeLabel":"string"},"connectionId":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.connectionId","typeLabel":"string"},"currency":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.currency","typeLabel":"string"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["depositFirstNotOffered"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.kind","typeLabel":"enum\u003cstring>"},"reason":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.reason","typeLabel":"string"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.5","typeLabel":"object"}],"uniqueKey":"next.oneOf.5.instructions","typeLabel":"null · object · object · object · object · object"}},"uniqueKey":"next.oneOf.5","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["needs","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["requote"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.6.kind","typeLabel":"enum\u003cstring>"},"needs":{"items":{"description":"A funding or delivery selection a requote needs filled. An empty `needs` means requote as is.\n\nNew values may be added; treat unknown values as other.","enum":["wallet:evm","wallet:solana","wallet:tron","account","bankAccount","deliverTo"],"type":"string","x-extensible-enum":true,"uniqueKey":"next.oneOf.6.needs.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","isRequired":true,"uniqueKey":"next.oneOf.6.needs","typeLabel":"enum\u003cstring>[]"}},"uniqueKey":"next.oneOf.6","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["search"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.7.kind","typeLabel":"enum\u003cstring>"}},"uniqueKey":"next.oneOf.7","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["retryAfter","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["wait"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.8.kind","typeLabel":"enum\u003cstring>"},"retryAfter":{"description":"An ISO 8601 duration, e.g. PT3S or PT2M.","examples":["PT120S"],"format":"duration","pattern":"^PT(?:[0-9]+H(?:[0-9]+M)?(?:[0-9]+(?:\\.[0-9]{1,3})?S)?|[0-9]+M(?:[0-9]+(?:\\.[0-9]{1,3})?S)?|[0-9]+(?:\\.[0-9]{1,3})?S)$","type":"string","isRequired":true,"uniqueKey":"next.oneOf.8.retryAfter","typeLabel":"string\u003cduration>"}},"uniqueKey":"next.oneOf.8","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["reference","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["contact"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.9.kind","typeLabel":"enum\u003cstring>"},"reference":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.9.reference","typeLabel":"string"}},"uniqueKey":"next.oneOf.9","typeLabel":"object"}],"uniqueKey":"next","typeLabel":"null · object · object · object · object · object · object · object · object · object"},"requestId":{"oneOf":[{"description":"The request's id, the value the `X-Request-Id` response header carries. Quote it when\nasking for support.","type":"string","uniqueKey":"requestId.oneOf.0","typeLabel":"string"},{"description":"The request's id, the value the `X-Request-Id` response header carries. Quote it when\nasking for support.","type":"null","uniqueKey":"requestId.oneOf.1","typeLabel":"null"}],"uniqueKey":"requestId","typeLabel":"string | null"}},"required":["error","docUrl","retryable","message","timestamp"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"docUrl":"\u003cstring>","error":"\u003cstring>","message":"\u003cstring>","retryable":true,"timestamp":"2023-11-07T05:31:56Z","details":{"capabilityBlockers":[{"code":"WORKSPACE_NOT_FOUND","estimate":"minutes","message":"\u003cstring>","unlockStep":"finishOnboarding","currentlyDue":["\u003cstring>"]}],"conflicts":["\u003cstring>"],"consentedWindow":{"cadence":{"dayBasis":"calendarDays","kind":"intraday","everyHours":1,"localTimes":["\u003cstring>"]},"scheduleId":"\u003cstring>","scheduleLabel":"\u003cstring>","scheduleVersion":123,"snapshotAt":"2023-11-07T05:31:56Z","windowId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","assumedBoundary":{"lpName":"\u003cstring>","source":"\u003cstring>","timeZone":"\u003cstring>"},"cutoffAt":"2023-11-07T05:31:56Z","paymentDeadlineAt":"2023-11-07T05:31:56Z","settlementBasis":"clock","settlesBy":"2023-11-07T05:31:56Z","statementIssuer":"\u003cstring>"},"currentWindow":{"cadence":{"dayBasis":"calendarDays","kind":"intraday","everyHours":1,"localTimes":["\u003cstring>"]},"scheduleId":"\u003cstring>","scheduleLabel":"\u003cstring>","scheduleVersion":123,"snapshotAt":"2023-11-07T05:31:56Z","windowId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","assumedBoundary":{"lpName":"\u003cstring>","source":"\u003cstring>","timeZone":"\u003cstring>"},"cutoffAt":"2023-11-07T05:31:56Z","paymentDeadlineAt":"2023-11-07T05:31:56Z","settlementBasis":"clock","settlesBy":"2023-11-07T05:31:56Z","statementIssuer":"\u003cstring>"},"field":"\u003cstring>","reason":"clockUnavailable","remediation":"\u003cstring>","retryAfter":"PT120S","value":"\u003cstring>"},"next":{"kind":"order"},"requestId":"\u003cstring>"}}},"exampleType":"generated"}},"description":"Too many requests. Wait the number of seconds in `Retry-After` before retrying.","headers":{"Deprecation":{"description":"Present when this operation is deprecated: an RFC 9745 structured date, for example @1792443399. Absence makes no deprecation claim.","schema":{"type":"string"}},"Link":{"description":"When deprecation applies, links to the deprecation notice with rel=deprecation; other link relations may also be sent.","schema":{"type":"string"}},"RateLimit":{"description":"draft-ietf-httpapi-ratelimit-headers-07 section 3.1 structured dictionary, for example `limit=100, remaining=41, reset=19`. Remaining is the admitted decision's headroom; reset is whole seconds until quota next becomes available, not an epoch or a promise of a full burst refill. On a limiter's 429 remaining is 0 and reset equals Retry-After. Accepted key, route and per-address policies are compared by lowest remaining, then longest reset. A venue refusal without a known quota makes no rate-limit header claim.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"draft-ietf-httpapi-ratelimit-headers-07 section 3.5: quota and window in seconds, for example `100;w=60`. Sent on every status when a finite limiter counted the request. The applicable policy closest to exhaustion is reported (section 3.2): lowest remaining, then longest reset. On a limiter's 429 this is exactly the policy that refused; if a venue discloses no quota, the headers are absent.","schema":{"type":"string"}},"Retry-After":{"description":"Whole seconds to wait before retrying. Always sent on 429; sent on 503 when the wait is known. `details.retryAfter` carries the same wait as an ISO 8601 duration.","schema":{"minimum":0,"type":"integer"}},"Sunset":{"description":"Present when retirement is scheduled: the HTTP-date after which this version may stop being served (RFC 8594).","schema":{"type":"string"}},"x-request-id":{"description":"The request's id: the caller's valid `X-Request-Id`, or a generated UUID v4. Quote it when asking for support.","schema":{"type":"string"}}},"exampleType":"generated"},"1233fe2d-debe-4285-b78e-d5473410cb63":{"content":{"application/json":{"schema":{"description":"The shared refusal body of every integrator operation, including edge-layer errors.\n`error` is an open, stable machine-readable code; `docUrl` links to its documentation and\n`retryable` says whether an unchanged request may succeed later. `message` is for people,\nnot matching. `timestamp` is RFC 3339 UTC; optional `requestId` mirrors `X-Request-Id`.\nOptional `next` describes recovery and `details` carries code-specific information.\nHandle known codes and fall back on the HTTP status for unknown ones.","properties":{"docUrl":{"description":"Stable documentation for this refusal code.","type":"string","isRequired":true,"uniqueKey":"docUrl","typeLabel":"string"},"error":{"description":"The machine-readable code, for example `QUOTE_EXPIRED`.","type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"description":"What happened, in words a person can read. Not for matching.","type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"retryable":{"description":"Whether an unchanged request may succeed later, from the error catalogue.","type":"boolean","isRequired":true,"uniqueKey":"retryable","typeLabel":"boolean"},"timestamp":{"description":"When the refusal was made, as an RFC 3339 UTC timestamp.","format":"date-time","type":"string","isRequired":true,"uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"},"details":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.0","typeLabel":"null"},{"type":"object","description":"The code's detail. Each field is present only on the codes named beside it; other codes may\ncarry further fields, named in camelCase, which a client may ignore.","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"capabilityBlockers":{"oneOf":[{"description":"`CAPABILITY_BLOCKED` and the other capability refusals: what blocks the workspace.","items":{"description":"One reason a capability is blocked, plus the step that unlocks it.","properties":{"code":{"description":"Stable machine-readable blocker codes returned by the capability gate.\n\nNew values may be added; treat unknown values as other.","enum":["WORKSPACE_NOT_FOUND","WORKSPACE_NOT_ACTIVE","WORKSPACE_SUSPENDED","PARENT_WORKSPACE_INACTIVE","INSUFFICIENT_PERMISSION","WORKSPACE_TYPE_UNSUPPORTED","BASE_PROFILE_INCOMPLETE","BASE_PROFILE_UNREADABLE","KYB_NOT_VERIFIED","KYC_NOT_VERIFIED","SANCTIONS_FLAGGED","MEMBER_COMPLIANCE_FROZEN","MEMBER_COMPLIANCE_DENIED","SCREENING_PENDING","SCREENING_UNAVAILABLE","GEO_RESTRICTED","WALLET_NOT_VERIFIED","DIRECT_USER_NOT_FOUND","DIRECT_USER_SUSPENDED","DIRECT_USER_KYC_NOT_VERIFIED","INSUFFICIENT_SCOPE","TREASURY_DISABLED","NO_USABLE_CREDENTIAL","CROSS_OWNER_WRITE_DENIED","AGGREGATE_SCOPE_READ_ONLY","OWNER_SCOPE_REQUIRED","VENUE_OPERATION_UNSUPPORTED","TAKER_ONBOARDING_INCOMPLETE","TAKER_ADMISSION_UNAVAILABLE"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].code","typeLabel":"enum\u003cstring>"},"estimate":{"description":"Coarse time-to-unlock class. The UI owns the copy; figures are engineering\nestimates until the KYB queue and Sumsub webhooks supply measured values.\n\nNew values may be added; treat unknown values as other.","enum":["minutes","formsThenReview","adminAction","otherParty","unknown","notUnlockable"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].estimate","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].message","typeLabel":"string"},"unlockStep":{"description":"Stable key of the step that unlocks this blocker. The UI maps it to a\nroute or dialog.","enum":["finishOnboarding","companyDetails","kybProfile","kycDialog","linkWallet","askAdmin","contactBroker","manageDirectUsers","manageApiKey","connectCustodian","switchAccountScope","contactSupport","awaitScreening","none"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].unlockStep","typeLabel":"enum\u003cstring>"},"currentlyDue":{"description":"Requirement keys still due, such as `kyb_review`, `actor_kyc` or\n`permission:place_order`. Empty when nothing specific is due.","items":{"type":"string","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].currentlyDue.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].currentlyDue","typeLabel":"string[]"}},"required":["code","message","unlockStep","estimate"],"type":"object","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0","typeLabel":"object[]"},{"description":"`CAPABILITY_BLOCKED` and the other capability refusals: what blocks the workspace.","items":{"description":"One reason a capability is blocked, plus the step that unlocks it.","properties":{"code":{"description":"Stable machine-readable blocker codes returned by the capability gate.\n\nNew values may be added; treat unknown values as other.","enum":["WORKSPACE_NOT_FOUND","WORKSPACE_NOT_ACTIVE","WORKSPACE_SUSPENDED","PARENT_WORKSPACE_INACTIVE","INSUFFICIENT_PERMISSION","WORKSPACE_TYPE_UNSUPPORTED","BASE_PROFILE_INCOMPLETE","BASE_PROFILE_UNREADABLE","KYB_NOT_VERIFIED","KYC_NOT_VERIFIED","SANCTIONS_FLAGGED","MEMBER_COMPLIANCE_FROZEN","MEMBER_COMPLIANCE_DENIED","SCREENING_PENDING","SCREENING_UNAVAILABLE","GEO_RESTRICTED","WALLET_NOT_VERIFIED","DIRECT_USER_NOT_FOUND","DIRECT_USER_SUSPENDED","DIRECT_USER_KYC_NOT_VERIFIED","INSUFFICIENT_SCOPE","TREASURY_DISABLED","NO_USABLE_CREDENTIAL","CROSS_OWNER_WRITE_DENIED","AGGREGATE_SCOPE_READ_ONLY","OWNER_SCOPE_REQUIRED","VENUE_OPERATION_UNSUPPORTED","TAKER_ONBOARDING_INCOMPLETE","TAKER_ADMISSION_UNAVAILABLE"],"type":"string","x-extensible-enum":true},"currentlyDue":{"description":"Requirement keys still due, such as `kyb_review`, `actor_kyc` or\n`permission:place_order`. Empty when nothing specific is due.","items":{"type":"string"},"type":"array"},"estimate":{"description":"Coarse time-to-unlock class. The UI owns the copy; figures are engineering\nestimates until the KYB queue and Sumsub webhooks supply measured values.\n\nNew values may be added; treat unknown values as other.","enum":["minutes","formsThenReview","adminAction","otherParty","unknown","notUnlockable"],"type":"string","x-extensible-enum":true},"message":{"type":"string"},"unlockStep":{"description":"Stable key of the step that unlocks this blocker. The UI maps it to a\nroute or dialog.","enum":["finishOnboarding","companyDetails","kybProfile","kycDialog","linkWallet","askAdmin","contactBroker","manageDirectUsers","manageApiKey","connectCustodian","switchAccountScope","contactSupport","awaitScreening","none"],"type":"string","x-extensible-enum":true}},"required":["code","message","unlockStep","estimate"],"type":"object"},"type":"null","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.capabilityBlockers","typeLabel":"object[] | null"},"conflicts":{"oneOf":[{"description":"`REQUOTE_FIELDS_CONFLICT`: the fields that cannot go with `requote`.","items":{"type":"string","uniqueKey":"details.oneOf.1.conflicts.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"details.oneOf.1.conflicts.oneOf.0","typeLabel":"string[]"},{"description":"`REQUOTE_FIELDS_CONFLICT`: the fields that cannot go with `requote`.","items":{"type":"string"},"type":"null","uniqueKey":"details.oneOf.1.conflicts.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.conflicts","typeLabel":"string[] | null"},"consentedWindow":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.0","typeLabel":"null"},{"type":"object","description":"`SETTLEMENT_WINDOW_CHANGED`: the settlement window the order consented to (the quoted\nwindow, or the one its `settlementWindowId` named), which is no longer the one assigned.","required":["windowId","scheduleId","scheduleVersion","scheduleLabel","cadence","snapshotAt"],"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"cadence":{"oneOf":[{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.dayBasis","typeLabel":"enum\u003cstring>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["intraday"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"everyHours":{"oneOf":[{"format":"int32","minimum":0,"type":"integer","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.everyHours.oneOf.0","typeLabel":"integer\u003cint32>"},{"format":"int32","minimum":0,"type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.everyHours.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.everyHours","typeLabel":"integer\u003cint32> | null"},"localTimes":{"oneOf":[{"items":{"type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.0","typeLabel":"string[]"},{"items":{"type":"string"},"type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.localTimes","typeLabel":"string[] | null"}},"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0","typeLabel":"object"},{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["days","dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.1.dayBasis","typeLabel":"enum\u003cstring>"},"days":{"format":"int32","minimum":0,"type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.1.days","typeLabel":"integer\u003cint32>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["daily"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.1.kind","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.1","typeLabel":"object"},{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["days","dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.2.dayBasis","typeLabel":"enum\u003cstring>"},"days":{"format":"int32","minimum":0,"type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.2.days","typeLabel":"integer\u003cint32>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["multiDay"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.2.kind","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.2","typeLabel":"object"}],"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence","typeLabel":"object"},"scheduleId":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.scheduleId","typeLabel":"string"},"scheduleLabel":{"description":"The published schedule version's display name (e.g. \"EU\"), so a quote card or Review\nnames the window without a settlement read permission.","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.scheduleLabel","typeLabel":"string"},"scheduleVersion":{"format":"int64","type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.scheduleVersion","typeLabel":"integer\u003cint64>"},"snapshotAt":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.snapshotAt","typeLabel":"string\u003cdate-time>"},"windowId":{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.windowId","typeLabel":"string\u003cuuid>"},"assumedBoundary":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.0","typeLabel":"null"},{"type":"object","description":"Present when the window's boundary comes from an assumed schedule term rather than the\nLP's confirmation: every surface shows the window as assumed until the LP confirms it.","required":["timeZone","source","lpName"],"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"lpName":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.1.lpName","typeLabel":"string"},"source":{"description":"Where the assumed boundary came from, as recorded in the settlement schedule; free text.","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.1.source","typeLabel":"string"},"timeZone":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.1.timeZone","typeLabel":"string"}},"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.1","typeLabel":"object"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary","typeLabel":"null | object"},"cutoffAt":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cutoffAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cutoffAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cutoffAt","typeLabel":"string\u003cdate-time> | null"},"paymentDeadlineAt":{"oneOf":[{"description":"The occurrence's payment deadline from its schedule terms: what a credit trade's debt is\npaid by. Absent while the schedule has not confirmed it; never derived from `settlesBy`.","format":"date-time","type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.paymentDeadlineAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"description":"The occurrence's payment deadline from its schedule terms: what a credit trade's debt is\npaid by. Absent while the schedule has not confirmed it; never derived from `settlesBy`.","format":"date-time","type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.paymentDeadlineAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.paymentDeadlineAt","typeLabel":"string\u003cdate-time> | null"},"settlementBasis":{"description":"What completes a window's settlement. `clock`: the occurrence's confirmed completion time\n(`settlesBy`). `onAgreement`: the LP issues the window's statement and the trade settles\nonce that statement is agreed (Keyrock), so the window states no clock time.\n\nNew values may be added; treat unknown values as other.","enum":["clock","onAgreement"],"type":"string","x-extensible-enum":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.settlementBasis","typeLabel":"enum\u003cstring>"},"settlesBy":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.settlesBy.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.settlesBy.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.settlesBy","typeLabel":"string\u003cdate-time> | null"},"statementIssuer":{"oneOf":[{"description":"The LP whose statement settles an `onAgreement` window (\"Keyrock\"); absent on a clock window.","type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.statementIssuer.oneOf.0","typeLabel":"string"},{"description":"The LP whose statement settles an `onAgreement` window (\"Keyrock\"); absent on a clock window.","type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.statementIssuer.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.statementIssuer","typeLabel":"string | null"}},"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1","typeLabel":"object"}],"uniqueKey":"details.oneOf.1.consentedWindow","typeLabel":"null | object"},"currentWindow":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.currentWindow.oneOf.0","typeLabel":"null"},{"type":"object","description":"`SETTLEMENT_WINDOW_CHANGED`: the settlement window the server assigns the trade now.\nSend the same quote again with `settlementWindowId` set to `details.currentWindow.windowId`\nto consent to it.","required":["windowId","scheduleId","scheduleVersion","scheduleLabel","cadence","snapshotAt"],"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"cadence":{"oneOf":[{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.dayBasis","typeLabel":"enum\u003cstring>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["intraday"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"everyHours":{"oneOf":[{"format":"int32","minimum":0,"type":"integer","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.everyHours.oneOf.0","typeLabel":"integer\u003cint32>"},{"format":"int32","minimum":0,"type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.everyHours.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.everyHours","typeLabel":"integer\u003cint32> | null"},"localTimes":{"oneOf":[{"items":{"type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.0","typeLabel":"string[]"},{"items":{"type":"string"},"type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.localTimes","typeLabel":"string[] | null"}},"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0","typeLabel":"object"},{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["days","dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.1.dayBasis","typeLabel":"enum\u003cstring>"},"days":{"format":"int32","minimum":0,"type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.1.days","typeLabel":"integer\u003cint32>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["daily"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.1.kind","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.1","typeLabel":"object"},{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["days","dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.2.dayBasis","typeLabel":"enum\u003cstring>"},"days":{"format":"int32","minimum":0,"type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.2.days","typeLabel":"integer\u003cint32>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["multiDay"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.2.kind","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.2","typeLabel":"object"}],"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence","typeLabel":"object"},"scheduleId":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.scheduleId","typeLabel":"string"},"scheduleLabel":{"description":"The published schedule version's display name (e.g. \"EU\"), so a quote card or Review\nnames the window without a settlement read permission.","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.scheduleLabel","typeLabel":"string"},"scheduleVersion":{"format":"int64","type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.scheduleVersion","typeLabel":"integer\u003cint64>"},"snapshotAt":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.snapshotAt","typeLabel":"string\u003cdate-time>"},"windowId":{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.windowId","typeLabel":"string\u003cuuid>"},"assumedBoundary":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.0","typeLabel":"null"},{"type":"object","description":"Present when the window's boundary comes from an assumed schedule term rather than the\nLP's confirmation: every surface shows the window as assumed until the LP confirms it.","required":["timeZone","source","lpName"],"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"lpName":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.1.lpName","typeLabel":"string"},"source":{"description":"Where the assumed boundary came from, as recorded in the settlement schedule; free text.","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.1.source","typeLabel":"string"},"timeZone":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.1.timeZone","typeLabel":"string"}},"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.1","typeLabel":"object"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary","typeLabel":"null | object"},"cutoffAt":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cutoffAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cutoffAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cutoffAt","typeLabel":"string\u003cdate-time> | null"},"paymentDeadlineAt":{"oneOf":[{"description":"The occurrence's payment deadline from its schedule terms: what a credit trade's debt is\npaid by. Absent while the schedule has not confirmed it; never derived from `settlesBy`.","format":"date-time","type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.paymentDeadlineAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"description":"The occurrence's payment deadline from its schedule terms: what a credit trade's debt is\npaid by. Absent while the schedule has not confirmed it; never derived from `settlesBy`.","format":"date-time","type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.paymentDeadlineAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.paymentDeadlineAt","typeLabel":"string\u003cdate-time> | null"},"settlementBasis":{"description":"What completes a window's settlement. `clock`: the occurrence's confirmed completion time\n(`settlesBy`). `onAgreement`: the LP issues the window's statement and the trade settles\nonce that statement is agreed (Keyrock), so the window states no clock time.\n\nNew values may be added; treat unknown values as other.","enum":["clock","onAgreement"],"type":"string","x-extensible-enum":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.settlementBasis","typeLabel":"enum\u003cstring>"},"settlesBy":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.settlesBy.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.settlesBy.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.settlesBy","typeLabel":"string\u003cdate-time> | null"},"statementIssuer":{"oneOf":[{"description":"The LP whose statement settles an `onAgreement` window (\"Keyrock\"); absent on a clock window.","type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.statementIssuer.oneOf.0","typeLabel":"string"},{"description":"The LP whose statement settles an `onAgreement` window (\"Keyrock\"); absent on a clock window.","type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.statementIssuer.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.statementIssuer","typeLabel":"string | null"}},"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1","typeLabel":"object"}],"uniqueKey":"details.oneOf.1.currentWindow","typeLabel":"null | object"},"field":{"oneOf":[{"description":"`INVALID_REQUEST`: the path of a missing required, unknown, mistyped or out-of-range\nfield (for example `buy` or `sell.asset`), never the parser's message or input value.","type":"string","uniqueKey":"details.oneOf.1.field.oneOf.0","typeLabel":"string"},{"description":"`INVALID_REQUEST`: the path of a missing required, unknown, mistyped or out-of-range\nfield (for example `buy` or `sell.asset`), never the parser's message or input value.","type":"null","uniqueKey":"details.oneOf.1.field.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.field","typeLabel":"string | null"},"reason":{"oneOf":[{"type":"string","description":"A machine-readable reason token the refusing step gave.\n\nKnown source reason tokens (not all apply to every status): `clockUnavailable`, `assetUnsupported`, `referenceUndeclarable`, `referenceNotAdmitted`, `referenceStale`, `referenceDepth`, `marketDataUnavailable`, `calibrationUnavailable`, `livePriceUnavailable`, `lpQuoteUnavailable`, `platformJurisdictionCountryRequired`, `platformJurisdictionUnavailable`, `platformJurisdictionBlocked`, `venueJurisdictionExcluded`, `workspaceJurisdictionRequired`, `jurisdictionRegionRequired`, `jurisdictionUnavailable`, `venueKeyRefusedLikelyIpAllowlist`, `venueWithdrawalDestinationNotWhitelisted`, `adapterPayloadSerializationFailed`, `basicVenueAccountsUnavailable`, `billingPaymentOverdue`, `walletNotOnChain`, `ccxtVenueRequiresCexLane`, `executionStageDisabled`, `jurisdictionUnproven`, `onboardedVenuesUnavailable`, `onchainAccountDefaultWalletRequired`, `onchainAccountDefaultWalletUnavailable`, `onchainAccountWalletRequired`, `onchainAssetDecimalsMismatch`, `onchainAssetIdentityMismatch`, `onchainAssetUnmapped`, `onchainAssetVariantFiltered`, `onchainWalletUnavailable`, `onchainCatalogueUnavailable`, `onchainDeliverToNotReceivingWallet`, `onchainDeliverToUnverified`, `onchainMarketsUnavailable`, `onchainMarketCatalogUnreadable`, `onchainMarketChainRequired`, `onchainMarketVariantRequired`, `onchainMarketTokenRequired`, `onchainSiteChainUnreadable`, `onchainWalletChainUnreadable`, `onchainWalletInactive`, `onchainWalletNotLinked`, `onchainWalletNotUsable`, `onchainWalletPickAmbiguous`, `onchainWalletWrongNetwork`, `signerLacksRight`, `signerUnavailable`, `signingGrantAmbiguous`, `signingGrantExpired`, `nativeGrantExpiryReapprovalRequired`, `nativeBalanceUnavailable`, `solanaFinalityUnavailable`, `tronSolidBlockUnavailable`, `signingGrantPolicyUnreadable`, `signingGrantPolicyChecking`, `signingGrantRequired`, `signingGrantTokenNotKept`, `signingGrantTokenNotPayable`, `solverChainUnready`, `walletChainMismatch`, `walletNotUsableByYou`, `walletNotVerifiedForAce`, `walletNotWhitelisted`, `withdrawalChainUnsupported`, `accountFeeUnavailable`, `comparisonCostsUnavailable`, `connectionListingUnavailable`, `feeUnverified`, `noPool`, `noPrice`, `noSize`, `notFilled`, `notYetPublished`, `priceArithmetic`, `priceSourceNone`, `referenceMidUnavailable`, `settlementPrecisionUnavailable`, `accountSetupIncomplete`, `admissionUnavailable`, `advancedAccountEligibilityUnavailable`, `advancedAccountStateInconsistent`, `advancedConnectionDisabled`, `advancedConnectionNotConfigured`, `advancedConnectionPaused`, `advancedSettlementNeedsVerification`, `advancedModeDisabled`, `advancedNotAvailableForAccount`, `advancedNotEnabledForAccount`, `allowanceUnavailable`, `acrossCapacityExceeded`, `relayCapacityExceeded`, `acrossChainNotCarried`, `cctpChainNotCarried`, `cctpWalletRequired`, `acrossWalletRequired`, `walletBrowserSigningEvmOnly`, `relayChainNotCarried`, `apiKeyAdvancedWalletUnsupported`, `apiKeyOrganisationWalletScopeRequired`, `grantCapExceeded`, `amountAboveMaximum`, `amountBelowMinimum`, `belowVenueMinimum`, `amountUnreadable`, `amountsUnreadable`, `askFirst`, `authorityUnavailable`, `automationNeverAsks`, `availabilityUnreadable`, `backgroundNeverAsks`, `balanceUnreadable`, `defaultsUnavailable`, `walletHasNoAddress`, `walletUnavailable`, `bondAmountUnreadable`, `bondAssetUnreadable`, `catalogueUnavailable`, `chainFamilyUnknown`, `chainUnrecorded`, `clientSessionRequired`, `clockUnreadable`, `comingSoon`, `connectionChanged`, `connectionRevoked`, `corridorInvalid`, `credential`, `deadlineExceeded`, `defaultsLoading`, `deliverToCalldataUnsupported`, `deliverToTagUnsupported`, `deliverToNotPermitted`, `deliverToUnreadable`, `tradingPermissionRequired`, `directPatienceHarvest`, `economicallyInferior`, `exactAmountConflictsWithCard`, `exactAmountConflictsWithQuote`, `exactOutputDeliveryUnsupported`, `exactOutputEstimateUnavailable`, `exactRouteHypothesisUnavailable`, `expiredOnArrival`, `expiryUnknown`, `feeUnreadable`, `filteredOut`, `firmAskRefused`, `firmAskFundsTimedOut`, `firmAskPreparationTimedOut`, `quotePreparationFailed`, `firmAskAdmissionTimedOut`, `seliniFirmAskMarketsTimedOut`, `seliniFirmAskHandoffTimedOut`, `seliniFirmAskBeforePostTimedOut`, `seliniFirmAskValidationTimedOut`, `seliniFirmAskResponseTimedOut`, `seliniFirmAskTransportFailure`, `rfqQuoteRefusedQuoteNotAvailable`, `rfqQuoteRefusedQuotingDisabled`, `rfqQuoteRefusedClientRfqNotConfigured`, `rfqQuoteRefusedClientProfileNotLoaded`, `rfqQuoteRefusedMarketDisabled`, `rfqQuoteRefusedInvalidQuantity`, `rfqQuoteRefusedInvalidSide`, `rfqQuoteRefusedInvalidCurrency`, `rfqQuoteRefusedPricePrecisionError`, `rfqQuoteRefusedRfqError`, `rfqQuoteRefused`, `venueOutcomeIndeterminate`, `venueBodyUnreadable`, `venueResponseUnmapped`, `venueRateLimited`, `venueQuoteAdmissionExpired`, `placementSignedPastDeadline`, `quoteIdentityConflict`, `symbolUnsupported`, `marketSymbolAmbiguous`, `firmAskPrincipalRequired`, `indicativeRequested`, `freshnessUnknown`, `fundingWindow`, `insufficientLiquidity`, `venueRelationship`, `venueRelationshipUnavailable`, `lpUnknown`, `mfaEnrolmentRequired`, `mfaRequired`, `minimumUnverified`, `mixedNetworks`, `netReceivedUnavailable`, `networkUnrecorded`, `noAddress`, `noCard`, `noFetcher`, `noInventory`, `noLaneForPair`, `noLegs`, `noOnChainCorridor`, `noPlannedVenue`, `noQuote`, `noRpc`, `notConnected`, `notEligible`, `notExecutable`, `orderPayloadMissing`, `outsideTopComposites`, `pairUnmapped`, `sellChainInvalid`, `permissionsUnreadable`, `placeOrderNotPermitted`, `prefundingMarkerUnreadable`, `prefundingRequired`, `indicative`, `priceOnRequest`, `priceOutOfRange`, `priceProtectionInvalid`, `pricingBookOnly`, `productNotQuoted`, `protocolChainMissing`, `providerFeeTreatmentUnknown`, `providerSiteUnrecorded`, `quoteIdUnissuable`, `quoteNotHeld`, `buyChainInvalid`, `buyAmountUnsupported`, `exactOutputDebitUnavailable`, `pairNotServed`, `accountFundingReadUnverified`, `quoteReconfirmationRequired`, `quoteRejected`, `keyrockSecurityCatalogueUnavailable`, `venueAnsweredAfterQuoteWindow`, `venueQuoteIntentMismatch`, `payExactUnsupported`, `receiveWalletNotServed`, `referenceMidUnreadable`, `referencePriceUnavailable`, `registryUnavailable`, `releaseRecheckUnavailable`, `requestUnbuildable`, `routeLegChainUnknown`, `routeLegUnnamed`, `routeLegUnplanned`, `routeUnavailable`, `secondFactorUnreadable`, `shortfallUnmeasured`, `shortfallUnreadable`, `singleChainVenue`, `siteChainUnreadable`, `sizeNotEligible`, `submitOrderBlocked`, `takerOnboardingIncomplete`, `tierNotQuoted`, `tradePaused`, `venueConnectionStorageUnavailable`, `venueDataStale`, `venueDeclined`, `venueNotConnected`, `venueNotEnabledForWorkspace`, `venueNotListed`, `venueTradeKeyUnavailable`, `venueTradeScopeRequired`, `venueTradeUnreadable`, `venueUnavailable`, `walletRefused`, `withdrawalFeeUnread`, `acrossRoutedViaCctp`, `apiKeyOrganisationWalletNotAllowlisted`, `balanceAvailabilityUnconfirmed`, `bankDestinationUnavailable`, `bebopJamKeyNotEnabled`, `bebopJamQuoteDeclined`, `bebopTokenUnavailable`, `relayCurrencyUnsupported`, `relaySwapImpactTooHigh`, `tetrafiSolverCallbackNotAuthorized`, `tradingLinkSnapshotChanged`, `tradingLinkSnapshotUnavailable`, `uniswapChainReadUnavailable`, `uniswapInsufficientDepth`, `uniswapQuoteUnreadable`, `uniswapUnwrapAboveDailyCap`, `uniswapUnwrapAboveTradeCap`, `uniswapRouteNotGranted`, `venueNotEnabled`, `askLimitReached`, `balanceMeaningUnconfirmed`, `bebopQuorumWalletTooSlow`, `bebopWalletQuorumUnreadable`, `bebopBrowserWalletUnsupported`, `connectionNotConfigured`, `deliveryAccountNetworkUnavailable`, `deliveryAccountUnavailable`, `destinationCannotSendOnChain`, `dexReferencePriceUnavailable`, `firmQuoteLimited`, `fundingAccountNetworkUnavailable`, `fundingAccountUnavailable`, `insufficientDepth`, `missingPermission`, `needsNativeGas`, `needsWallet`, `notPriced`, `payInTermsUnavailable`, `pilotTradeCapExceeded`, `pilotMinimumAboveTradeCap`, `platformFeeRateUnavailable`, `pricingBookPairUnserved`, `settlementDeclarationUnavailable`, `settlementNotAvailable`, `timedOut`, `timedOutBeforeSend`, `tradingSourceNetworkUnavailable`, `tradingSourceNotLinked`, `venueEnablementRechecking`, `venueEnablementUnavailable`, `venueListingTimedOut`, `venuePoliciesUnavailable`, `multiliquidPaused`, `multiliquidAssetNotAccepted`, `walletNotAllowlistedForAsset`, `walletBlacklisted`, `multiliquidPriceInvalid`, `multiliquidStablePriceOutOfBand`, `multiliquidInsufficientLiquidity`, `multiliquidProviderPrefundUnavailable`, `multiliquidDailyLimitReached`, `eligibilityUnverifiable`, `multiliquidInsufficientBalance`, `multiliquidWalletFundsInsufficient`, `multiliquidInsufficientAllowance`, `walletTokenAccountFrozen`, `multiliquidAmountInTooHigh`, `multiliquidAmountOutTooLow`, `multiliquidInsufficientLpFeeBalance`, `multiliquidTransferFeeNotSupported`, `multiliquidParticipantUnavailable`, `multiliquidChainNotSupported`, `multiliquidObservationWalletUnavailable`, `privyMultiliquidArrayPinsUnsupported`, `cctpDestinationNotGranted`, `signingGrantNativeOnly`, `quoteRejectedInsufficientBalance`, `walletGateUnreadable`, `policyBlocked`, `treasuryPolicyApprovalRequired`, `destinationTagRequired`, `destinationTagMismatch`, `destinationTagInvalid`, `acrossBasicLaneNotEnabled`, `creditReadUnavailable`, `exactOutputFirmAskUnsupported`, `grantEndsBeforeVenueFunding`, `jurisdictionNotServed`, `pairUnsupported`, `requesterJurisdictionUnknown`, `venueAccountHasNoKey`, `venueAssessmentRequired`, `venueConnectionInvalid`, `venueReenableRequiresNewCredentials`, `venueTradingPaused`, `balanceNotObserved`, `notPermitted`, `balanceNotPermitted`, `gasUnchecked`, `catalogueWaitStateUnavailable`, `cctpRouteUpgrading`, `creditOnly`, `dexReferencePriceMissing`, `quoteAuthorityUnavailable`, `venueRoutingOff`, `venueRoutingStateUnavailable`, `indicativeUnavailable`, `marketUnavailable`, `noReferenceMid`, `observationBindingUnavailable`, `quoteIdUnavailable`, `stalePrice`.\n\nNew values may be added; treat unknown values as other.","enum":["clockUnavailable","assetUnsupported","referenceUndeclarable","referenceNotAdmitted","referenceStale","referenceDepth","marketDataUnavailable","calibrationUnavailable","livePriceUnavailable","lpQuoteUnavailable","platformJurisdictionCountryRequired","platformJurisdictionUnavailable","platformJurisdictionBlocked","venueJurisdictionExcluded","workspaceJurisdictionRequired","jurisdictionRegionRequired","jurisdictionUnavailable","venueKeyRefusedLikelyIpAllowlist","venueWithdrawalDestinationNotWhitelisted","adapterPayloadSerializationFailed","basicVenueAccountsUnavailable","billingPaymentOverdue","walletNotOnChain","ccxtVenueRequiresCexLane","executionStageDisabled","jurisdictionUnproven","onboardedVenuesUnavailable","onchainAccountDefaultWalletRequired","onchainAccountDefaultWalletUnavailable","onchainAccountWalletRequired","onchainAssetDecimalsMismatch","onchainAssetIdentityMismatch","onchainAssetUnmapped","onchainAssetVariantFiltered","onchainWalletUnavailable","onchainCatalogueUnavailable","onchainDeliverToNotReceivingWallet","onchainDeliverToUnverified","onchainMarketsUnavailable","onchainMarketCatalogUnreadable","onchainMarketChainRequired","onchainMarketVariantRequired","onchainMarketTokenRequired","onchainSiteChainUnreadable","onchainWalletChainUnreadable","onchainWalletInactive","onchainWalletNotLinked","onchainWalletNotUsable","onchainWalletPickAmbiguous","onchainWalletWrongNetwork","signerLacksRight","signerUnavailable","signingGrantAmbiguous","signingGrantExpired","nativeGrantExpiryReapprovalRequired","nativeBalanceUnavailable","solanaFinalityUnavailable","tronSolidBlockUnavailable","signingGrantPolicyUnreadable","signingGrantPolicyChecking","signingGrantRequired","signingGrantTokenNotKept","signingGrantTokenNotPayable","solverChainUnready","walletChainMismatch","walletNotUsableByYou","walletNotVerifiedForAce","walletNotWhitelisted","withdrawalChainUnsupported","accountFeeUnavailable","comparisonCostsUnavailable","connectionListingUnavailable","feeUnverified","noPool","noPrice","noSize","notFilled","notYetPublished","priceArithmetic","priceSourceNone","referenceMidUnavailable","settlementPrecisionUnavailable","accountSetupIncomplete","admissionUnavailable","advancedAccountEligibilityUnavailable","advancedAccountStateInconsistent","advancedConnectionDisabled","advancedConnectionNotConfigured","advancedConnectionPaused","advancedSettlementNeedsVerification","advancedModeDisabled","advancedNotAvailableForAccount","advancedNotEnabledForAccount","allowanceUnavailable","acrossCapacityExceeded","relayCapacityExceeded","acrossChainNotCarried","cctpChainNotCarried","cctpWalletRequired","acrossWalletRequired","walletBrowserSigningEvmOnly","relayChainNotCarried","apiKeyAdvancedWalletUnsupported","apiKeyOrganisationWalletScopeRequired","grantCapExceeded","amountAboveMaximum","amountBelowMinimum","belowVenueMinimum","amountUnreadable","amountsUnreadable","askFirst","authorityUnavailable","automationNeverAsks","availabilityUnreadable","backgroundNeverAsks","balanceUnreadable","defaultsUnavailable","walletHasNoAddress","walletUnavailable","bondAmountUnreadable","bondAssetUnreadable","catalogueUnavailable","chainFamilyUnknown","chainUnrecorded","clientSessionRequired","clockUnreadable","comingSoon","connectionChanged","connectionRevoked","corridorInvalid","credential","deadlineExceeded","defaultsLoading","deliverToCalldataUnsupported","deliverToTagUnsupported","deliverToNotPermitted","deliverToUnreadable","tradingPermissionRequired","directPatienceHarvest","economicallyInferior","exactAmountConflictsWithCard","exactAmountConflictsWithQuote","exactOutputDeliveryUnsupported","exactOutputEstimateUnavailable","exactRouteHypothesisUnavailable","expiredOnArrival","expiryUnknown","feeUnreadable","filteredOut","firmAskRefused","firmAskFundsTimedOut","firmAskPreparationTimedOut","quotePreparationFailed","firmAskAdmissionTimedOut","seliniFirmAskMarketsTimedOut","seliniFirmAskHandoffTimedOut","seliniFirmAskBeforePostTimedOut","seliniFirmAskValidationTimedOut","seliniFirmAskResponseTimedOut","seliniFirmAskTransportFailure","rfqQuoteRefusedQuoteNotAvailable","rfqQuoteRefusedQuotingDisabled","rfqQuoteRefusedClientRfqNotConfigured","rfqQuoteRefusedClientProfileNotLoaded","rfqQuoteRefusedMarketDisabled","rfqQuoteRefusedInvalidQuantity","rfqQuoteRefusedInvalidSide","rfqQuoteRefusedInvalidCurrency","rfqQuoteRefusedPricePrecisionError","rfqQuoteRefusedRfqError","rfqQuoteRefused","venueOutcomeIndeterminate","venueBodyUnreadable","venueResponseUnmapped","venueRateLimited","venueQuoteAdmissionExpired","placementSignedPastDeadline","quoteIdentityConflict","symbolUnsupported","marketSymbolAmbiguous","firmAskPrincipalRequired","indicativeRequested","freshnessUnknown","fundingWindow","insufficientLiquidity","venueRelationship","venueRelationshipUnavailable","lpUnknown","mfaEnrolmentRequired","mfaRequired","minimumUnverified","mixedNetworks","netReceivedUnavailable","networkUnrecorded","noAddress","noCard","noFetcher","noInventory","noLaneForPair","noLegs","noOnChainCorridor","noPlannedVenue","noQuote","noRpc","notConnected","notEligible","notExecutable","orderPayloadMissing","outsideTopComposites","pairUnmapped","sellChainInvalid","permissionsUnreadable","placeOrderNotPermitted","prefundingMarkerUnreadable","prefundingRequired","indicative","priceOnRequest","priceOutOfRange","priceProtectionInvalid","pricingBookOnly","productNotQuoted","protocolChainMissing","providerFeeTreatmentUnknown","providerSiteUnrecorded","quoteIdUnissuable","quoteNotHeld","buyChainInvalid","buyAmountUnsupported","exactOutputDebitUnavailable","pairNotServed","accountFundingReadUnverified","quoteReconfirmationRequired","quoteRejected","keyrockSecurityCatalogueUnavailable","venueAnsweredAfterQuoteWindow","venueQuoteIntentMismatch","payExactUnsupported","receiveWalletNotServed","referenceMidUnreadable","referencePriceUnavailable","registryUnavailable","releaseRecheckUnavailable","requestUnbuildable","routeLegChainUnknown","routeLegUnnamed","routeLegUnplanned","routeUnavailable","secondFactorUnreadable","shortfallUnmeasured","shortfallUnreadable","singleChainVenue","siteChainUnreadable","sizeNotEligible","submitOrderBlocked","takerOnboardingIncomplete","tierNotQuoted","tradePaused","venueConnectionStorageUnavailable","venueDataStale","venueDeclined","venueNotConnected","venueNotEnabledForWorkspace","venueNotListed","venueTradeKeyUnavailable","venueTradeScopeRequired","venueTradeUnreadable","venueUnavailable","walletRefused","withdrawalFeeUnread","acrossRoutedViaCctp","apiKeyOrganisationWalletNotAllowlisted","balanceAvailabilityUnconfirmed","bankDestinationUnavailable","bebopJamKeyNotEnabled","bebopJamQuoteDeclined","bebopTokenUnavailable","relayCurrencyUnsupported","relaySwapImpactTooHigh","tetrafiSolverCallbackNotAuthorized","tradingLinkSnapshotChanged","tradingLinkSnapshotUnavailable","uniswapChainReadUnavailable","uniswapInsufficientDepth","uniswapQuoteUnreadable","uniswapUnwrapAboveDailyCap","uniswapUnwrapAboveTradeCap","uniswapRouteNotGranted","venueNotEnabled","askLimitReached","balanceMeaningUnconfirmed","bebopQuorumWalletTooSlow","bebopWalletQuorumUnreadable","bebopBrowserWalletUnsupported","connectionNotConfigured","deliveryAccountNetworkUnavailable","deliveryAccountUnavailable","destinationCannotSendOnChain","dexReferencePriceUnavailable","firmQuoteLimited","fundingAccountNetworkUnavailable","fundingAccountUnavailable","insufficientDepth","missingPermission","needsNativeGas","needsWallet","notPriced","payInTermsUnavailable","pilotTradeCapExceeded","pilotMinimumAboveTradeCap","platformFeeRateUnavailable","pricingBookPairUnserved","settlementDeclarationUnavailable","settlementNotAvailable","timedOut","timedOutBeforeSend","tradingSourceNetworkUnavailable","tradingSourceNotLinked","venueEnablementRechecking","venueEnablementUnavailable","venueListingTimedOut","venuePoliciesUnavailable","multiliquidPaused","multiliquidAssetNotAccepted","walletNotAllowlistedForAsset","walletBlacklisted","multiliquidPriceInvalid","multiliquidStablePriceOutOfBand","multiliquidInsufficientLiquidity","multiliquidProviderPrefundUnavailable","multiliquidDailyLimitReached","eligibilityUnverifiable","multiliquidInsufficientBalance","multiliquidWalletFundsInsufficient","multiliquidInsufficientAllowance","walletTokenAccountFrozen","multiliquidAmountInTooHigh","multiliquidAmountOutTooLow","multiliquidInsufficientLpFeeBalance","multiliquidTransferFeeNotSupported","multiliquidParticipantUnavailable","multiliquidChainNotSupported","multiliquidObservationWalletUnavailable","privyMultiliquidArrayPinsUnsupported","cctpDestinationNotGranted","signingGrantNativeOnly","quoteRejectedInsufficientBalance","walletGateUnreadable","policyBlocked","treasuryPolicyApprovalRequired","destinationTagRequired","destinationTagMismatch","destinationTagInvalid","acrossBasicLaneNotEnabled","creditReadUnavailable","exactOutputFirmAskUnsupported","grantEndsBeforeVenueFunding","jurisdictionNotServed","pairUnsupported","requesterJurisdictionUnknown","venueAccountHasNoKey","venueAssessmentRequired","venueConnectionInvalid","venueReenableRequiresNewCredentials","venueTradingPaused","balanceNotObserved","notPermitted","balanceNotPermitted","gasUnchecked","catalogueWaitStateUnavailable","cctpRouteUpgrading","creditOnly","dexReferencePriceMissing","quoteAuthorityUnavailable","venueRoutingOff","venueRoutingStateUnavailable","indicativeUnavailable","marketUnavailable","noReferenceMid","observationBindingUnavailable","quoteIdUnavailable","stalePrice"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.reason.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"A machine-readable reason token the refusing step gave.\n\nKnown source reason tokens (not all apply to every status): `clockUnavailable`, `assetUnsupported`, `referenceUndeclarable`, `referenceNotAdmitted`, `referenceStale`, `referenceDepth`, `marketDataUnavailable`, `calibrationUnavailable`, `livePriceUnavailable`, `lpQuoteUnavailable`, `platformJurisdictionCountryRequired`, `platformJurisdictionUnavailable`, `platformJurisdictionBlocked`, `venueJurisdictionExcluded`, `workspaceJurisdictionRequired`, `jurisdictionRegionRequired`, `jurisdictionUnavailable`, `venueKeyRefusedLikelyIpAllowlist`, `venueWithdrawalDestinationNotWhitelisted`, `adapterPayloadSerializationFailed`, `basicVenueAccountsUnavailable`, `billingPaymentOverdue`, `walletNotOnChain`, `ccxtVenueRequiresCexLane`, `executionStageDisabled`, `jurisdictionUnproven`, `onboardedVenuesUnavailable`, `onchainAccountDefaultWalletRequired`, `onchainAccountDefaultWalletUnavailable`, `onchainAccountWalletRequired`, `onchainAssetDecimalsMismatch`, `onchainAssetIdentityMismatch`, `onchainAssetUnmapped`, `onchainAssetVariantFiltered`, `onchainWalletUnavailable`, `onchainCatalogueUnavailable`, `onchainDeliverToNotReceivingWallet`, `onchainDeliverToUnverified`, `onchainMarketsUnavailable`, `onchainMarketCatalogUnreadable`, `onchainMarketChainRequired`, `onchainMarketVariantRequired`, `onchainMarketTokenRequired`, `onchainSiteChainUnreadable`, `onchainWalletChainUnreadable`, `onchainWalletInactive`, `onchainWalletNotLinked`, `onchainWalletNotUsable`, `onchainWalletPickAmbiguous`, `onchainWalletWrongNetwork`, `signerLacksRight`, `signerUnavailable`, `signingGrantAmbiguous`, `signingGrantExpired`, `nativeGrantExpiryReapprovalRequired`, `nativeBalanceUnavailable`, `solanaFinalityUnavailable`, `tronSolidBlockUnavailable`, `signingGrantPolicyUnreadable`, `signingGrantPolicyChecking`, `signingGrantRequired`, `signingGrantTokenNotKept`, `signingGrantTokenNotPayable`, `solverChainUnready`, `walletChainMismatch`, `walletNotUsableByYou`, `walletNotVerifiedForAce`, `walletNotWhitelisted`, `withdrawalChainUnsupported`, `accountFeeUnavailable`, `comparisonCostsUnavailable`, `connectionListingUnavailable`, `feeUnverified`, `noPool`, `noPrice`, `noSize`, `notFilled`, `notYetPublished`, `priceArithmetic`, `priceSourceNone`, `referenceMidUnavailable`, `settlementPrecisionUnavailable`, `accountSetupIncomplete`, `admissionUnavailable`, `advancedAccountEligibilityUnavailable`, `advancedAccountStateInconsistent`, `advancedConnectionDisabled`, `advancedConnectionNotConfigured`, `advancedConnectionPaused`, `advancedSettlementNeedsVerification`, `advancedModeDisabled`, `advancedNotAvailableForAccount`, `advancedNotEnabledForAccount`, `allowanceUnavailable`, `acrossCapacityExceeded`, `relayCapacityExceeded`, `acrossChainNotCarried`, `cctpChainNotCarried`, `cctpWalletRequired`, `acrossWalletRequired`, `walletBrowserSigningEvmOnly`, `relayChainNotCarried`, `apiKeyAdvancedWalletUnsupported`, `apiKeyOrganisationWalletScopeRequired`, `grantCapExceeded`, `amountAboveMaximum`, `amountBelowMinimum`, `belowVenueMinimum`, `amountUnreadable`, `amountsUnreadable`, `askFirst`, `authorityUnavailable`, `automationNeverAsks`, `availabilityUnreadable`, `backgroundNeverAsks`, `balanceUnreadable`, `defaultsUnavailable`, `walletHasNoAddress`, `walletUnavailable`, `bondAmountUnreadable`, `bondAssetUnreadable`, `catalogueUnavailable`, `chainFamilyUnknown`, `chainUnrecorded`, `clientSessionRequired`, `clockUnreadable`, `comingSoon`, `connectionChanged`, `connectionRevoked`, `corridorInvalid`, `credential`, `deadlineExceeded`, `defaultsLoading`, `deliverToCalldataUnsupported`, `deliverToTagUnsupported`, `deliverToNotPermitted`, `deliverToUnreadable`, `tradingPermissionRequired`, `directPatienceHarvest`, `economicallyInferior`, `exactAmountConflictsWithCard`, `exactAmountConflictsWithQuote`, `exactOutputDeliveryUnsupported`, `exactOutputEstimateUnavailable`, `exactRouteHypothesisUnavailable`, `expiredOnArrival`, `expiryUnknown`, `feeUnreadable`, `filteredOut`, `firmAskRefused`, `firmAskFundsTimedOut`, `firmAskPreparationTimedOut`, `quotePreparationFailed`, `firmAskAdmissionTimedOut`, `seliniFirmAskMarketsTimedOut`, `seliniFirmAskHandoffTimedOut`, `seliniFirmAskBeforePostTimedOut`, `seliniFirmAskValidationTimedOut`, `seliniFirmAskResponseTimedOut`, `seliniFirmAskTransportFailure`, `rfqQuoteRefusedQuoteNotAvailable`, `rfqQuoteRefusedQuotingDisabled`, `rfqQuoteRefusedClientRfqNotConfigured`, `rfqQuoteRefusedClientProfileNotLoaded`, `rfqQuoteRefusedMarketDisabled`, `rfqQuoteRefusedInvalidQuantity`, `rfqQuoteRefusedInvalidSide`, `rfqQuoteRefusedInvalidCurrency`, `rfqQuoteRefusedPricePrecisionError`, `rfqQuoteRefusedRfqError`, `rfqQuoteRefused`, `venueOutcomeIndeterminate`, `venueBodyUnreadable`, `venueResponseUnmapped`, `venueRateLimited`, `venueQuoteAdmissionExpired`, `placementSignedPastDeadline`, `quoteIdentityConflict`, `symbolUnsupported`, `marketSymbolAmbiguous`, `firmAskPrincipalRequired`, `indicativeRequested`, `freshnessUnknown`, `fundingWindow`, `insufficientLiquidity`, `venueRelationship`, `venueRelationshipUnavailable`, `lpUnknown`, `mfaEnrolmentRequired`, `mfaRequired`, `minimumUnverified`, `mixedNetworks`, `netReceivedUnavailable`, `networkUnrecorded`, `noAddress`, `noCard`, `noFetcher`, `noInventory`, `noLaneForPair`, `noLegs`, `noOnChainCorridor`, `noPlannedVenue`, `noQuote`, `noRpc`, `notConnected`, `notEligible`, `notExecutable`, `orderPayloadMissing`, `outsideTopComposites`, `pairUnmapped`, `sellChainInvalid`, `permissionsUnreadable`, `placeOrderNotPermitted`, `prefundingMarkerUnreadable`, `prefundingRequired`, `indicative`, `priceOnRequest`, `priceOutOfRange`, `priceProtectionInvalid`, `pricingBookOnly`, `productNotQuoted`, `protocolChainMissing`, `providerFeeTreatmentUnknown`, `providerSiteUnrecorded`, `quoteIdUnissuable`, `quoteNotHeld`, `buyChainInvalid`, `buyAmountUnsupported`, `exactOutputDebitUnavailable`, `pairNotServed`, `accountFundingReadUnverified`, `quoteReconfirmationRequired`, `quoteRejected`, `keyrockSecurityCatalogueUnavailable`, `venueAnsweredAfterQuoteWindow`, `venueQuoteIntentMismatch`, `payExactUnsupported`, `receiveWalletNotServed`, `referenceMidUnreadable`, `referencePriceUnavailable`, `registryUnavailable`, `releaseRecheckUnavailable`, `requestUnbuildable`, `routeLegChainUnknown`, `routeLegUnnamed`, `routeLegUnplanned`, `routeUnavailable`, `secondFactorUnreadable`, `shortfallUnmeasured`, `shortfallUnreadable`, `singleChainVenue`, `siteChainUnreadable`, `sizeNotEligible`, `submitOrderBlocked`, `takerOnboardingIncomplete`, `tierNotQuoted`, `tradePaused`, `venueConnectionStorageUnavailable`, `venueDataStale`, `venueDeclined`, `venueNotConnected`, `venueNotEnabledForWorkspace`, `venueNotListed`, `venueTradeKeyUnavailable`, `venueTradeScopeRequired`, `venueTradeUnreadable`, `venueUnavailable`, `walletRefused`, `withdrawalFeeUnread`, `acrossRoutedViaCctp`, `apiKeyOrganisationWalletNotAllowlisted`, `balanceAvailabilityUnconfirmed`, `bankDestinationUnavailable`, `bebopJamKeyNotEnabled`, `bebopJamQuoteDeclined`, `bebopTokenUnavailable`, `relayCurrencyUnsupported`, `relaySwapImpactTooHigh`, `tetrafiSolverCallbackNotAuthorized`, `tradingLinkSnapshotChanged`, `tradingLinkSnapshotUnavailable`, `uniswapChainReadUnavailable`, `uniswapInsufficientDepth`, `uniswapQuoteUnreadable`, `uniswapUnwrapAboveDailyCap`, `uniswapUnwrapAboveTradeCap`, `uniswapRouteNotGranted`, `venueNotEnabled`, `askLimitReached`, `balanceMeaningUnconfirmed`, `bebopQuorumWalletTooSlow`, `bebopWalletQuorumUnreadable`, `bebopBrowserWalletUnsupported`, `connectionNotConfigured`, `deliveryAccountNetworkUnavailable`, `deliveryAccountUnavailable`, `destinationCannotSendOnChain`, `dexReferencePriceUnavailable`, `firmQuoteLimited`, `fundingAccountNetworkUnavailable`, `fundingAccountUnavailable`, `insufficientDepth`, `missingPermission`, `needsNativeGas`, `needsWallet`, `notPriced`, `payInTermsUnavailable`, `pilotTradeCapExceeded`, `pilotMinimumAboveTradeCap`, `platformFeeRateUnavailable`, `pricingBookPairUnserved`, `settlementDeclarationUnavailable`, `settlementNotAvailable`, `timedOut`, `timedOutBeforeSend`, `tradingSourceNetworkUnavailable`, `tradingSourceNotLinked`, `venueEnablementRechecking`, `venueEnablementUnavailable`, `venueListingTimedOut`, `venuePoliciesUnavailable`, `multiliquidPaused`, `multiliquidAssetNotAccepted`, `walletNotAllowlistedForAsset`, `walletBlacklisted`, `multiliquidPriceInvalid`, `multiliquidStablePriceOutOfBand`, `multiliquidInsufficientLiquidity`, `multiliquidProviderPrefundUnavailable`, `multiliquidDailyLimitReached`, `eligibilityUnverifiable`, `multiliquidInsufficientBalance`, `multiliquidWalletFundsInsufficient`, `multiliquidInsufficientAllowance`, `walletTokenAccountFrozen`, `multiliquidAmountInTooHigh`, `multiliquidAmountOutTooLow`, `multiliquidInsufficientLpFeeBalance`, `multiliquidTransferFeeNotSupported`, `multiliquidParticipantUnavailable`, `multiliquidChainNotSupported`, `multiliquidObservationWalletUnavailable`, `privyMultiliquidArrayPinsUnsupported`, `cctpDestinationNotGranted`, `signingGrantNativeOnly`, `quoteRejectedInsufficientBalance`, `walletGateUnreadable`, `policyBlocked`, `treasuryPolicyApprovalRequired`, `destinationTagRequired`, `destinationTagMismatch`, `destinationTagInvalid`, `acrossBasicLaneNotEnabled`, `creditReadUnavailable`, `exactOutputFirmAskUnsupported`, `grantEndsBeforeVenueFunding`, `jurisdictionNotServed`, `pairUnsupported`, `requesterJurisdictionUnknown`, `venueAccountHasNoKey`, `venueAssessmentRequired`, `venueConnectionInvalid`, `venueReenableRequiresNewCredentials`, `venueTradingPaused`, `balanceNotObserved`, `notPermitted`, `balanceNotPermitted`, `gasUnchecked`, `catalogueWaitStateUnavailable`, `cctpRouteUpgrading`, `creditOnly`, `dexReferencePriceMissing`, `quoteAuthorityUnavailable`, `venueRoutingOff`, `venueRoutingStateUnavailable`, `indicativeUnavailable`, `marketUnavailable`, `noReferenceMid`, `observationBindingUnavailable`, `quoteIdUnavailable`, `stalePrice`.\n\nNew values may be added; treat unknown values as other.","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.reason","typeLabel":"enum\u003cstring> | null"},"remediation":{"oneOf":[{"description":"A machine-readable recovery hint the refusing step gave.","type":"string","uniqueKey":"details.oneOf.1.remediation.oneOf.0","typeLabel":"string"},{"description":"A machine-readable recovery hint the refusing step gave.","type":"null","uniqueKey":"details.oneOf.1.remediation.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.remediation","typeLabel":"string | null"},"retryAfter":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.retryAfter.oneOf.0","typeLabel":"null"},{"type":"string","description":"Every `429`, and a `503` that knows: when to try again, as an ISO 8601 duration. The\n`Retry-After` header carries the same wait in whole seconds.","format":"duration","pattern":"^PT(?:[0-9]+H(?:[0-9]+M)?(?:[0-9]+(?:\\.[0-9]{1,3})?S)?|[0-9]+M(?:[0-9]+(?:\\.[0-9]{1,3})?S)?|[0-9]+(?:\\.[0-9]{1,3})?S)$","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","example":"PT120S","uniqueKey":"details.oneOf.1.retryAfter.oneOf.1","typeLabel":"string\u003cduration>"}],"uniqueKey":"details.oneOf.1.retryAfter","typeLabel":"null | string\u003cduration>"},"value":{"oneOf":[{"description":"`UNKNOWN_ASSET`, `UNKNOWN_CHAIN`, `UNKNOWN_VENUE`, `INVALID_AMOUNT`: the value refused;\n`ASSET_NOT_ON_CHAIN`: the pinned chain the Asset is not on.","type":"string","uniqueKey":"details.oneOf.1.value.oneOf.0","typeLabel":"string"},{"description":"`UNKNOWN_ASSET`, `UNKNOWN_CHAIN`, `UNKNOWN_VENUE`, `INVALID_AMOUNT`: the value refused;\n`ASSET_NOT_ON_CHAIN`: the pinned chain the Asset is not on.","type":"null","uniqueKey":"details.oneOf.1.value.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.value","typeLabel":"string | null"}},"additionalProperties":{"description":"Any further detail the code carries (for example `stepUpSubject`, `balanceShortfall`,\n`minimumAmount`), each named in camelCase.","uniqueKey":"details.oneOf.1.additionalProperties","typeLabel":"any"},"uniqueKey":"details.oneOf.1","typeLabel":"object"}],"uniqueKey":"details","typeLabel":"null | object"},"next":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"next.oneOf.0","typeLabel":"null"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["order"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.1.kind","typeLabel":"enum\u003cstring>"}},"uniqueKey":"next.oneOf.1","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["preflight"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.2.kind","typeLabel":"enum\u003cstring>"}},"uniqueKey":"next.oneOf.2","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["transactions","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["transact"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.3.kind","typeLabel":"enum\u003cstring>"},"transactions":{"items":{"description":"One transaction the Taker sends itself (an approval included).","properties":{"chain":{"description":"A CAIP-2 chain id (`eip155:8453`, `solana:\u003cgenesis>`, `tron:shasta`), syntax-checked:\na namespace of 3 to 8 lowercase letters, digits or `-`, and a reference of 1 to 32\nletters, digits, `-` or `_`. Compared exactly, as CAIP-2 references are case-sensitive.","example":"eip155:8453","type":"string","isRequired":true,"uniqueKey":"next.oneOf.3.transactions.items.[INDEX].chain","typeLabel":"string"},"data":{"description":"Hex calldata (`0x…`).","type":"string","isRequired":true,"uniqueKey":"next.oneOf.3.transactions.items.[INDEX].data","typeLabel":"string"},"to":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.3.transactions.items.[INDEX].to","typeLabel":"string"},"value":{"description":"Native value in base units, as a decimal string.","type":"string","isRequired":true,"uniqueKey":"next.oneOf.3.transactions.items.[INDEX].value","typeLabel":"string"}},"required":["chain","data","to","value"],"type":"object","uniqueKey":"next.oneOf.3.transactions.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"next.oneOf.3.transactions","typeLabel":"object[]"}},"uniqueKey":"next.oneOf.3","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["typedData","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["sign"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.4.kind","typeLabel":"enum\u003cstring>"},"typedData":{"oneOf":[{"isRequired":true}],"isRequired":true,"uniqueKey":"next.oneOf.4.typedData","typeLabel":"any"}},"uniqueKey":"next.oneOf.4","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["fund"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.kind","typeLabel":"enum\u003cstring>"},"instructions":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"next.oneOf.5.instructions.oneOf.0","typeLabel":"null"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["asset","chainRef","networkCode","networkConfirmed","address","tokenContract","observedAt","expiresAt","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.address","typeLabel":"string"},"asset":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.asset","typeLabel":"string"},"chainRef":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.chainRef","typeLabel":"string"},"expiresAt":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.expiresAt","typeLabel":"string\u003cdate-time>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["venueDeposit"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.kind","typeLabel":"enum\u003cstring>"},"networkCode":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.networkCode","typeLabel":"string"},"networkConfirmed":{"description":"False when the venue reports no network for this address: `networkCode`\nis empty and `chainRef` is the caller's selection, which the customer\nmust confirm with the venue before sending.","type":"boolean","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.networkConfirmed","typeLabel":"boolean"},"observedAt":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.observedAt","typeLabel":"string\u003cdate-time>"},"tokenContract":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.tokenContract","typeLabel":"string"},"memo":{"oneOf":[{"type":"string","uniqueKey":"next.oneOf.5.instructions.oneOf.1.memo.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"next.oneOf.5.instructions.oneOf.1.memo.oneOf.1","typeLabel":"null"}],"uniqueKey":"next.oneOf.5.instructions.oneOf.1.memo","typeLabel":"string | null"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.1","typeLabel":"object"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["accountLast4","amount","bankDisplayName","expiresAt","kind","revealRef"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"accountLast4":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.accountLast4.oneOf.0","typeLabel":"null"},{"type":"string","description":"An already-qualified masked suffix, not external account ownership proof.","maxLength":4,"minLength":1,"pattern":"^[A-Za-z0-9]{1,4}$","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","example":"A1b2","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.accountLast4.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.accountLast4","typeLabel":"null | string"},"amount":{"description":"A non-negative decimal string in Asset units (`\"10000\"`, `\"9994.0\"`): digits with an\noptional fraction, no sign, exponent or leading zero. Never a float and never base\nunits. A request amount must also be positive (`INVALID_AMOUNT`); a fee or a\nknown balance may be zero.","example":"10000","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.amount","typeLabel":"string"},"bankDisplayName":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.bankDisplayName.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.bankDisplayName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.bankDisplayName","typeLabel":"string | null"},"expiresAt":{"oneOf":[{"description":"UTC ISO instant, or null when expiry is UNKNOWN. Null never means no expiry.","format":"date-time","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.expiresAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"description":"UTC ISO instant, or null when expiry is UNKNOWN. Null never means no expiry.","format":"date-time","type":"null","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.expiresAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.expiresAt","typeLabel":"string\u003cdate-time> | null"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["bankDeposit"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.kind","typeLabel":"enum\u003cstring>"},"revealRef":{"description":"Non-bearer lookup metadata for deposit instructions. Possession grants no authority. Each reveal requires current wallet-view authority and exact account membership; an API key additionally needs treasury_read. Missing and foreign accounts share a refusal. Quotes never fetch these instructions.","properties":{"connectionId":{"description":"The native held leg's exact connection id, never a first/sole-connection guess.","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.connectionId","typeLabel":"string"},"currency":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.currency","typeLabel":"string"},"providerBankId":{"oneOf":[{"description":"The provider's linked-bank id when required by that venue; otherwise unknown/null.","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.providerBankId.oneOf.0","typeLabel":"string"},{"description":"The provider's linked-bank id when required by that venue; otherwise unknown/null.","type":"null","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.providerBankId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.providerBankId","typeLabel":"string | null"}},"required":["connectionId","currency","providerBankId"],"type":"object","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef","typeLabel":"object"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.2","typeLabel":"object"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["walletId","address","chain","asset","tokenContract","amount","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.address","typeLabel":"string"},"amount":{"description":"A non-negative decimal string in Asset units (`\"10000\"`, `\"9994.0\"`): digits with an\noptional fraction, no sign, exponent or leading zero. Never a float and never base\nunits. A request amount must also be positive (`INVALID_AMOUNT`); a fee or a\nknown balance may be zero.","example":"10000","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.amount","typeLabel":"string"},"asset":{"description":"A registry Asset id (`USDC`, `USDe`). Matched case-insensitively against the catalogue,\nwhich answers it in the registry's own spelling.","example":"USDC","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.asset","typeLabel":"string"},"chain":{"description":"A CAIP-2 chain id (`eip155:8453`, `solana:\u003cgenesis>`, `tron:shasta`), syntax-checked:\na namespace of 3 to 8 lowercase letters, digits or `-`, and a reference of 1 to 32\nletters, digits, `-` or `_`. Compared exactly, as CAIP-2 references are case-sensitive.","example":"eip155:8453","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.chain","typeLabel":"string"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["walletTopUp"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.kind","typeLabel":"enum\u003cstring>"},"tokenContract":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.tokenContract","typeLabel":"string"},"walletId":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.walletId","typeLabel":"string"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.3","typeLabel":"object"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["chain","amount","asset","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"amount":{"description":"A non-negative decimal string in Asset units (`\"10000\"`, `\"9994.0\"`): digits with an\noptional fraction, no sign, exponent or leading zero. Never a float and never base\nunits. A request amount must also be positive (`INVALID_AMOUNT`); a fee or a\nknown balance may be zero.","example":"10000","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.4.amount","typeLabel":"string"},"asset":{"description":"A registry Asset id (`USDC`, `USDe`). Matched case-insensitively against the catalogue,\nwhich answers it in the registry's own spelling.","example":"USDC","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.4.asset","typeLabel":"string"},"chain":{"description":"A CAIP-2 chain id (`eip155:8453`, `solana:\u003cgenesis>`, `tron:shasta`), syntax-checked:\na namespace of 3 to 8 lowercase letters, digits or `-`, and a reference of 1 to 32\nletters, digits, `-` or `_`. Compared exactly, as CAIP-2 references are case-sensitive.","example":"eip155:8453","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.4.chain","typeLabel":"string"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["nativeGas"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.4.kind","typeLabel":"enum\u003cstring>"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.4","typeLabel":"object"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["connectionId","amount","currency","reason","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"amount":{"description":"A non-negative decimal string in Asset units (`\"10000\"`, `\"9994.0\"`): digits with an\noptional fraction, no sign, exponent or leading zero. Never a float and never base\nunits. A request amount must also be positive (`INVALID_AMOUNT`); a fee or a\nknown balance may be zero.","example":"10000","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.amount","typeLabel":"string"},"connectionId":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.connectionId","typeLabel":"string"},"currency":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.currency","typeLabel":"string"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["depositFirstNotOffered"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.kind","typeLabel":"enum\u003cstring>"},"reason":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.reason","typeLabel":"string"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.5","typeLabel":"object"}],"uniqueKey":"next.oneOf.5.instructions","typeLabel":"null · object · object · object · object · object"}},"uniqueKey":"next.oneOf.5","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["needs","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["requote"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.6.kind","typeLabel":"enum\u003cstring>"},"needs":{"items":{"description":"A funding or delivery selection a requote needs filled. An empty `needs` means requote as is.\n\nNew values may be added; treat unknown values as other.","enum":["wallet:evm","wallet:solana","wallet:tron","account","bankAccount","deliverTo"],"type":"string","x-extensible-enum":true,"uniqueKey":"next.oneOf.6.needs.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","isRequired":true,"uniqueKey":"next.oneOf.6.needs","typeLabel":"enum\u003cstring>[]"}},"uniqueKey":"next.oneOf.6","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["search"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.7.kind","typeLabel":"enum\u003cstring>"}},"uniqueKey":"next.oneOf.7","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["retryAfter","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["wait"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.8.kind","typeLabel":"enum\u003cstring>"},"retryAfter":{"description":"An ISO 8601 duration, e.g. PT3S or PT2M.","examples":["PT120S"],"format":"duration","pattern":"^PT(?:[0-9]+H(?:[0-9]+M)?(?:[0-9]+(?:\\.[0-9]{1,3})?S)?|[0-9]+M(?:[0-9]+(?:\\.[0-9]{1,3})?S)?|[0-9]+(?:\\.[0-9]{1,3})?S)$","type":"string","isRequired":true,"uniqueKey":"next.oneOf.8.retryAfter","typeLabel":"string\u003cduration>"}},"uniqueKey":"next.oneOf.8","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["reference","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["contact"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.9.kind","typeLabel":"enum\u003cstring>"},"reference":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.9.reference","typeLabel":"string"}},"uniqueKey":"next.oneOf.9","typeLabel":"object"}],"uniqueKey":"next","typeLabel":"null · object · object · object · object · object · object · object · object · object"},"requestId":{"oneOf":[{"description":"The request's id, the value the `X-Request-Id` response header carries. Quote it when\nasking for support.","type":"string","uniqueKey":"requestId.oneOf.0","typeLabel":"string"},{"description":"The request's id, the value the `X-Request-Id` response header carries. Quote it when\nasking for support.","type":"null","uniqueKey":"requestId.oneOf.1","typeLabel":"null"}],"uniqueKey":"requestId","typeLabel":"string | null"}},"required":["error","docUrl","retryable","message","timestamp"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"docUrl":"\u003cstring>","error":"\u003cstring>","message":"\u003cstring>","retryable":true,"timestamp":"2023-11-07T05:31:56Z","details":{"capabilityBlockers":[{"code":"WORKSPACE_NOT_FOUND","estimate":"minutes","message":"\u003cstring>","unlockStep":"finishOnboarding","currentlyDue":["\u003cstring>"]}],"conflicts":["\u003cstring>"],"consentedWindow":{"cadence":{"dayBasis":"calendarDays","kind":"intraday","everyHours":1,"localTimes":["\u003cstring>"]},"scheduleId":"\u003cstring>","scheduleLabel":"\u003cstring>","scheduleVersion":123,"snapshotAt":"2023-11-07T05:31:56Z","windowId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","assumedBoundary":{"lpName":"\u003cstring>","source":"\u003cstring>","timeZone":"\u003cstring>"},"cutoffAt":"2023-11-07T05:31:56Z","paymentDeadlineAt":"2023-11-07T05:31:56Z","settlementBasis":"clock","settlesBy":"2023-11-07T05:31:56Z","statementIssuer":"\u003cstring>"},"currentWindow":{"cadence":{"dayBasis":"calendarDays","kind":"intraday","everyHours":1,"localTimes":["\u003cstring>"]},"scheduleId":"\u003cstring>","scheduleLabel":"\u003cstring>","scheduleVersion":123,"snapshotAt":"2023-11-07T05:31:56Z","windowId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","assumedBoundary":{"lpName":"\u003cstring>","source":"\u003cstring>","timeZone":"\u003cstring>"},"cutoffAt":"2023-11-07T05:31:56Z","paymentDeadlineAt":"2023-11-07T05:31:56Z","settlementBasis":"clock","settlesBy":"2023-11-07T05:31:56Z","statementIssuer":"\u003cstring>"},"field":"\u003cstring>","reason":"clockUnavailable","remediation":"\u003cstring>","retryAfter":"PT120S","value":"\u003cstring>"},"next":{"kind":"order"},"requestId":"\u003cstring>"}}},"exampleType":"generated"}},"description":"Something went wrong on our side.","headers":{"Deprecation":{"description":"Present when this operation is deprecated: an RFC 9745 structured date, for example @1792443399. Absence makes no deprecation claim.","schema":{"type":"string"}},"Link":{"description":"When deprecation applies, links to the deprecation notice with rel=deprecation; other link relations may also be sent.","schema":{"type":"string"}},"RateLimit":{"description":"draft-ietf-httpapi-ratelimit-headers-07 section 3.1 structured dictionary, for example `limit=100, remaining=41, reset=19`. Remaining is the admitted decision's headroom; reset is whole seconds until quota next becomes available, not an epoch or a promise of a full burst refill. On a limiter's 429 remaining is 0 and reset equals Retry-After. Accepted key, route and per-address policies are compared by lowest remaining, then longest reset. A venue refusal without a known quota makes no rate-limit header claim.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"draft-ietf-httpapi-ratelimit-headers-07 section 3.5: quota and window in seconds, for example `100;w=60`. Sent on every status when a finite limiter counted the request. The applicable policy closest to exhaustion is reported (section 3.2): lowest remaining, then longest reset. On a limiter's 429 this is exactly the policy that refused; if a venue discloses no quota, the headers are absent.","schema":{"type":"string"}},"Sunset":{"description":"Present when retirement is scheduled: the HTTP-date after which this version may stop being served (RFC 8594).","schema":{"type":"string"}},"x-request-id":{"description":"The request's id: the caller's valid `X-Request-Id`, or a generated UUID v4. Quote it when asking for support.","schema":{"type":"string"}}},"exampleType":"generated"},"f6a31c89-2ffc-47a4-80dc-ce9d97a3eb59":{"content":{"application/json":{"schema":{"description":"The shared refusal body of every integrator operation, including edge-layer errors.\n`error` is an open, stable machine-readable code; `docUrl` links to its documentation and\n`retryable` says whether an unchanged request may succeed later. `message` is for people,\nnot matching. `timestamp` is RFC 3339 UTC; optional `requestId` mirrors `X-Request-Id`.\nOptional `next` describes recovery and `details` carries code-specific information.\nHandle known codes and fall back on the HTTP status for unknown ones.","properties":{"docUrl":{"description":"Stable documentation for this refusal code.","type":"string","isRequired":true,"uniqueKey":"docUrl","typeLabel":"string"},"error":{"description":"The machine-readable code, for example `QUOTE_EXPIRED`.","type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"description":"What happened, in words a person can read. Not for matching.","type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"retryable":{"description":"Whether an unchanged request may succeed later, from the error catalogue.","type":"boolean","isRequired":true,"uniqueKey":"retryable","typeLabel":"boolean"},"timestamp":{"description":"When the refusal was made, as an RFC 3339 UTC timestamp.","format":"date-time","type":"string","isRequired":true,"uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"},"details":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.0","typeLabel":"null"},{"type":"object","description":"The code's detail. Each field is present only on the codes named beside it; other codes may\ncarry further fields, named in camelCase, which a client may ignore.","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"capabilityBlockers":{"oneOf":[{"description":"`CAPABILITY_BLOCKED` and the other capability refusals: what blocks the workspace.","items":{"description":"One reason a capability is blocked, plus the step that unlocks it.","properties":{"code":{"description":"Stable machine-readable blocker codes returned by the capability gate.\n\nNew values may be added; treat unknown values as other.","enum":["WORKSPACE_NOT_FOUND","WORKSPACE_NOT_ACTIVE","WORKSPACE_SUSPENDED","PARENT_WORKSPACE_INACTIVE","INSUFFICIENT_PERMISSION","WORKSPACE_TYPE_UNSUPPORTED","BASE_PROFILE_INCOMPLETE","BASE_PROFILE_UNREADABLE","KYB_NOT_VERIFIED","KYC_NOT_VERIFIED","SANCTIONS_FLAGGED","MEMBER_COMPLIANCE_FROZEN","MEMBER_COMPLIANCE_DENIED","SCREENING_PENDING","SCREENING_UNAVAILABLE","GEO_RESTRICTED","WALLET_NOT_VERIFIED","DIRECT_USER_NOT_FOUND","DIRECT_USER_SUSPENDED","DIRECT_USER_KYC_NOT_VERIFIED","INSUFFICIENT_SCOPE","TREASURY_DISABLED","NO_USABLE_CREDENTIAL","CROSS_OWNER_WRITE_DENIED","AGGREGATE_SCOPE_READ_ONLY","OWNER_SCOPE_REQUIRED","VENUE_OPERATION_UNSUPPORTED","TAKER_ONBOARDING_INCOMPLETE","TAKER_ADMISSION_UNAVAILABLE"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].code","typeLabel":"enum\u003cstring>"},"estimate":{"description":"Coarse time-to-unlock class. The UI owns the copy; figures are engineering\nestimates until the KYB queue and Sumsub webhooks supply measured values.\n\nNew values may be added; treat unknown values as other.","enum":["minutes","formsThenReview","adminAction","otherParty","unknown","notUnlockable"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].estimate","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].message","typeLabel":"string"},"unlockStep":{"description":"Stable key of the step that unlocks this blocker. The UI maps it to a\nroute or dialog.","enum":["finishOnboarding","companyDetails","kybProfile","kycDialog","linkWallet","askAdmin","contactBroker","manageDirectUsers","manageApiKey","connectCustodian","switchAccountScope","contactSupport","awaitScreening","none"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].unlockStep","typeLabel":"enum\u003cstring>"},"currentlyDue":{"description":"Requirement keys still due, such as `kyb_review`, `actor_kyc` or\n`permission:place_order`. Empty when nothing specific is due.","items":{"type":"string","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].currentlyDue.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX].currentlyDue","typeLabel":"string[]"}},"required":["code","message","unlockStep","estimate"],"type":"object","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.0","typeLabel":"object[]"},{"description":"`CAPABILITY_BLOCKED` and the other capability refusals: what blocks the workspace.","items":{"description":"One reason a capability is blocked, plus the step that unlocks it.","properties":{"code":{"description":"Stable machine-readable blocker codes returned by the capability gate.\n\nNew values may be added; treat unknown values as other.","enum":["WORKSPACE_NOT_FOUND","WORKSPACE_NOT_ACTIVE","WORKSPACE_SUSPENDED","PARENT_WORKSPACE_INACTIVE","INSUFFICIENT_PERMISSION","WORKSPACE_TYPE_UNSUPPORTED","BASE_PROFILE_INCOMPLETE","BASE_PROFILE_UNREADABLE","KYB_NOT_VERIFIED","KYC_NOT_VERIFIED","SANCTIONS_FLAGGED","MEMBER_COMPLIANCE_FROZEN","MEMBER_COMPLIANCE_DENIED","SCREENING_PENDING","SCREENING_UNAVAILABLE","GEO_RESTRICTED","WALLET_NOT_VERIFIED","DIRECT_USER_NOT_FOUND","DIRECT_USER_SUSPENDED","DIRECT_USER_KYC_NOT_VERIFIED","INSUFFICIENT_SCOPE","TREASURY_DISABLED","NO_USABLE_CREDENTIAL","CROSS_OWNER_WRITE_DENIED","AGGREGATE_SCOPE_READ_ONLY","OWNER_SCOPE_REQUIRED","VENUE_OPERATION_UNSUPPORTED","TAKER_ONBOARDING_INCOMPLETE","TAKER_ADMISSION_UNAVAILABLE"],"type":"string","x-extensible-enum":true},"currentlyDue":{"description":"Requirement keys still due, such as `kyb_review`, `actor_kyc` or\n`permission:place_order`. Empty when nothing specific is due.","items":{"type":"string"},"type":"array"},"estimate":{"description":"Coarse time-to-unlock class. The UI owns the copy; figures are engineering\nestimates until the KYB queue and Sumsub webhooks supply measured values.\n\nNew values may be added; treat unknown values as other.","enum":["minutes","formsThenReview","adminAction","otherParty","unknown","notUnlockable"],"type":"string","x-extensible-enum":true},"message":{"type":"string"},"unlockStep":{"description":"Stable key of the step that unlocks this blocker. The UI maps it to a\nroute or dialog.","enum":["finishOnboarding","companyDetails","kybProfile","kycDialog","linkWallet","askAdmin","contactBroker","manageDirectUsers","manageApiKey","connectCustodian","switchAccountScope","contactSupport","awaitScreening","none"],"type":"string","x-extensible-enum":true}},"required":["code","message","unlockStep","estimate"],"type":"object"},"type":"null","uniqueKey":"details.oneOf.1.capabilityBlockers.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.capabilityBlockers","typeLabel":"object[] | null"},"conflicts":{"oneOf":[{"description":"`REQUOTE_FIELDS_CONFLICT`: the fields that cannot go with `requote`.","items":{"type":"string","uniqueKey":"details.oneOf.1.conflicts.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"details.oneOf.1.conflicts.oneOf.0","typeLabel":"string[]"},{"description":"`REQUOTE_FIELDS_CONFLICT`: the fields that cannot go with `requote`.","items":{"type":"string"},"type":"null","uniqueKey":"details.oneOf.1.conflicts.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.conflicts","typeLabel":"string[] | null"},"consentedWindow":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.0","typeLabel":"null"},{"type":"object","description":"`SETTLEMENT_WINDOW_CHANGED`: the settlement window the order consented to (the quoted\nwindow, or the one its `settlementWindowId` named), which is no longer the one assigned.","required":["windowId","scheduleId","scheduleVersion","scheduleLabel","cadence","snapshotAt"],"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"cadence":{"oneOf":[{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.dayBasis","typeLabel":"enum\u003cstring>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["intraday"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"everyHours":{"oneOf":[{"format":"int32","minimum":0,"type":"integer","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.everyHours.oneOf.0","typeLabel":"integer\u003cint32>"},{"format":"int32","minimum":0,"type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.everyHours.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.everyHours","typeLabel":"integer\u003cint32> | null"},"localTimes":{"oneOf":[{"items":{"type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.0","typeLabel":"string[]"},{"items":{"type":"string"},"type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0.localTimes","typeLabel":"string[] | null"}},"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.0","typeLabel":"object"},{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["days","dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.1.dayBasis","typeLabel":"enum\u003cstring>"},"days":{"format":"int32","minimum":0,"type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.1.days","typeLabel":"integer\u003cint32>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["daily"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.1.kind","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.1","typeLabel":"object"},{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["days","dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.2.dayBasis","typeLabel":"enum\u003cstring>"},"days":{"format":"int32","minimum":0,"type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.2.days","typeLabel":"integer\u003cint32>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["multiDay"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.2.kind","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence.oneOf.2","typeLabel":"object"}],"isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cadence","typeLabel":"object"},"scheduleId":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.scheduleId","typeLabel":"string"},"scheduleLabel":{"description":"The published schedule version's display name (e.g. \"EU\"), so a quote card or Review\nnames the window without a settlement read permission.","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.scheduleLabel","typeLabel":"string"},"scheduleVersion":{"format":"int64","type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.scheduleVersion","typeLabel":"integer\u003cint64>"},"snapshotAt":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.snapshotAt","typeLabel":"string\u003cdate-time>"},"windowId":{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.windowId","typeLabel":"string\u003cuuid>"},"assumedBoundary":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.0","typeLabel":"null"},{"type":"object","description":"Present when the window's boundary comes from an assumed schedule term rather than the\nLP's confirmation: every surface shows the window as assumed until the LP confirms it.","required":["timeZone","source","lpName"],"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"lpName":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.1.lpName","typeLabel":"string"},"source":{"description":"Where the assumed boundary came from, as recorded in the settlement schedule; free text.","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.1.source","typeLabel":"string"},"timeZone":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.1.timeZone","typeLabel":"string"}},"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary.oneOf.1","typeLabel":"object"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.assumedBoundary","typeLabel":"null | object"},"cutoffAt":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cutoffAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cutoffAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.cutoffAt","typeLabel":"string\u003cdate-time> | null"},"paymentDeadlineAt":{"oneOf":[{"description":"The occurrence's payment deadline from its schedule terms: what a credit trade's debt is\npaid by. Absent while the schedule has not confirmed it; never derived from `settlesBy`.","format":"date-time","type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.paymentDeadlineAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"description":"The occurrence's payment deadline from its schedule terms: what a credit trade's debt is\npaid by. Absent while the schedule has not confirmed it; never derived from `settlesBy`.","format":"date-time","type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.paymentDeadlineAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.paymentDeadlineAt","typeLabel":"string\u003cdate-time> | null"},"settlementBasis":{"description":"What completes a window's settlement. `clock`: the occurrence's confirmed completion time\n(`settlesBy`). `onAgreement`: the LP issues the window's statement and the trade settles\nonce that statement is agreed (Keyrock), so the window states no clock time.\n\nNew values may be added; treat unknown values as other.","enum":["clock","onAgreement"],"type":"string","x-extensible-enum":true,"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.settlementBasis","typeLabel":"enum\u003cstring>"},"settlesBy":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.settlesBy.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.settlesBy.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.settlesBy","typeLabel":"string\u003cdate-time> | null"},"statementIssuer":{"oneOf":[{"description":"The LP whose statement settles an `onAgreement` window (\"Keyrock\"); absent on a clock window.","type":"string","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.statementIssuer.oneOf.0","typeLabel":"string"},{"description":"The LP whose statement settles an `onAgreement` window (\"Keyrock\"); absent on a clock window.","type":"null","uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.statementIssuer.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1.statementIssuer","typeLabel":"string | null"}},"uniqueKey":"details.oneOf.1.consentedWindow.oneOf.1","typeLabel":"object"}],"uniqueKey":"details.oneOf.1.consentedWindow","typeLabel":"null | object"},"currentWindow":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.currentWindow.oneOf.0","typeLabel":"null"},{"type":"object","description":"`SETTLEMENT_WINDOW_CHANGED`: the settlement window the server assigns the trade now.\nSend the same quote again with `settlementWindowId` set to `details.currentWindow.windowId`\nto consent to it.","required":["windowId","scheduleId","scheduleVersion","scheduleLabel","cadence","snapshotAt"],"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"cadence":{"oneOf":[{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.dayBasis","typeLabel":"enum\u003cstring>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["intraday"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.kind","typeLabel":"enum\u003cstring>"},"everyHours":{"oneOf":[{"format":"int32","minimum":0,"type":"integer","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.everyHours.oneOf.0","typeLabel":"integer\u003cint32>"},{"format":"int32","minimum":0,"type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.everyHours.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.everyHours","typeLabel":"integer\u003cint32> | null"},"localTimes":{"oneOf":[{"items":{"type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.0","typeLabel":"string[]"},{"items":{"type":"string"},"type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.localTimes.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0.localTimes","typeLabel":"string[] | null"}},"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.0","typeLabel":"object"},{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["days","dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.1.dayBasis","typeLabel":"enum\u003cstring>"},"days":{"format":"int32","minimum":0,"type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.1.days","typeLabel":"integer\u003cint32>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["daily"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.1.kind","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.1","typeLabel":"object"},{"type":"object","description":"How often a settlement schedule's windows occur (the schedule owns the terms).\n\nNew values may be added; treat unknown values as other.","required":["days","dayBasis","kind"],"x-extensible-enum":true,"properties":{"dayBasis":{"description":"A settlement schedule's day basis.\n\nNew values may be added; treat unknown values as other.","enum":["calendarDays","businessDays"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.2.dayBasis","typeLabel":"enum\u003cstring>"},"days":{"format":"int32","minimum":0,"type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.2.days","typeLabel":"integer\u003cint32>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["multiDay"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.2.kind","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence.oneOf.2","typeLabel":"object"}],"isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cadence","typeLabel":"object"},"scheduleId":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.scheduleId","typeLabel":"string"},"scheduleLabel":{"description":"The published schedule version's display name (e.g. \"EU\"), so a quote card or Review\nnames the window without a settlement read permission.","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.scheduleLabel","typeLabel":"string"},"scheduleVersion":{"format":"int64","type":"integer","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.scheduleVersion","typeLabel":"integer\u003cint64>"},"snapshotAt":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.snapshotAt","typeLabel":"string\u003cdate-time>"},"windowId":{"format":"uuid","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.windowId","typeLabel":"string\u003cuuid>"},"assumedBoundary":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.0","typeLabel":"null"},{"type":"object","description":"Present when the window's boundary comes from an assumed schedule term rather than the\nLP's confirmation: every surface shows the window as assumed until the LP confirms it.","required":["timeZone","source","lpName"],"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"lpName":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.1.lpName","typeLabel":"string"},"source":{"description":"Where the assumed boundary came from, as recorded in the settlement schedule; free text.","type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.1.source","typeLabel":"string"},"timeZone":{"type":"string","isRequired":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.1.timeZone","typeLabel":"string"}},"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary.oneOf.1","typeLabel":"object"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.assumedBoundary","typeLabel":"null | object"},"cutoffAt":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cutoffAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cutoffAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.cutoffAt","typeLabel":"string\u003cdate-time> | null"},"paymentDeadlineAt":{"oneOf":[{"description":"The occurrence's payment deadline from its schedule terms: what a credit trade's debt is\npaid by. Absent while the schedule has not confirmed it; never derived from `settlesBy`.","format":"date-time","type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.paymentDeadlineAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"description":"The occurrence's payment deadline from its schedule terms: what a credit trade's debt is\npaid by. Absent while the schedule has not confirmed it; never derived from `settlesBy`.","format":"date-time","type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.paymentDeadlineAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.paymentDeadlineAt","typeLabel":"string\u003cdate-time> | null"},"settlementBasis":{"description":"What completes a window's settlement. `clock`: the occurrence's confirmed completion time\n(`settlesBy`). `onAgreement`: the LP issues the window's statement and the trade settles\nonce that statement is agreed (Keyrock), so the window states no clock time.\n\nNew values may be added; treat unknown values as other.","enum":["clock","onAgreement"],"type":"string","x-extensible-enum":true,"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.settlementBasis","typeLabel":"enum\u003cstring>"},"settlesBy":{"oneOf":[{"format":"date-time","type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.settlesBy.oneOf.0","typeLabel":"string\u003cdate-time>"},{"format":"date-time","type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.settlesBy.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.settlesBy","typeLabel":"string\u003cdate-time> | null"},"statementIssuer":{"oneOf":[{"description":"The LP whose statement settles an `onAgreement` window (\"Keyrock\"); absent on a clock window.","type":"string","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.statementIssuer.oneOf.0","typeLabel":"string"},{"description":"The LP whose statement settles an `onAgreement` window (\"Keyrock\"); absent on a clock window.","type":"null","uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.statementIssuer.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1.statementIssuer","typeLabel":"string | null"}},"uniqueKey":"details.oneOf.1.currentWindow.oneOf.1","typeLabel":"object"}],"uniqueKey":"details.oneOf.1.currentWindow","typeLabel":"null | object"},"field":{"oneOf":[{"description":"`INVALID_REQUEST`: the path of a missing required, unknown, mistyped or out-of-range\nfield (for example `buy` or `sell.asset`), never the parser's message or input value.","type":"string","uniqueKey":"details.oneOf.1.field.oneOf.0","typeLabel":"string"},{"description":"`INVALID_REQUEST`: the path of a missing required, unknown, mistyped or out-of-range\nfield (for example `buy` or `sell.asset`), never the parser's message or input value.","type":"null","uniqueKey":"details.oneOf.1.field.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.field","typeLabel":"string | null"},"reason":{"oneOf":[{"type":"string","description":"A machine-readable reason token the refusing step gave.\n\nKnown source reason tokens (not all apply to every status): `clockUnavailable`, `assetUnsupported`, `referenceUndeclarable`, `referenceNotAdmitted`, `referenceStale`, `referenceDepth`, `marketDataUnavailable`, `calibrationUnavailable`, `livePriceUnavailable`, `lpQuoteUnavailable`, `platformJurisdictionCountryRequired`, `platformJurisdictionUnavailable`, `platformJurisdictionBlocked`, `venueJurisdictionExcluded`, `workspaceJurisdictionRequired`, `jurisdictionRegionRequired`, `jurisdictionUnavailable`, `venueKeyRefusedLikelyIpAllowlist`, `venueWithdrawalDestinationNotWhitelisted`, `adapterPayloadSerializationFailed`, `basicVenueAccountsUnavailable`, `billingPaymentOverdue`, `walletNotOnChain`, `ccxtVenueRequiresCexLane`, `executionStageDisabled`, `jurisdictionUnproven`, `onboardedVenuesUnavailable`, `onchainAccountDefaultWalletRequired`, `onchainAccountDefaultWalletUnavailable`, `onchainAccountWalletRequired`, `onchainAssetDecimalsMismatch`, `onchainAssetIdentityMismatch`, `onchainAssetUnmapped`, `onchainAssetVariantFiltered`, `onchainWalletUnavailable`, `onchainCatalogueUnavailable`, `onchainDeliverToNotReceivingWallet`, `onchainDeliverToUnverified`, `onchainMarketsUnavailable`, `onchainMarketCatalogUnreadable`, `onchainMarketChainRequired`, `onchainMarketVariantRequired`, `onchainMarketTokenRequired`, `onchainSiteChainUnreadable`, `onchainWalletChainUnreadable`, `onchainWalletInactive`, `onchainWalletNotLinked`, `onchainWalletNotUsable`, `onchainWalletPickAmbiguous`, `onchainWalletWrongNetwork`, `signerLacksRight`, `signerUnavailable`, `signingGrantAmbiguous`, `signingGrantExpired`, `nativeGrantExpiryReapprovalRequired`, `nativeBalanceUnavailable`, `solanaFinalityUnavailable`, `tronSolidBlockUnavailable`, `signingGrantPolicyUnreadable`, `signingGrantPolicyChecking`, `signingGrantRequired`, `signingGrantTokenNotKept`, `signingGrantTokenNotPayable`, `solverChainUnready`, `walletChainMismatch`, `walletNotUsableByYou`, `walletNotVerifiedForAce`, `walletNotWhitelisted`, `withdrawalChainUnsupported`, `accountFeeUnavailable`, `comparisonCostsUnavailable`, `connectionListingUnavailable`, `feeUnverified`, `noPool`, `noPrice`, `noSize`, `notFilled`, `notYetPublished`, `priceArithmetic`, `priceSourceNone`, `referenceMidUnavailable`, `settlementPrecisionUnavailable`, `accountSetupIncomplete`, `admissionUnavailable`, `advancedAccountEligibilityUnavailable`, `advancedAccountStateInconsistent`, `advancedConnectionDisabled`, `advancedConnectionNotConfigured`, `advancedConnectionPaused`, `advancedSettlementNeedsVerification`, `advancedModeDisabled`, `advancedNotAvailableForAccount`, `advancedNotEnabledForAccount`, `allowanceUnavailable`, `acrossCapacityExceeded`, `relayCapacityExceeded`, `acrossChainNotCarried`, `cctpChainNotCarried`, `cctpWalletRequired`, `acrossWalletRequired`, `walletBrowserSigningEvmOnly`, `relayChainNotCarried`, `apiKeyAdvancedWalletUnsupported`, `apiKeyOrganisationWalletScopeRequired`, `grantCapExceeded`, `amountAboveMaximum`, `amountBelowMinimum`, `belowVenueMinimum`, `amountUnreadable`, `amountsUnreadable`, `askFirst`, `authorityUnavailable`, `automationNeverAsks`, `availabilityUnreadable`, `backgroundNeverAsks`, `balanceUnreadable`, `defaultsUnavailable`, `walletHasNoAddress`, `walletUnavailable`, `bondAmountUnreadable`, `bondAssetUnreadable`, `catalogueUnavailable`, `chainFamilyUnknown`, `chainUnrecorded`, `clientSessionRequired`, `clockUnreadable`, `comingSoon`, `connectionChanged`, `connectionRevoked`, `corridorInvalid`, `credential`, `deadlineExceeded`, `defaultsLoading`, `deliverToCalldataUnsupported`, `deliverToTagUnsupported`, `deliverToNotPermitted`, `deliverToUnreadable`, `tradingPermissionRequired`, `directPatienceHarvest`, `economicallyInferior`, `exactAmountConflictsWithCard`, `exactAmountConflictsWithQuote`, `exactOutputDeliveryUnsupported`, `exactOutputEstimateUnavailable`, `exactRouteHypothesisUnavailable`, `expiredOnArrival`, `expiryUnknown`, `feeUnreadable`, `filteredOut`, `firmAskRefused`, `firmAskFundsTimedOut`, `firmAskPreparationTimedOut`, `quotePreparationFailed`, `firmAskAdmissionTimedOut`, `seliniFirmAskMarketsTimedOut`, `seliniFirmAskHandoffTimedOut`, `seliniFirmAskBeforePostTimedOut`, `seliniFirmAskValidationTimedOut`, `seliniFirmAskResponseTimedOut`, `seliniFirmAskTransportFailure`, `rfqQuoteRefusedQuoteNotAvailable`, `rfqQuoteRefusedQuotingDisabled`, `rfqQuoteRefusedClientRfqNotConfigured`, `rfqQuoteRefusedClientProfileNotLoaded`, `rfqQuoteRefusedMarketDisabled`, `rfqQuoteRefusedInvalidQuantity`, `rfqQuoteRefusedInvalidSide`, `rfqQuoteRefusedInvalidCurrency`, `rfqQuoteRefusedPricePrecisionError`, `rfqQuoteRefusedRfqError`, `rfqQuoteRefused`, `venueOutcomeIndeterminate`, `venueBodyUnreadable`, `venueResponseUnmapped`, `venueRateLimited`, `venueQuoteAdmissionExpired`, `placementSignedPastDeadline`, `quoteIdentityConflict`, `symbolUnsupported`, `marketSymbolAmbiguous`, `firmAskPrincipalRequired`, `indicativeRequested`, `freshnessUnknown`, `fundingWindow`, `insufficientLiquidity`, `venueRelationship`, `venueRelationshipUnavailable`, `lpUnknown`, `mfaEnrolmentRequired`, `mfaRequired`, `minimumUnverified`, `mixedNetworks`, `netReceivedUnavailable`, `networkUnrecorded`, `noAddress`, `noCard`, `noFetcher`, `noInventory`, `noLaneForPair`, `noLegs`, `noOnChainCorridor`, `noPlannedVenue`, `noQuote`, `noRpc`, `notConnected`, `notEligible`, `notExecutable`, `orderPayloadMissing`, `outsideTopComposites`, `pairUnmapped`, `sellChainInvalid`, `permissionsUnreadable`, `placeOrderNotPermitted`, `prefundingMarkerUnreadable`, `prefundingRequired`, `indicative`, `priceOnRequest`, `priceOutOfRange`, `priceProtectionInvalid`, `pricingBookOnly`, `productNotQuoted`, `protocolChainMissing`, `providerFeeTreatmentUnknown`, `providerSiteUnrecorded`, `quoteIdUnissuable`, `quoteNotHeld`, `buyChainInvalid`, `buyAmountUnsupported`, `exactOutputDebitUnavailable`, `pairNotServed`, `accountFundingReadUnverified`, `quoteReconfirmationRequired`, `quoteRejected`, `keyrockSecurityCatalogueUnavailable`, `venueAnsweredAfterQuoteWindow`, `venueQuoteIntentMismatch`, `payExactUnsupported`, `receiveWalletNotServed`, `referenceMidUnreadable`, `referencePriceUnavailable`, `registryUnavailable`, `releaseRecheckUnavailable`, `requestUnbuildable`, `routeLegChainUnknown`, `routeLegUnnamed`, `routeLegUnplanned`, `routeUnavailable`, `secondFactorUnreadable`, `shortfallUnmeasured`, `shortfallUnreadable`, `singleChainVenue`, `siteChainUnreadable`, `sizeNotEligible`, `submitOrderBlocked`, `takerOnboardingIncomplete`, `tierNotQuoted`, `tradePaused`, `venueConnectionStorageUnavailable`, `venueDataStale`, `venueDeclined`, `venueNotConnected`, `venueNotEnabledForWorkspace`, `venueNotListed`, `venueTradeKeyUnavailable`, `venueTradeScopeRequired`, `venueTradeUnreadable`, `venueUnavailable`, `walletRefused`, `withdrawalFeeUnread`, `acrossRoutedViaCctp`, `apiKeyOrganisationWalletNotAllowlisted`, `balanceAvailabilityUnconfirmed`, `bankDestinationUnavailable`, `bebopJamKeyNotEnabled`, `bebopJamQuoteDeclined`, `bebopTokenUnavailable`, `relayCurrencyUnsupported`, `relaySwapImpactTooHigh`, `tetrafiSolverCallbackNotAuthorized`, `tradingLinkSnapshotChanged`, `tradingLinkSnapshotUnavailable`, `uniswapChainReadUnavailable`, `uniswapInsufficientDepth`, `uniswapQuoteUnreadable`, `uniswapUnwrapAboveDailyCap`, `uniswapUnwrapAboveTradeCap`, `uniswapRouteNotGranted`, `venueNotEnabled`, `askLimitReached`, `balanceMeaningUnconfirmed`, `bebopQuorumWalletTooSlow`, `bebopWalletQuorumUnreadable`, `bebopBrowserWalletUnsupported`, `connectionNotConfigured`, `deliveryAccountNetworkUnavailable`, `deliveryAccountUnavailable`, `destinationCannotSendOnChain`, `dexReferencePriceUnavailable`, `firmQuoteLimited`, `fundingAccountNetworkUnavailable`, `fundingAccountUnavailable`, `insufficientDepth`, `missingPermission`, `needsNativeGas`, `needsWallet`, `notPriced`, `payInTermsUnavailable`, `pilotTradeCapExceeded`, `pilotMinimumAboveTradeCap`, `platformFeeRateUnavailable`, `pricingBookPairUnserved`, `settlementDeclarationUnavailable`, `settlementNotAvailable`, `timedOut`, `timedOutBeforeSend`, `tradingSourceNetworkUnavailable`, `tradingSourceNotLinked`, `venueEnablementRechecking`, `venueEnablementUnavailable`, `venueListingTimedOut`, `venuePoliciesUnavailable`, `multiliquidPaused`, `multiliquidAssetNotAccepted`, `walletNotAllowlistedForAsset`, `walletBlacklisted`, `multiliquidPriceInvalid`, `multiliquidStablePriceOutOfBand`, `multiliquidInsufficientLiquidity`, `multiliquidProviderPrefundUnavailable`, `multiliquidDailyLimitReached`, `eligibilityUnverifiable`, `multiliquidInsufficientBalance`, `multiliquidWalletFundsInsufficient`, `multiliquidInsufficientAllowance`, `walletTokenAccountFrozen`, `multiliquidAmountInTooHigh`, `multiliquidAmountOutTooLow`, `multiliquidInsufficientLpFeeBalance`, `multiliquidTransferFeeNotSupported`, `multiliquidParticipantUnavailable`, `multiliquidChainNotSupported`, `multiliquidObservationWalletUnavailable`, `privyMultiliquidArrayPinsUnsupported`, `cctpDestinationNotGranted`, `signingGrantNativeOnly`, `quoteRejectedInsufficientBalance`, `walletGateUnreadable`, `policyBlocked`, `treasuryPolicyApprovalRequired`, `destinationTagRequired`, `destinationTagMismatch`, `destinationTagInvalid`, `acrossBasicLaneNotEnabled`, `creditReadUnavailable`, `exactOutputFirmAskUnsupported`, `grantEndsBeforeVenueFunding`, `jurisdictionNotServed`, `pairUnsupported`, `requesterJurisdictionUnknown`, `venueAccountHasNoKey`, `venueAssessmentRequired`, `venueConnectionInvalid`, `venueReenableRequiresNewCredentials`, `venueTradingPaused`, `balanceNotObserved`, `notPermitted`, `balanceNotPermitted`, `gasUnchecked`, `catalogueWaitStateUnavailable`, `cctpRouteUpgrading`, `creditOnly`, `dexReferencePriceMissing`, `quoteAuthorityUnavailable`, `venueRoutingOff`, `venueRoutingStateUnavailable`, `indicativeUnavailable`, `marketUnavailable`, `noReferenceMid`, `observationBindingUnavailable`, `quoteIdUnavailable`, `stalePrice`.\n\nNew values may be added; treat unknown values as other.","enum":["clockUnavailable","assetUnsupported","referenceUndeclarable","referenceNotAdmitted","referenceStale","referenceDepth","marketDataUnavailable","calibrationUnavailable","livePriceUnavailable","lpQuoteUnavailable","platformJurisdictionCountryRequired","platformJurisdictionUnavailable","platformJurisdictionBlocked","venueJurisdictionExcluded","workspaceJurisdictionRequired","jurisdictionRegionRequired","jurisdictionUnavailable","venueKeyRefusedLikelyIpAllowlist","venueWithdrawalDestinationNotWhitelisted","adapterPayloadSerializationFailed","basicVenueAccountsUnavailable","billingPaymentOverdue","walletNotOnChain","ccxtVenueRequiresCexLane","executionStageDisabled","jurisdictionUnproven","onboardedVenuesUnavailable","onchainAccountDefaultWalletRequired","onchainAccountDefaultWalletUnavailable","onchainAccountWalletRequired","onchainAssetDecimalsMismatch","onchainAssetIdentityMismatch","onchainAssetUnmapped","onchainAssetVariantFiltered","onchainWalletUnavailable","onchainCatalogueUnavailable","onchainDeliverToNotReceivingWallet","onchainDeliverToUnverified","onchainMarketsUnavailable","onchainMarketCatalogUnreadable","onchainMarketChainRequired","onchainMarketVariantRequired","onchainMarketTokenRequired","onchainSiteChainUnreadable","onchainWalletChainUnreadable","onchainWalletInactive","onchainWalletNotLinked","onchainWalletNotUsable","onchainWalletPickAmbiguous","onchainWalletWrongNetwork","signerLacksRight","signerUnavailable","signingGrantAmbiguous","signingGrantExpired","nativeGrantExpiryReapprovalRequired","nativeBalanceUnavailable","solanaFinalityUnavailable","tronSolidBlockUnavailable","signingGrantPolicyUnreadable","signingGrantPolicyChecking","signingGrantRequired","signingGrantTokenNotKept","signingGrantTokenNotPayable","solverChainUnready","walletChainMismatch","walletNotUsableByYou","walletNotVerifiedForAce","walletNotWhitelisted","withdrawalChainUnsupported","accountFeeUnavailable","comparisonCostsUnavailable","connectionListingUnavailable","feeUnverified","noPool","noPrice","noSize","notFilled","notYetPublished","priceArithmetic","priceSourceNone","referenceMidUnavailable","settlementPrecisionUnavailable","accountSetupIncomplete","admissionUnavailable","advancedAccountEligibilityUnavailable","advancedAccountStateInconsistent","advancedConnectionDisabled","advancedConnectionNotConfigured","advancedConnectionPaused","advancedSettlementNeedsVerification","advancedModeDisabled","advancedNotAvailableForAccount","advancedNotEnabledForAccount","allowanceUnavailable","acrossCapacityExceeded","relayCapacityExceeded","acrossChainNotCarried","cctpChainNotCarried","cctpWalletRequired","acrossWalletRequired","walletBrowserSigningEvmOnly","relayChainNotCarried","apiKeyAdvancedWalletUnsupported","apiKeyOrganisationWalletScopeRequired","grantCapExceeded","amountAboveMaximum","amountBelowMinimum","belowVenueMinimum","amountUnreadable","amountsUnreadable","askFirst","authorityUnavailable","automationNeverAsks","availabilityUnreadable","backgroundNeverAsks","balanceUnreadable","defaultsUnavailable","walletHasNoAddress","walletUnavailable","bondAmountUnreadable","bondAssetUnreadable","catalogueUnavailable","chainFamilyUnknown","chainUnrecorded","clientSessionRequired","clockUnreadable","comingSoon","connectionChanged","connectionRevoked","corridorInvalid","credential","deadlineExceeded","defaultsLoading","deliverToCalldataUnsupported","deliverToTagUnsupported","deliverToNotPermitted","deliverToUnreadable","tradingPermissionRequired","directPatienceHarvest","economicallyInferior","exactAmountConflictsWithCard","exactAmountConflictsWithQuote","exactOutputDeliveryUnsupported","exactOutputEstimateUnavailable","exactRouteHypothesisUnavailable","expiredOnArrival","expiryUnknown","feeUnreadable","filteredOut","firmAskRefused","firmAskFundsTimedOut","firmAskPreparationTimedOut","quotePreparationFailed","firmAskAdmissionTimedOut","seliniFirmAskMarketsTimedOut","seliniFirmAskHandoffTimedOut","seliniFirmAskBeforePostTimedOut","seliniFirmAskValidationTimedOut","seliniFirmAskResponseTimedOut","seliniFirmAskTransportFailure","rfqQuoteRefusedQuoteNotAvailable","rfqQuoteRefusedQuotingDisabled","rfqQuoteRefusedClientRfqNotConfigured","rfqQuoteRefusedClientProfileNotLoaded","rfqQuoteRefusedMarketDisabled","rfqQuoteRefusedInvalidQuantity","rfqQuoteRefusedInvalidSide","rfqQuoteRefusedInvalidCurrency","rfqQuoteRefusedPricePrecisionError","rfqQuoteRefusedRfqError","rfqQuoteRefused","venueOutcomeIndeterminate","venueBodyUnreadable","venueResponseUnmapped","venueRateLimited","venueQuoteAdmissionExpired","placementSignedPastDeadline","quoteIdentityConflict","symbolUnsupported","marketSymbolAmbiguous","firmAskPrincipalRequired","indicativeRequested","freshnessUnknown","fundingWindow","insufficientLiquidity","venueRelationship","venueRelationshipUnavailable","lpUnknown","mfaEnrolmentRequired","mfaRequired","minimumUnverified","mixedNetworks","netReceivedUnavailable","networkUnrecorded","noAddress","noCard","noFetcher","noInventory","noLaneForPair","noLegs","noOnChainCorridor","noPlannedVenue","noQuote","noRpc","notConnected","notEligible","notExecutable","orderPayloadMissing","outsideTopComposites","pairUnmapped","sellChainInvalid","permissionsUnreadable","placeOrderNotPermitted","prefundingMarkerUnreadable","prefundingRequired","indicative","priceOnRequest","priceOutOfRange","priceProtectionInvalid","pricingBookOnly","productNotQuoted","protocolChainMissing","providerFeeTreatmentUnknown","providerSiteUnrecorded","quoteIdUnissuable","quoteNotHeld","buyChainInvalid","buyAmountUnsupported","exactOutputDebitUnavailable","pairNotServed","accountFundingReadUnverified","quoteReconfirmationRequired","quoteRejected","keyrockSecurityCatalogueUnavailable","venueAnsweredAfterQuoteWindow","venueQuoteIntentMismatch","payExactUnsupported","receiveWalletNotServed","referenceMidUnreadable","referencePriceUnavailable","registryUnavailable","releaseRecheckUnavailable","requestUnbuildable","routeLegChainUnknown","routeLegUnnamed","routeLegUnplanned","routeUnavailable","secondFactorUnreadable","shortfallUnmeasured","shortfallUnreadable","singleChainVenue","siteChainUnreadable","sizeNotEligible","submitOrderBlocked","takerOnboardingIncomplete","tierNotQuoted","tradePaused","venueConnectionStorageUnavailable","venueDataStale","venueDeclined","venueNotConnected","venueNotEnabledForWorkspace","venueNotListed","venueTradeKeyUnavailable","venueTradeScopeRequired","venueTradeUnreadable","venueUnavailable","walletRefused","withdrawalFeeUnread","acrossRoutedViaCctp","apiKeyOrganisationWalletNotAllowlisted","balanceAvailabilityUnconfirmed","bankDestinationUnavailable","bebopJamKeyNotEnabled","bebopJamQuoteDeclined","bebopTokenUnavailable","relayCurrencyUnsupported","relaySwapImpactTooHigh","tetrafiSolverCallbackNotAuthorized","tradingLinkSnapshotChanged","tradingLinkSnapshotUnavailable","uniswapChainReadUnavailable","uniswapInsufficientDepth","uniswapQuoteUnreadable","uniswapUnwrapAboveDailyCap","uniswapUnwrapAboveTradeCap","uniswapRouteNotGranted","venueNotEnabled","askLimitReached","balanceMeaningUnconfirmed","bebopQuorumWalletTooSlow","bebopWalletQuorumUnreadable","bebopBrowserWalletUnsupported","connectionNotConfigured","deliveryAccountNetworkUnavailable","deliveryAccountUnavailable","destinationCannotSendOnChain","dexReferencePriceUnavailable","firmQuoteLimited","fundingAccountNetworkUnavailable","fundingAccountUnavailable","insufficientDepth","missingPermission","needsNativeGas","needsWallet","notPriced","payInTermsUnavailable","pilotTradeCapExceeded","pilotMinimumAboveTradeCap","platformFeeRateUnavailable","pricingBookPairUnserved","settlementDeclarationUnavailable","settlementNotAvailable","timedOut","timedOutBeforeSend","tradingSourceNetworkUnavailable","tradingSourceNotLinked","venueEnablementRechecking","venueEnablementUnavailable","venueListingTimedOut","venuePoliciesUnavailable","multiliquidPaused","multiliquidAssetNotAccepted","walletNotAllowlistedForAsset","walletBlacklisted","multiliquidPriceInvalid","multiliquidStablePriceOutOfBand","multiliquidInsufficientLiquidity","multiliquidProviderPrefundUnavailable","multiliquidDailyLimitReached","eligibilityUnverifiable","multiliquidInsufficientBalance","multiliquidWalletFundsInsufficient","multiliquidInsufficientAllowance","walletTokenAccountFrozen","multiliquidAmountInTooHigh","multiliquidAmountOutTooLow","multiliquidInsufficientLpFeeBalance","multiliquidTransferFeeNotSupported","multiliquidParticipantUnavailable","multiliquidChainNotSupported","multiliquidObservationWalletUnavailable","privyMultiliquidArrayPinsUnsupported","cctpDestinationNotGranted","signingGrantNativeOnly","quoteRejectedInsufficientBalance","walletGateUnreadable","policyBlocked","treasuryPolicyApprovalRequired","destinationTagRequired","destinationTagMismatch","destinationTagInvalid","acrossBasicLaneNotEnabled","creditReadUnavailable","exactOutputFirmAskUnsupported","grantEndsBeforeVenueFunding","jurisdictionNotServed","pairUnsupported","requesterJurisdictionUnknown","venueAccountHasNoKey","venueAssessmentRequired","venueConnectionInvalid","venueReenableRequiresNewCredentials","venueTradingPaused","balanceNotObserved","notPermitted","balanceNotPermitted","gasUnchecked","catalogueWaitStateUnavailable","cctpRouteUpgrading","creditOnly","dexReferencePriceMissing","quoteAuthorityUnavailable","venueRoutingOff","venueRoutingStateUnavailable","indicativeUnavailable","marketUnavailable","noReferenceMid","observationBindingUnavailable","quoteIdUnavailable","stalePrice"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.reason.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"A machine-readable reason token the refusing step gave.\n\nKnown source reason tokens (not all apply to every status): `clockUnavailable`, `assetUnsupported`, `referenceUndeclarable`, `referenceNotAdmitted`, `referenceStale`, `referenceDepth`, `marketDataUnavailable`, `calibrationUnavailable`, `livePriceUnavailable`, `lpQuoteUnavailable`, `platformJurisdictionCountryRequired`, `platformJurisdictionUnavailable`, `platformJurisdictionBlocked`, `venueJurisdictionExcluded`, `workspaceJurisdictionRequired`, `jurisdictionRegionRequired`, `jurisdictionUnavailable`, `venueKeyRefusedLikelyIpAllowlist`, `venueWithdrawalDestinationNotWhitelisted`, `adapterPayloadSerializationFailed`, `basicVenueAccountsUnavailable`, `billingPaymentOverdue`, `walletNotOnChain`, `ccxtVenueRequiresCexLane`, `executionStageDisabled`, `jurisdictionUnproven`, `onboardedVenuesUnavailable`, `onchainAccountDefaultWalletRequired`, `onchainAccountDefaultWalletUnavailable`, `onchainAccountWalletRequired`, `onchainAssetDecimalsMismatch`, `onchainAssetIdentityMismatch`, `onchainAssetUnmapped`, `onchainAssetVariantFiltered`, `onchainWalletUnavailable`, `onchainCatalogueUnavailable`, `onchainDeliverToNotReceivingWallet`, `onchainDeliverToUnverified`, `onchainMarketsUnavailable`, `onchainMarketCatalogUnreadable`, `onchainMarketChainRequired`, `onchainMarketVariantRequired`, `onchainMarketTokenRequired`, `onchainSiteChainUnreadable`, `onchainWalletChainUnreadable`, `onchainWalletInactive`, `onchainWalletNotLinked`, `onchainWalletNotUsable`, `onchainWalletPickAmbiguous`, `onchainWalletWrongNetwork`, `signerLacksRight`, `signerUnavailable`, `signingGrantAmbiguous`, `signingGrantExpired`, `nativeGrantExpiryReapprovalRequired`, `nativeBalanceUnavailable`, `solanaFinalityUnavailable`, `tronSolidBlockUnavailable`, `signingGrantPolicyUnreadable`, `signingGrantPolicyChecking`, `signingGrantRequired`, `signingGrantTokenNotKept`, `signingGrantTokenNotPayable`, `solverChainUnready`, `walletChainMismatch`, `walletNotUsableByYou`, `walletNotVerifiedForAce`, `walletNotWhitelisted`, `withdrawalChainUnsupported`, `accountFeeUnavailable`, `comparisonCostsUnavailable`, `connectionListingUnavailable`, `feeUnverified`, `noPool`, `noPrice`, `noSize`, `notFilled`, `notYetPublished`, `priceArithmetic`, `priceSourceNone`, `referenceMidUnavailable`, `settlementPrecisionUnavailable`, `accountSetupIncomplete`, `admissionUnavailable`, `advancedAccountEligibilityUnavailable`, `advancedAccountStateInconsistent`, `advancedConnectionDisabled`, `advancedConnectionNotConfigured`, `advancedConnectionPaused`, `advancedSettlementNeedsVerification`, `advancedModeDisabled`, `advancedNotAvailableForAccount`, `advancedNotEnabledForAccount`, `allowanceUnavailable`, `acrossCapacityExceeded`, `relayCapacityExceeded`, `acrossChainNotCarried`, `cctpChainNotCarried`, `cctpWalletRequired`, `acrossWalletRequired`, `walletBrowserSigningEvmOnly`, `relayChainNotCarried`, `apiKeyAdvancedWalletUnsupported`, `apiKeyOrganisationWalletScopeRequired`, `grantCapExceeded`, `amountAboveMaximum`, `amountBelowMinimum`, `belowVenueMinimum`, `amountUnreadable`, `amountsUnreadable`, `askFirst`, `authorityUnavailable`, `automationNeverAsks`, `availabilityUnreadable`, `backgroundNeverAsks`, `balanceUnreadable`, `defaultsUnavailable`, `walletHasNoAddress`, `walletUnavailable`, `bondAmountUnreadable`, `bondAssetUnreadable`, `catalogueUnavailable`, `chainFamilyUnknown`, `chainUnrecorded`, `clientSessionRequired`, `clockUnreadable`, `comingSoon`, `connectionChanged`, `connectionRevoked`, `corridorInvalid`, `credential`, `deadlineExceeded`, `defaultsLoading`, `deliverToCalldataUnsupported`, `deliverToTagUnsupported`, `deliverToNotPermitted`, `deliverToUnreadable`, `tradingPermissionRequired`, `directPatienceHarvest`, `economicallyInferior`, `exactAmountConflictsWithCard`, `exactAmountConflictsWithQuote`, `exactOutputDeliveryUnsupported`, `exactOutputEstimateUnavailable`, `exactRouteHypothesisUnavailable`, `expiredOnArrival`, `expiryUnknown`, `feeUnreadable`, `filteredOut`, `firmAskRefused`, `firmAskFundsTimedOut`, `firmAskPreparationTimedOut`, `quotePreparationFailed`, `firmAskAdmissionTimedOut`, `seliniFirmAskMarketsTimedOut`, `seliniFirmAskHandoffTimedOut`, `seliniFirmAskBeforePostTimedOut`, `seliniFirmAskValidationTimedOut`, `seliniFirmAskResponseTimedOut`, `seliniFirmAskTransportFailure`, `rfqQuoteRefusedQuoteNotAvailable`, `rfqQuoteRefusedQuotingDisabled`, `rfqQuoteRefusedClientRfqNotConfigured`, `rfqQuoteRefusedClientProfileNotLoaded`, `rfqQuoteRefusedMarketDisabled`, `rfqQuoteRefusedInvalidQuantity`, `rfqQuoteRefusedInvalidSide`, `rfqQuoteRefusedInvalidCurrency`, `rfqQuoteRefusedPricePrecisionError`, `rfqQuoteRefusedRfqError`, `rfqQuoteRefused`, `venueOutcomeIndeterminate`, `venueBodyUnreadable`, `venueResponseUnmapped`, `venueRateLimited`, `venueQuoteAdmissionExpired`, `placementSignedPastDeadline`, `quoteIdentityConflict`, `symbolUnsupported`, `marketSymbolAmbiguous`, `firmAskPrincipalRequired`, `indicativeRequested`, `freshnessUnknown`, `fundingWindow`, `insufficientLiquidity`, `venueRelationship`, `venueRelationshipUnavailable`, `lpUnknown`, `mfaEnrolmentRequired`, `mfaRequired`, `minimumUnverified`, `mixedNetworks`, `netReceivedUnavailable`, `networkUnrecorded`, `noAddress`, `noCard`, `noFetcher`, `noInventory`, `noLaneForPair`, `noLegs`, `noOnChainCorridor`, `noPlannedVenue`, `noQuote`, `noRpc`, `notConnected`, `notEligible`, `notExecutable`, `orderPayloadMissing`, `outsideTopComposites`, `pairUnmapped`, `sellChainInvalid`, `permissionsUnreadable`, `placeOrderNotPermitted`, `prefundingMarkerUnreadable`, `prefundingRequired`, `indicative`, `priceOnRequest`, `priceOutOfRange`, `priceProtectionInvalid`, `pricingBookOnly`, `productNotQuoted`, `protocolChainMissing`, `providerFeeTreatmentUnknown`, `providerSiteUnrecorded`, `quoteIdUnissuable`, `quoteNotHeld`, `buyChainInvalid`, `buyAmountUnsupported`, `exactOutputDebitUnavailable`, `pairNotServed`, `accountFundingReadUnverified`, `quoteReconfirmationRequired`, `quoteRejected`, `keyrockSecurityCatalogueUnavailable`, `venueAnsweredAfterQuoteWindow`, `venueQuoteIntentMismatch`, `payExactUnsupported`, `receiveWalletNotServed`, `referenceMidUnreadable`, `referencePriceUnavailable`, `registryUnavailable`, `releaseRecheckUnavailable`, `requestUnbuildable`, `routeLegChainUnknown`, `routeLegUnnamed`, `routeLegUnplanned`, `routeUnavailable`, `secondFactorUnreadable`, `shortfallUnmeasured`, `shortfallUnreadable`, `singleChainVenue`, `siteChainUnreadable`, `sizeNotEligible`, `submitOrderBlocked`, `takerOnboardingIncomplete`, `tierNotQuoted`, `tradePaused`, `venueConnectionStorageUnavailable`, `venueDataStale`, `venueDeclined`, `venueNotConnected`, `venueNotEnabledForWorkspace`, `venueNotListed`, `venueTradeKeyUnavailable`, `venueTradeScopeRequired`, `venueTradeUnreadable`, `venueUnavailable`, `walletRefused`, `withdrawalFeeUnread`, `acrossRoutedViaCctp`, `apiKeyOrganisationWalletNotAllowlisted`, `balanceAvailabilityUnconfirmed`, `bankDestinationUnavailable`, `bebopJamKeyNotEnabled`, `bebopJamQuoteDeclined`, `bebopTokenUnavailable`, `relayCurrencyUnsupported`, `relaySwapImpactTooHigh`, `tetrafiSolverCallbackNotAuthorized`, `tradingLinkSnapshotChanged`, `tradingLinkSnapshotUnavailable`, `uniswapChainReadUnavailable`, `uniswapInsufficientDepth`, `uniswapQuoteUnreadable`, `uniswapUnwrapAboveDailyCap`, `uniswapUnwrapAboveTradeCap`, `uniswapRouteNotGranted`, `venueNotEnabled`, `askLimitReached`, `balanceMeaningUnconfirmed`, `bebopQuorumWalletTooSlow`, `bebopWalletQuorumUnreadable`, `bebopBrowserWalletUnsupported`, `connectionNotConfigured`, `deliveryAccountNetworkUnavailable`, `deliveryAccountUnavailable`, `destinationCannotSendOnChain`, `dexReferencePriceUnavailable`, `firmQuoteLimited`, `fundingAccountNetworkUnavailable`, `fundingAccountUnavailable`, `insufficientDepth`, `missingPermission`, `needsNativeGas`, `needsWallet`, `notPriced`, `payInTermsUnavailable`, `pilotTradeCapExceeded`, `pilotMinimumAboveTradeCap`, `platformFeeRateUnavailable`, `pricingBookPairUnserved`, `settlementDeclarationUnavailable`, `settlementNotAvailable`, `timedOut`, `timedOutBeforeSend`, `tradingSourceNetworkUnavailable`, `tradingSourceNotLinked`, `venueEnablementRechecking`, `venueEnablementUnavailable`, `venueListingTimedOut`, `venuePoliciesUnavailable`, `multiliquidPaused`, `multiliquidAssetNotAccepted`, `walletNotAllowlistedForAsset`, `walletBlacklisted`, `multiliquidPriceInvalid`, `multiliquidStablePriceOutOfBand`, `multiliquidInsufficientLiquidity`, `multiliquidProviderPrefundUnavailable`, `multiliquidDailyLimitReached`, `eligibilityUnverifiable`, `multiliquidInsufficientBalance`, `multiliquidWalletFundsInsufficient`, `multiliquidInsufficientAllowance`, `walletTokenAccountFrozen`, `multiliquidAmountInTooHigh`, `multiliquidAmountOutTooLow`, `multiliquidInsufficientLpFeeBalance`, `multiliquidTransferFeeNotSupported`, `multiliquidParticipantUnavailable`, `multiliquidChainNotSupported`, `multiliquidObservationWalletUnavailable`, `privyMultiliquidArrayPinsUnsupported`, `cctpDestinationNotGranted`, `signingGrantNativeOnly`, `quoteRejectedInsufficientBalance`, `walletGateUnreadable`, `policyBlocked`, `treasuryPolicyApprovalRequired`, `destinationTagRequired`, `destinationTagMismatch`, `destinationTagInvalid`, `acrossBasicLaneNotEnabled`, `creditReadUnavailable`, `exactOutputFirmAskUnsupported`, `grantEndsBeforeVenueFunding`, `jurisdictionNotServed`, `pairUnsupported`, `requesterJurisdictionUnknown`, `venueAccountHasNoKey`, `venueAssessmentRequired`, `venueConnectionInvalid`, `venueReenableRequiresNewCredentials`, `venueTradingPaused`, `balanceNotObserved`, `notPermitted`, `balanceNotPermitted`, `gasUnchecked`, `catalogueWaitStateUnavailable`, `cctpRouteUpgrading`, `creditOnly`, `dexReferencePriceMissing`, `quoteAuthorityUnavailable`, `venueRoutingOff`, `venueRoutingStateUnavailable`, `indicativeUnavailable`, `marketUnavailable`, `noReferenceMid`, `observationBindingUnavailable`, `quoteIdUnavailable`, `stalePrice`.\n\nNew values may be added; treat unknown values as other.","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.reason","typeLabel":"enum\u003cstring> | null"},"remediation":{"oneOf":[{"description":"A machine-readable recovery hint the refusing step gave.","type":"string","uniqueKey":"details.oneOf.1.remediation.oneOf.0","typeLabel":"string"},{"description":"A machine-readable recovery hint the refusing step gave.","type":"null","uniqueKey":"details.oneOf.1.remediation.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.remediation","typeLabel":"string | null"},"retryAfter":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"details.oneOf.1.retryAfter.oneOf.0","typeLabel":"null"},{"type":"string","description":"Every `429`, and a `503` that knows: when to try again, as an ISO 8601 duration. The\n`Retry-After` header carries the same wait in whole seconds.","format":"duration","pattern":"^PT(?:[0-9]+H(?:[0-9]+M)?(?:[0-9]+(?:\\.[0-9]{1,3})?S)?|[0-9]+M(?:[0-9]+(?:\\.[0-9]{1,3})?S)?|[0-9]+(?:\\.[0-9]{1,3})?S)$","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","example":"PT120S","uniqueKey":"details.oneOf.1.retryAfter.oneOf.1","typeLabel":"string\u003cduration>"}],"uniqueKey":"details.oneOf.1.retryAfter","typeLabel":"null | string\u003cduration>"},"value":{"oneOf":[{"description":"`UNKNOWN_ASSET`, `UNKNOWN_CHAIN`, `UNKNOWN_VENUE`, `INVALID_AMOUNT`: the value refused;\n`ASSET_NOT_ON_CHAIN`: the pinned chain the Asset is not on.","type":"string","uniqueKey":"details.oneOf.1.value.oneOf.0","typeLabel":"string"},{"description":"`UNKNOWN_ASSET`, `UNKNOWN_CHAIN`, `UNKNOWN_VENUE`, `INVALID_AMOUNT`: the value refused;\n`ASSET_NOT_ON_CHAIN`: the pinned chain the Asset is not on.","type":"null","uniqueKey":"details.oneOf.1.value.oneOf.1","typeLabel":"null"}],"uniqueKey":"details.oneOf.1.value","typeLabel":"string | null"}},"additionalProperties":{"description":"Any further detail the code carries (for example `stepUpSubject`, `balanceShortfall`,\n`minimumAmount`), each named in camelCase.","uniqueKey":"details.oneOf.1.additionalProperties","typeLabel":"any"},"uniqueKey":"details.oneOf.1","typeLabel":"object"}],"uniqueKey":"details","typeLabel":"null | object"},"next":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"next.oneOf.0","typeLabel":"null"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["order"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.1.kind","typeLabel":"enum\u003cstring>"}},"uniqueKey":"next.oneOf.1","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["preflight"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.2.kind","typeLabel":"enum\u003cstring>"}},"uniqueKey":"next.oneOf.2","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["transactions","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["transact"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.3.kind","typeLabel":"enum\u003cstring>"},"transactions":{"items":{"description":"One transaction the Taker sends itself (an approval included).","properties":{"chain":{"description":"A CAIP-2 chain id (`eip155:8453`, `solana:\u003cgenesis>`, `tron:shasta`), syntax-checked:\na namespace of 3 to 8 lowercase letters, digits or `-`, and a reference of 1 to 32\nletters, digits, `-` or `_`. Compared exactly, as CAIP-2 references are case-sensitive.","example":"eip155:8453","type":"string","isRequired":true,"uniqueKey":"next.oneOf.3.transactions.items.[INDEX].chain","typeLabel":"string"},"data":{"description":"Hex calldata (`0x…`).","type":"string","isRequired":true,"uniqueKey":"next.oneOf.3.transactions.items.[INDEX].data","typeLabel":"string"},"to":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.3.transactions.items.[INDEX].to","typeLabel":"string"},"value":{"description":"Native value in base units, as a decimal string.","type":"string","isRequired":true,"uniqueKey":"next.oneOf.3.transactions.items.[INDEX].value","typeLabel":"string"}},"required":["chain","data","to","value"],"type":"object","uniqueKey":"next.oneOf.3.transactions.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"next.oneOf.3.transactions","typeLabel":"object[]"}},"uniqueKey":"next.oneOf.3","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["typedData","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["sign"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.4.kind","typeLabel":"enum\u003cstring>"},"typedData":{"oneOf":[{"isRequired":true}],"isRequired":true,"uniqueKey":"next.oneOf.4.typedData","typeLabel":"any"}},"uniqueKey":"next.oneOf.4","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["fund"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.kind","typeLabel":"enum\u003cstring>"},"instructions":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","uniqueKey":"next.oneOf.5.instructions.oneOf.0","typeLabel":"null"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["asset","chainRef","networkCode","networkConfirmed","address","tokenContract","observedAt","expiresAt","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.address","typeLabel":"string"},"asset":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.asset","typeLabel":"string"},"chainRef":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.chainRef","typeLabel":"string"},"expiresAt":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.expiresAt","typeLabel":"string\u003cdate-time>"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["venueDeposit"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.kind","typeLabel":"enum\u003cstring>"},"networkCode":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.networkCode","typeLabel":"string"},"networkConfirmed":{"description":"False when the venue reports no network for this address: `networkCode`\nis empty and `chainRef` is the caller's selection, which the customer\nmust confirm with the venue before sending.","type":"boolean","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.networkConfirmed","typeLabel":"boolean"},"observedAt":{"format":"date-time","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.observedAt","typeLabel":"string\u003cdate-time>"},"tokenContract":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.1.tokenContract","typeLabel":"string"},"memo":{"oneOf":[{"type":"string","uniqueKey":"next.oneOf.5.instructions.oneOf.1.memo.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"next.oneOf.5.instructions.oneOf.1.memo.oneOf.1","typeLabel":"null"}],"uniqueKey":"next.oneOf.5.instructions.oneOf.1.memo","typeLabel":"string | null"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.1","typeLabel":"object"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["accountLast4","amount","bankDisplayName","expiresAt","kind","revealRef"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"accountLast4":{"oneOf":[{"type":"null","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.accountLast4.oneOf.0","typeLabel":"null"},{"type":"string","description":"An already-qualified masked suffix, not external account ownership proof.","maxLength":4,"minLength":1,"pattern":"^[A-Za-z0-9]{1,4}$","x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","example":"A1b2","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.accountLast4.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.accountLast4","typeLabel":"null | string"},"amount":{"description":"A non-negative decimal string in Asset units (`\"10000\"`, `\"9994.0\"`): digits with an\noptional fraction, no sign, exponent or leading zero. Never a float and never base\nunits. A request amount must also be positive (`INVALID_AMOUNT`); a fee or a\nknown balance may be zero.","example":"10000","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.amount","typeLabel":"string"},"bankDisplayName":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.bankDisplayName.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.bankDisplayName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.bankDisplayName","typeLabel":"string | null"},"expiresAt":{"oneOf":[{"description":"UTC ISO instant, or null when expiry is UNKNOWN. Null never means no expiry.","format":"date-time","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.expiresAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"description":"UTC ISO instant, or null when expiry is UNKNOWN. Null never means no expiry.","format":"date-time","type":"null","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.expiresAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.expiresAt","typeLabel":"string\u003cdate-time> | null"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["bankDeposit"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.kind","typeLabel":"enum\u003cstring>"},"revealRef":{"description":"Non-bearer lookup metadata for deposit instructions. Possession grants no authority. Each reveal requires current wallet-view authority and exact account membership; an API key additionally needs treasury_read. Missing and foreign accounts share a refusal. Quotes never fetch these instructions.","properties":{"connectionId":{"description":"The native held leg's exact connection id, never a first/sole-connection guess.","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.connectionId","typeLabel":"string"},"currency":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.currency","typeLabel":"string"},"providerBankId":{"oneOf":[{"description":"The provider's linked-bank id when required by that venue; otherwise unknown/null.","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.providerBankId.oneOf.0","typeLabel":"string"},{"description":"The provider's linked-bank id when required by that venue; otherwise unknown/null.","type":"null","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.providerBankId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef.providerBankId","typeLabel":"string | null"}},"required":["connectionId","currency","providerBankId"],"type":"object","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.2.revealRef","typeLabel":"object"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.2","typeLabel":"object"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["walletId","address","chain","asset","tokenContract","amount","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.address","typeLabel":"string"},"amount":{"description":"A non-negative decimal string in Asset units (`\"10000\"`, `\"9994.0\"`): digits with an\noptional fraction, no sign, exponent or leading zero. Never a float and never base\nunits. A request amount must also be positive (`INVALID_AMOUNT`); a fee or a\nknown balance may be zero.","example":"10000","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.amount","typeLabel":"string"},"asset":{"description":"A registry Asset id (`USDC`, `USDe`). Matched case-insensitively against the catalogue,\nwhich answers it in the registry's own spelling.","example":"USDC","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.asset","typeLabel":"string"},"chain":{"description":"A CAIP-2 chain id (`eip155:8453`, `solana:\u003cgenesis>`, `tron:shasta`), syntax-checked:\na namespace of 3 to 8 lowercase letters, digits or `-`, and a reference of 1 to 32\nletters, digits, `-` or `_`. Compared exactly, as CAIP-2 references are case-sensitive.","example":"eip155:8453","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.chain","typeLabel":"string"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["walletTopUp"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.kind","typeLabel":"enum\u003cstring>"},"tokenContract":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.tokenContract","typeLabel":"string"},"walletId":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.3.walletId","typeLabel":"string"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.3","typeLabel":"object"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["chain","amount","asset","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"amount":{"description":"A non-negative decimal string in Asset units (`\"10000\"`, `\"9994.0\"`): digits with an\noptional fraction, no sign, exponent or leading zero. Never a float and never base\nunits. A request amount must also be positive (`INVALID_AMOUNT`); a fee or a\nknown balance may be zero.","example":"10000","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.4.amount","typeLabel":"string"},"asset":{"description":"A registry Asset id (`USDC`, `USDe`). Matched case-insensitively against the catalogue,\nwhich answers it in the registry's own spelling.","example":"USDC","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.4.asset","typeLabel":"string"},"chain":{"description":"A CAIP-2 chain id (`eip155:8453`, `solana:\u003cgenesis>`, `tron:shasta`), syntax-checked:\na namespace of 3 to 8 lowercase letters, digits or `-`, and a reference of 1 to 32\nletters, digits, `-` or `_`. Compared exactly, as CAIP-2 references are case-sensitive.","example":"eip155:8453","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.4.chain","typeLabel":"string"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["nativeGas"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.4.kind","typeLabel":"enum\u003cstring>"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.4","typeLabel":"object"},{"type":"object","description":"What to fund and how. Bank funding carries only a privacy-safe summary and a\nnon-bearer reference to the separately authorized reveal read.\n\nNew values may be added; treat unknown values as other.","required":["connectionId","amount","currency","reason","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"amount":{"description":"A non-negative decimal string in Asset units (`\"10000\"`, `\"9994.0\"`): digits with an\noptional fraction, no sign, exponent or leading zero. Never a float and never base\nunits. A request amount must also be positive (`INVALID_AMOUNT`); a fee or a\nknown balance may be zero.","example":"10000","type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.amount","typeLabel":"string"},"connectionId":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.connectionId","typeLabel":"string"},"currency":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.currency","typeLabel":"string"},"kind":{"description":"New values may be added; treat unknown values as other.","enum":["depositFirstNotOffered"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.kind","typeLabel":"enum\u003cstring>"},"reason":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.5.instructions.oneOf.5.reason","typeLabel":"string"}},"uniqueKey":"next.oneOf.5.instructions.oneOf.5","typeLabel":"object"}],"uniqueKey":"next.oneOf.5.instructions","typeLabel":"null · object · object · object · object · object"}},"uniqueKey":"next.oneOf.5","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["needs","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["requote"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.6.kind","typeLabel":"enum\u003cstring>"},"needs":{"items":{"description":"A funding or delivery selection a requote needs filled. An empty `needs` means requote as is.\n\nNew values may be added; treat unknown values as other.","enum":["wallet:evm","wallet:solana","wallet:tron","account","bankAccount","deliverTo"],"type":"string","x-extensible-enum":true,"uniqueKey":"next.oneOf.6.needs.items.[INDEX]","typeLabel":"enum\u003cstring>"},"type":"array","isRequired":true,"uniqueKey":"next.oneOf.6.needs","typeLabel":"enum\u003cstring>[]"}},"uniqueKey":"next.oneOf.6","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["search"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.7.kind","typeLabel":"enum\u003cstring>"}},"uniqueKey":"next.oneOf.7","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["retryAfter","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["wait"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.8.kind","typeLabel":"enum\u003cstring>"},"retryAfter":{"description":"An ISO 8601 duration, e.g. PT3S or PT2M.","examples":["PT120S"],"format":"duration","pattern":"^PT(?:[0-9]+H(?:[0-9]+M)?(?:[0-9]+(?:\\.[0-9]{1,3})?S)?|[0-9]+M(?:[0-9]+(?:\\.[0-9]{1,3})?S)?|[0-9]+(?:\\.[0-9]{1,3})?S)$","type":"string","isRequired":true,"uniqueKey":"next.oneOf.8.retryAfter","typeLabel":"string\u003cduration>"}},"uniqueKey":"next.oneOf.8","typeLabel":"object"},{"type":"object","description":"The way forward, when there is one (for example `requote` on an expired quote).","required":["reference","kind"],"x-extensible-enum":true,"x-undiscriminated-union-reason":"Nullable value: JSON null has no properties and cannot carry a discriminator.","properties":{"kind":{"description":"New values may be added; treat unknown values as other.","enum":["contact"],"type":"string","x-extensible-enum":true,"isRequired":true,"uniqueKey":"next.oneOf.9.kind","typeLabel":"enum\u003cstring>"},"reference":{"type":"string","isRequired":true,"uniqueKey":"next.oneOf.9.reference","typeLabel":"string"}},"uniqueKey":"next.oneOf.9","typeLabel":"object"}],"uniqueKey":"next","typeLabel":"null · object · object · object · object · object · object · object · object · object"},"requestId":{"oneOf":[{"description":"The request's id, the value the `X-Request-Id` response header carries. Quote it when\nasking for support.","type":"string","uniqueKey":"requestId.oneOf.0","typeLabel":"string"},{"description":"The request's id, the value the `X-Request-Id` response header carries. Quote it when\nasking for support.","type":"null","uniqueKey":"requestId.oneOf.1","typeLabel":"null"}],"uniqueKey":"requestId","typeLabel":"string | null"}},"required":["error","docUrl","retryable","message","timestamp"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"docUrl":"\u003cstring>","error":"\u003cstring>","message":"\u003cstring>","retryable":true,"timestamp":"2023-11-07T05:31:56Z","details":{"capabilityBlockers":[{"code":"WORKSPACE_NOT_FOUND","estimate":"minutes","message":"\u003cstring>","unlockStep":"finishOnboarding","currentlyDue":["\u003cstring>"]}],"conflicts":["\u003cstring>"],"consentedWindow":{"cadence":{"dayBasis":"calendarDays","kind":"intraday","everyHours":1,"localTimes":["\u003cstring>"]},"scheduleId":"\u003cstring>","scheduleLabel":"\u003cstring>","scheduleVersion":123,"snapshotAt":"2023-11-07T05:31:56Z","windowId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","assumedBoundary":{"lpName":"\u003cstring>","source":"\u003cstring>","timeZone":"\u003cstring>"},"cutoffAt":"2023-11-07T05:31:56Z","paymentDeadlineAt":"2023-11-07T05:31:56Z","settlementBasis":"clock","settlesBy":"2023-11-07T05:31:56Z","statementIssuer":"\u003cstring>"},"currentWindow":{"cadence":{"dayBasis":"calendarDays","kind":"intraday","everyHours":1,"localTimes":["\u003cstring>"]},"scheduleId":"\u003cstring>","scheduleLabel":"\u003cstring>","scheduleVersion":123,"snapshotAt":"2023-11-07T05:31:56Z","windowId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","assumedBoundary":{"lpName":"\u003cstring>","source":"\u003cstring>","timeZone":"\u003cstring>"},"cutoffAt":"2023-11-07T05:31:56Z","paymentDeadlineAt":"2023-11-07T05:31:56Z","settlementBasis":"clock","settlesBy":"2023-11-07T05:31:56Z","statementIssuer":"\u003cstring>"},"field":"\u003cstring>","reason":"clockUnavailable","remediation":"\u003cstring>","retryAfter":"PT120S","value":"\u003cstring>"},"next":{"kind":"order"},"requestId":"\u003cstring>"}}},"exampleType":"generated"}},"description":"Current business profile or observation authority is unavailable; no capability snapshot is released.","headers":{"Deprecation":{"description":"Present when this operation is deprecated: an RFC 9745 structured date, for example @1792443399. Absence makes no deprecation claim.","schema":{"type":"string"}},"Link":{"description":"When deprecation applies, links to the deprecation notice with rel=deprecation; other link relations may also be sent.","schema":{"type":"string"}},"RateLimit":{"description":"draft-ietf-httpapi-ratelimit-headers-07 section 3.1 structured dictionary, for example `limit=100, remaining=41, reset=19`. Remaining is the admitted decision's headroom; reset is whole seconds until quota next becomes available, not an epoch or a promise of a full burst refill. On a limiter's 429 remaining is 0 and reset equals Retry-After. Accepted key, route and per-address policies are compared by lowest remaining, then longest reset. A venue refusal without a known quota makes no rate-limit header claim.","schema":{"type":"string"}},"RateLimit-Policy":{"description":"draft-ietf-httpapi-ratelimit-headers-07 section 3.5: quota and window in seconds, for example `100;w=60`. Sent on every status when a finite limiter counted the request. The applicable policy closest to exhaustion is reported (section 3.2): lowest remaining, then longest reset. On a limiter's 429 this is exactly the policy that refused; if a venue discloses no quota, the headers are absent.","schema":{"type":"string"}},"Retry-After":{"description":"Whole seconds to wait before retrying. Always sent on 429; sent on 503 when the wait is known. `details.retryAfter` carries the same wait as an ISO 8601 duration.","schema":{"minimum":0,"type":"integer"}},"Sunset":{"description":"Present when retirement is scheduled: the HTTP-date after which this version may stop being served (RFC 8594).","schema":{"type":"string"}},"x-request-id":{"description":"The request's id: the caller's valid `X-Request-Id`, or a generated UUID v4. Quote it when asking for support.","schema":{"type":"string"}}},"exampleType":"generated"}},"security":{"aa45cfda-bf23-43cc-b1f4-1d147e3e4a9c":{"bearer_auth":{"bearerFormat":"JWT","scheme":"bearer","type":"http","scopes":["compliance_read"],"schemeName":"bearer_auth"}},"a1eaf651-485e-4df1-bbb2-99a9425f4ea5":{"api_key":{"description":"Send the API key in `X-API-Key`.\n\n**Request signing.** A key with signing enabled (enabled for the key in its workspace's credential settings, which return the signing secret once; see [Sign requests](https://docs.tetrafi.io/authentication#sign-requests)) must also sign every request:\n\n- `X-Timestamp`: the current Unix time in seconds, within 300 seconds of the server clock (at most 10 seconds ahead of it on a request that sends `X-Nonce`).\n- `X-Nonce`: a fresh random value for each request, 16 to 128 characters of `A-Z`, `a-z`, `0-9`, `-` and `_` (a UUID fits). Required on a write (POST, PUT, PATCH, DELETE); optional on a read (GET, HEAD).\n- `X-Signature`: lower-case hex HMAC-SHA256 of the canonical string, keyed with the signing secret's 32 bytes (the secret is 64 hex characters; decode it first).\n\nThe canonical string is joined by `\\n`, with no trailing newline: the `X-Timestamp` value, the `X-Nonce` value, the upper-case method, the path with its query exactly as sent (`/api/v1/orders?limit=1`), and the lower-case hex SHA-256 of the exact body bytes (the SHA-256 of an empty body when there is none). A request without `X-Nonce` (a read) omits the nonce line and signs four lines.\n\nA nonce is accepted once per key: the same nonce again inside the window is refused, whatever the body, so two identical writes in one second each carry their own nonce and both succeed, and a retry signs again with a new nonce. Every API server shares one nonce record, so a nonce accepted by one server is refused by all of them. Rate admission runs first: a rate-limited write (429) does not consume its nonce, and a replay sent while the key is rate limited is answered 429; otherwise a replay spends a rate token and is refused. A read without a nonce changes nothing, so an identical signed read inside the window is admitted again. A write whose window has already passed on the nonce record's clock when its nonce is recorded is refused as `TIMESTAMP_OUT_OF_RANGE`. If the nonce record cannot be read or written the request is refused with 503 `API_KEY_UNAVAILABLE`; the nonce may have been consumed, so sign again with a new `X-Timestamp` and `X-Nonce` before retrying.\n\nA signing refusal is a 401 `AUTH_REQUIRED` whose `details.reason` names the cause: `SIGNATURE_REQUIRED` (a header is missing), `SIGNATURE_INVALID` (a malformed header or a wrong signature), `TIMESTAMP_OUT_OF_RANGE`, `NONCE_REQUIRED` (a write without `X-Nonce`), `NONCE_INVALID` (a malformed or repeated `X-Nonce` header), `SIGNATURE_REPLAYED` (the nonce was already accepted). `SIGNATURE_PREDATES_RESTART` and 429 `REPLAY_WINDOW_FULL` are reserved and not answered today.","in":"header","name":"X-API-Key","type":"apiKey","x-request-signing":{"algorithm":"HMAC-SHA256","canonicalRequest":["timestamp","nonce","method","pathWithQuery","bodySha256Hex"],"canonicalRequestWithoutNonce":["timestamp","method","pathWithQuery","bodySha256Hex"],"canonicalSeparator":"\n","nonceFutureSkewSeconds":10,"nonceHeader":"X-Nonce","noncePattern":"^[A-Za-z0-9_-]{16,128}$","nonceRequiredMethods":["POST","PUT","PATCH","DELETE"],"refusal":{"error":"AUTH_REQUIRED","reasons":["SIGNATURE_REQUIRED","SIGNATURE_INVALID","TIMESTAMP_OUT_OF_RANGE","NONCE_REQUIRED","NONCE_INVALID","SIGNATURE_REPLAYED"],"status":401},"reserved":[{"error":"AUTH_REQUIRED","reason":"SIGNATURE_PREDATES_RESTART","status":401},{"error":"REPLAY_WINDOW_FULL","status":429}],"secretEncoding":"hex","signatureEncoding":"hex-lower","signatureHeader":"X-Signature","timestampHeader":"X-Timestamp","timestampWindowSeconds":300},"x-tetrafi-scopes":{"compliance_read":{"description":"View compliance policies, denials, evidence, and reports","permission":"Read compliance","permissionIds":["ReadCompliance"]},"fee_schedule_read":{"description":"Read the current and upcoming fee rates for this workspace. Does not change rates.","permission":"Read fee schedule","permissionIds":["ReadFeeSchedule"]},"orders_read":{"description":"View order status and history","permission":"Read orders","permissionIds":["ReadOrders"]},"orders_write":{"description":"Submit orders for execution","permission":"Submit orders","permissionIds":["SubmitOrders"]},"prices_read":{"description":"Read-only access to prices and recorded quotes. Also select Submit orders to request new quotes.","permission":"Read quotes","permissionIds":["ReadQuotes"]},"quotes_read":{"description":"Read-only access to prices and recorded quotes. Also select Submit orders to request new quotes.","permission":"Read quotes","permissionIds":["ReadQuotes"]},"quotes_request":{"description":"Read-only access to prices and recorded quotes. Also select Submit orders to request new quotes. Submit orders for execution","permission":"Read quotes + Submit orders","permissionIds":["ReadQuotes","SubmitOrders"]},"settlements_read":{"description":"See settlement status and detail.","permission":"Read settlements","permissionIds":["ReadSettlements"]},"trades_read":{"description":"View trade history and audit trails","permission":"Read trades","permissionIds":["ReadTrades"]},"treasury_read":{"description":"See permitted accounts, balances, payouts and Runs, and refresh balances. Does not move money.","permission":"Treasury read","permissionIds":["ReadWallets"]},"webhooks_manage":{"description":"Configure endpoints and events, test deliveries, read outcomes and redeliver. Requires your current Manage webhooks permission.","permission":"Manage webhooks","permissionIds":["ManageWebhooks"]}},"scopes":["compliance_read"],"schemeName":"api_key"}}},"servers":{"92d20a25-080c-474f-9db4-28984500f104":{"description":"Production. Uses real assets and venue accounts.","url":"https://api.tetrafi.io"},"07a83933-bc6b-4ce5-848c-8f94d4edfd7a":{"description":"Shared development sandbox backed by the dev testnet chain registry. Use testnet assets and your workspace's sandbox/testnet venue accounts; makers are not simulated. Credentials and workspaces are environment-specific.","url":"https://api-dev.tetrafi.io"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"bearerFormat":"JWT","scheme":"bearer","type":"http","scopes":["compliance_read"],"schemeName":"bearer_auth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearer_auth","name":"Authorization"}],"title":"bearer_auth"},{"schemes":[{"scheme":{"description":"Send the API key in `X-API-Key`.\n\n**Request signing.** A key with signing enabled (enabled for the key in its workspace's credential settings, which return the signing secret once; see [Sign requests](https://docs.tetrafi.io/authentication#sign-requests)) must also sign every request:\n\n- `X-Timestamp`: the current Unix time in seconds, within 300 seconds of the server clock (at most 10 seconds ahead of it on a request that sends `X-Nonce`).\n- `X-Nonce`: a fresh random value for each request, 16 to 128 characters of `A-Z`, `a-z`, `0-9`, `-` and `_` (a UUID fits). Required on a write (POST, PUT, PATCH, DELETE); optional on a read (GET, HEAD).\n- `X-Signature`: lower-case hex HMAC-SHA256 of the canonical string, keyed with the signing secret's 32 bytes (the secret is 64 hex characters; decode it first).\n\nThe canonical string is joined by `\\n`, with no trailing newline: the `X-Timestamp` value, the `X-Nonce` value, the upper-case method, the path with its query exactly as sent (`/api/v1/orders?limit=1`), and the lower-case hex SHA-256 of the exact body bytes (the SHA-256 of an empty body when there is none). A request without `X-Nonce` (a read) omits the nonce line and signs four lines.\n\nA nonce is accepted once per key: the same nonce again inside the window is refused, whatever the body, so two identical writes in one second each carry their own nonce and both succeed, and a retry signs again with a new nonce. Every API server shares one nonce record, so a nonce accepted by one server is refused by all of them. Rate admission runs first: a rate-limited write (429) does not consume its nonce, and a replay sent while the key is rate limited is answered 429; otherwise a replay spends a rate token and is refused. A read without a nonce changes nothing, so an identical signed read inside the window is admitted again. A write whose window has already passed on the nonce record's clock when its nonce is recorded is refused as `TIMESTAMP_OUT_OF_RANGE`. If the nonce record cannot be read or written the request is refused with 503 `API_KEY_UNAVAILABLE`; the nonce may have been consumed, so sign again with a new `X-Timestamp` and `X-Nonce` before retrying.\n\nA signing refusal is a 401 `AUTH_REQUIRED` whose `details.reason` names the cause: `SIGNATURE_REQUIRED` (a header is missing), `SIGNATURE_INVALID` (a malformed header or a wrong signature), `TIMESTAMP_OUT_OF_RANGE`, `NONCE_REQUIRED` (a write without `X-Nonce`), `NONCE_INVALID` (a malformed or repeated `X-Nonce` header), `SIGNATURE_REPLAYED` (the nonce was already accepted). `SIGNATURE_PREDATES_RESTART` and 429 `REPLAY_WINDOW_FULL` are reserved and not answered today.","in":"header","name":"X-API-Key","type":"apiKey","x-request-signing":{"algorithm":"HMAC-SHA256","canonicalRequest":["timestamp","nonce","method","pathWithQuery","bodySha256Hex"],"canonicalRequestWithoutNonce":["timestamp","method","pathWithQuery","bodySha256Hex"],"canonicalSeparator":"\n","nonceFutureSkewSeconds":10,"nonceHeader":"X-Nonce","noncePattern":"^[A-Za-z0-9_-]{16,128}$","nonceRequiredMethods":["POST","PUT","PATCH","DELETE"],"refusal":{"error":"AUTH_REQUIRED","reasons":["SIGNATURE_REQUIRED","SIGNATURE_INVALID","TIMESTAMP_OUT_OF_RANGE","NONCE_REQUIRED","NONCE_INVALID","SIGNATURE_REPLAYED"],"status":401},"reserved":[{"error":"AUTH_REQUIRED","reason":"SIGNATURE_PREDATES_RESTART","status":401},{"error":"REPLAY_WINDOW_FULL","status":429}],"secretEncoding":"hex","signatureEncoding":"hex-lower","signatureHeader":"X-Signature","timestampHeader":"X-Timestamp","timestampWindowSeconds":300},"x-tetrafi-scopes":{"compliance_read":{"description":"View compliance policies, denials, evidence, and reports","permission":"Read compliance","permissionIds":["ReadCompliance"]},"fee_schedule_read":{"description":"Read the current and upcoming fee rates for this workspace. Does not change rates.","permission":"Read fee schedule","permissionIds":["ReadFeeSchedule"]},"orders_read":{"description":"View order status and history","permission":"Read orders","permissionIds":["ReadOrders"]},"orders_write":{"description":"Submit orders for execution","permission":"Submit orders","permissionIds":["SubmitOrders"]},"prices_read":{"description":"Read-only access to prices and recorded quotes. Also select Submit orders to request new quotes.","permission":"Read quotes","permissionIds":["ReadQuotes"]},"quotes_read":{"description":"Read-only access to prices and recorded quotes. Also select Submit orders to request new quotes.","permission":"Read quotes","permissionIds":["ReadQuotes"]},"quotes_request":{"description":"Read-only access to prices and recorded quotes. Also select Submit orders to request new quotes. Submit orders for execution","permission":"Read quotes + Submit orders","permissionIds":["ReadQuotes","SubmitOrders"]},"settlements_read":{"description":"See settlement status and detail.","permission":"Read settlements","permissionIds":["ReadSettlements"]},"trades_read":{"description":"View trade history and audit trails","permission":"Read trades","permissionIds":["ReadTrades"]},"treasury_read":{"description":"See permitted accounts, balances, payouts and Runs, and refresh balances. Does not move money.","permission":"Treasury read","permissionIds":["ReadWallets"]},"webhooks_manage":{"description":"Configure endpoints and events, test deliveries, read outcomes and redeliver. Requires your current Manage webhooks permission.","permission":"Manage webhooks","permissionIds":["ManageWebhooks"]}},"scopes":["compliance_read"],"schemeName":"api_key"},"schema":{"title":"X-API-Key","type":"string","description":"Send the API key in `X-API-Key`.\n\n**Request signing.** A key with signing enabled (enabled for the key in its workspace's credential settings, which return the signing secret once; see [Sign requests](https://docs.tetrafi.io/authentication#sign-requests)) must also sign every request:\n\n- `X-Timestamp`: the current Unix time in seconds, within 300 seconds of the server clock (at most 10 seconds ahead of it on a request that sends `X-Nonce`).\n- `X-Nonce`: a fresh random value for each request, 16 to 128 characters of `A-Z`, `a-z`, `0-9`, `-` and `_` (a UUID fits). Required on a write (POST, PUT, PATCH, DELETE); optional on a read (GET, HEAD).\n- `X-Signature`: lower-case hex HMAC-SHA256 of the canonical string, keyed with the signing secret's 32 bytes (the secret is 64 hex characters; decode it first).\n\nThe canonical string is joined by `\\n`, with no trailing newline: the `X-Timestamp` value, the `X-Nonce` value, the upper-case method, the path with its query exactly as sent (`/api/v1/orders?limit=1`), and the lower-case hex SHA-256 of the exact body bytes (the SHA-256 of an empty body when there is none). A request without `X-Nonce` (a read) omits the nonce line and signs four lines.\n\nA nonce is accepted once per key: the same nonce again inside the window is refused, whatever the body, so two identical writes in one second each carry their own nonce and both succeed, and a retry signs again with a new nonce. Every API server shares one nonce record, so a nonce accepted by one server is refused by all of them. Rate admission runs first: a rate-limited write (429) does not consume its nonce, and a replay sent while the key is rate limited is answered 429; otherwise a replay spends a rate token and is refused. A read without a nonce changes nothing, so an identical signed read inside the window is admitted again. A write whose window has already passed on the nonce record's clock when its nonce is recorded is refused as `TIMESTAMP_OUT_OF_RANGE`. If the nonce record cannot be read or written the request is refused with 503 `API_KEY_UNAVAILABLE`; the nonce may have been consumed, so sign again with a new `X-Timestamp` and `X-Nonce` before retrying.\n\nA signing refusal is a 401 `AUTH_REQUIRED` whose `details.reason` names the cause: `SIGNATURE_REQUIRED` (a header is missing), `SIGNATURE_INVALID` (a malformed header or a wrong signature), `TIMESTAMP_OUT_OF_RANGE`, `NONCE_REQUIRED` (a write without `X-Nonce`), `NONCE_INVALID` (a malformed or repeated `X-Nonce` header), `SIGNATURE_REPLAYED` (the nonce was already accepted). `SIGNATURE_PREDATES_RESTART` and 429 `REPLAY_WINDOW_FULL` are reserved and not answered today.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"api_key","name":"X-API-Key"}],"title":"api_key"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"tetrafi","siteName":"TetraFi","title":"Get capabilities - TetraFi","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-12T14:08:21.537Z","originalFileLocation":"api-reference/workspaces/get-capabilities.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=\"dark\"}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=\"The workspace\u0026#x27;s KYB state (workspace.kybStatus) and, for each capability, whether it is allowed now or blocked, with each blocker\u0026#x27;s code and the step that clears it. The quote and order routes enforce the same decision. An API key needs the compliance_read scope and reads only the workspace it is bound to.\">\u003cmeta data-mint-head name=\"application-name\" content=\"TetraFi\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/tetrafi/KyIavbnRkast31EL/_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/tetrafi/KyIavbnRkast31EL/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/tetrafi/KyIavbnRkast31EL/_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/tetrafi/KyIavbnRkast31EL/_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/tetrafi/KyIavbnRkast31EL/_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/tetrafi/KyIavbnRkast31EL/_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/tetrafi/KyIavbnRkast31EL/_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/tetrafi/KyIavbnRkast31EL/_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/tetrafi/KyIavbnRkast31EL/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get capabilities - TetraFi\">\u003cmeta data-mint-head property=\"og:description\" content=\"The workspace\u0026#x27;s KYB state (workspace.kybStatus) and, for each capability, whether it is allowed now or blocked, with each blocker\u0026#x27;s code and the step that clears it. The quote and order routes enforce the same decision. An API key needs the compliance_read scope and reads only the workspace it is bound to.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"TetraFi\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://tetrafi.mintlify.app/api-reference/workspaces/get-capabilities\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://tetrafi.mintlify.app/images/og-default.png\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Get capabilities - TetraFi\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"The workspace\u0026#x27;s KYB state (workspace.kybStatus) and, for each capability, whether it is allowed now or blocked, with each blocker\u0026#x27;s code and the step that clears it. The quote and order routes enforce the same decision. An API key needs the compliance_read scope and reads only the workspace it is bound to.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://tetrafi.mintlify.app/images/og-default.png\">\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/tetrafi/KyIavbnRkast31EL/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"TetraFi\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2c5282\">\u003clink data-mint-head rel=\"canonical\" href=\"https://tetrafi.mintlify.app/api-reference/workspaces/get-capabilities\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/workspaces/get-capabilities.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://tetrafi.mintlify.app/#organization\",\"name\":\"TetraFi\",\"url\":\"https://tetrafi.mintlify.app\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/tetrafi/hT7nGse44PNS7QpH/logo/tetrafi-mark-light.svg?fit=max\u0026auto=format\u0026n=hT7nGse44PNS7QpH\u0026q=85\u0026s=cd79dd1bf9d966d0f47e539b4d3775f6\"}},{\"@type\":\"WebSite\",\"@id\":\"https://tetrafi.mintlify.app#website\",\"name\":\"TetraFi\",\"url\":\"https://tetrafi.mintlify.app\",\"publisher\":{\"@id\":\"https://tetrafi.mintlify.app/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://tetrafi.mintlify.app/api-reference/workspaces/get-capabilities#webpage\",\"url\":\"https://tetrafi.mintlify.app/api-reference/workspaces/get-capabilities\",\"name\":\"Get capabilities\",\"description\":\"The workspace's KYB state (workspace.kybStatus) and, for each capability, whether it is allowed now or blocked, with each blocker's code and the step that clears it. The quote and order routes enforce the same decision. An API key needs the compliance_read scope and reads only the workspace it is bound to.\",\"dateModified\":\"2026-11-12T14:08:21.537Z\",\"isPartOf\":{\"@id\":\"https://tetrafi.mintlify.app#website\"},\"breadcrumb\":{\"@id\":\"https://tetrafi.mintlify.app/api-reference/workspaces/get-capabilities#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://tetrafi.mintlify.app/api-reference/workspaces/get-capabilities#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Balances and accounts\",\"item\":\"https://tetrafi.mintlify.app/api-reference/treasury/list-workspace-balances\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Get capabilities\",\"item\":\"https://tetrafi.mintlify.app/api-reference/workspaces/get-capabilities\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://tetrafi.mintlify.app/api-reference/workspaces/get-capabilities#apireference\",\"headline\":\"Get capabilities\",\"name\":\"Get capabilities\",\"description\":\"The workspace's KYB state (workspace.kybStatus) and, for each capability, whether it is allowed now or blocked, with each blocker's code and the step that clears it. The quote and order routes enforce the same decision. An API key needs the compliance_read scope and reads only the workspace it is bound to.\",\"url\":\"https://tetrafi.mintlify.app/api-reference/workspaces/get-capabilities\",\"mainEntityOfPage\":{\"@id\":\"https://tetrafi.mintlify.app/api-reference/workspaces/get-capabilities#webpage\"},\"image\":\"https://tetrafi.mintlify.app/images/og-default.png\",\"dateModified\":\"2026-11-12T14:08:21.537Z\",\"publisher\":{\"@id\":\"https://tetrafi.mintlify.app/#organization\"},\"isPartOf\":{\"@id\":\"https://tetrafi.mintlify.app#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"TetraFi\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"TetraFi\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/workspaces/get-capabilities.md","siteName":"TetraFi","nav":{"global":null,"tabs":[{"tab":"Discover","pages":[{"title":"Discover","href":"/why-tetrafi"}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/overview"}]},{"tab":"API reference","groups":[{"group":"Overview","pages":[{"title":"API reference","href":"/reference/introduction"},{"title":"Endpoints at a glance","href":"/reference/endpoints"}]},{"group":"Authentication","pages":[{"title":"Get current credential","openapi":"api-reference/openapi.json GET /api/v1/me","href":"/api-reference/auth/get-current-credential"},{"title":"Create access token","openapi":"api-reference/openapi.json POST /api/v1/oauth/token","href":"/api-reference/auth/create-access-token"}]},{"group":"Assets and prices","pages":[{"title":"List assets","openapi":"api-reference/openapi.json GET /api/v1/assets","href":"/api-reference/trading/list-assets"},{"title":"Get prices","openapi":"api-reference/openapi.json GET /api/v1/prices","href":"/api-reference/trading/get-prices"},{"title":"Stream prices","openapi":"api-reference/openapi.json GET /api/v1/prices/stream","href":"/api-reference/trading/stream-prices"}]},{"group":"Quotes","pages":[{"title":"Request quotes","openapi":"api-reference/openapi.json POST /api/v1/quotes","href":"/api-reference/quotes/request-quotes"},{"title":"Get quote request","openapi":"api-reference/openapi.json GET /api/v1/quotes/requests/{quoteRequestId}","href":"/api-reference/quotes/get-quote-request"}]},{"group":"Orders","pages":[{"title":"List orders","openapi":"api-reference/openapi.json GET /api/v1/orders","href":"/api-reference/orders/list-orders"},{"title":"Place order","openapi":"api-reference/openapi.json POST /api/v1/orders","href":"/api-reference/orders/place-order"},{"title":"Get order by quote","openapi":"api-reference/openapi.json GET /api/v1/orders/by-quote/{quoteId}","href":"/api-reference/orders/get-order-by-quote"},{"title":"Get order","openapi":"api-reference/openapi.json GET /api/v1/orders/{orderId}","href":"/api-reference/orders/get-order"},{"title":"Cancel order","openapi":"api-reference/openapi.json POST /api/v1/orders/{orderId}/cancel","href":"/api-reference/orders/cancel-order"}]},{"group":"Trades and settlement","pages":[{"title":"List trades","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/trades","href":"/api-reference/trades/list-trades"},{"title":"Get trade","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/trades/{tradeId}","href":"/api-reference/trades/get-trade"},{"title":"Get trade settlement","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/trades/{tradeId}/settlement","href":"/api-reference/trades/get-trade-settlement"},{"title":"List trade obligations","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/trades/{tradeId}/settlement/obligations","href":"/api-reference/trades/list-trade-obligations"},{"title":"Get settlement plan","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/settlement/plan","href":"/api-reference/settlements/get-settlement-plan"},{"title":"List account movements","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/settlement/movements","href":"/api-reference/settlements/list-account-movements"},{"title":"Get account movement","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/settlement/movements/{movementId}","href":"/api-reference/settlements/get-account-movement"},{"title":"List account obligations","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/settlement/obligations","href":"/api-reference/settlements/list-account-obligations"},{"title":"Get account obligation","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/settlement/obligations/{obligationId}","href":"/api-reference/settlements/get-account-obligation"},{"title":"Get account schedules","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/settlement/schedules","href":"/api-reference/settlements/get-account-schedules"},{"title":"List account windows","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/settlement/windows","href":"/api-reference/settlements/list-account-windows"},{"title":"Get account window","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/settlement/windows/{windowId}","href":"/api-reference/settlements/get-account-window"},{"title":"List account window matches","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/settlement/windows/{windowId}/matches","href":"/api-reference/settlements/list-account-window-matches"}]},{"group":"Balances and accounts","pages":[{"title":"List workspace balances","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/balances","href":"/api-reference/treasury/list-workspace-balances"},{"title":"Get account balances","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/balances","href":"/api-reference/venue-accounts/get-account-balances"},{"title":"Get account credit","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/credit","href":"/api-reference/venue-accounts/get-account-credit"},{"title":"List account deposits","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/deposit-history","href":"/api-reference/venue-accounts/list-account-deposits"},{"title":"Get deposit instructions","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/deposit-instructions","href":"/api-reference/venue-accounts/get-deposit-instructions"},{"title":"Get account ledger","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/ledger","href":"/api-reference/venue-accounts/get-account-ledger"},{"title":"List venue accounts","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/venue-enablements","description":"A Company/Broker current human session, or an API key or service account with treasury_read whose owner is allowed to view wallets. Each venue account with its venue, where its funds are held, its wallets, linked accounts and execution types, each venue's key state, and whether disabling that venue would retire its key. An account-based item's `accountId` is the `{venueAccountId}` of `GET …/venue-accounts/{venueAccountId}/balances`, `/deposit-history` and `/deposit-instructions`; a walletBased item has no venue account and carries no `accountId` (its `fundingTarget` names the organisation's trading wallets). Key items by `venueEnablementId`. Oldest first, paged by `limit` (default 20, at most 100) and the opaque `cursor` from the previous page's `nextCursor`; `nextCursor` is null on the last page. A foreign or unknown path workspace answers the same 404 WORKSPACE_NOT_FOUND without reading that workspace. 400 INVALID_CURSOR for a cursor this list did not issue. 403 VENUE_READ_AUTHORITY_REFUSED when the caller's authority to read venue accounts has ended (reason `authority_ended`: the credential is revoked or expired, or no longer carries treasury_read; reason `permission_withdrawn`: its owner lost permission to view wallets, its membership or taker admission). A session that has itself ended answers 401.","href":"/api-reference/venue-enablements/list-venue-accounts"},{"title":"Get capabilities","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/capabilities","href":"/api-reference/workspaces/get-capabilities"},{"title":"Get fee schedule","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/fee-schedule","description":"Current and upcoming effective fees for this workspace, readable by any current member. Required API-key scope: `fee_schedule_read`; an OAuth client needs the same scope. Rates are decimal strings in parts per million. A schedule that cannot be read answers 503 FEE_SCHEDULE_UNAVAILABLE, never a partial or zero schedule.","href":"/api-reference/workspaces/get-fee-schedule"}]},{"group":"Webhooks","pages":[{"title":"List webhooks","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/webhooks","href":"/api-reference/webhooks/list-webhooks"},{"title":"Create webhook","openapi":"api-reference/openapi.json POST /api/v1/workspaces/{workspaceId}/webhooks","href":"/api-reference/webhooks/create-webhook"},{"title":"Get webhook","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/webhooks/{webhookId}","href":"/api-reference/webhooks/get-webhook"},{"title":"Update webhook","openapi":"api-reference/openapi.json PATCH /api/v1/workspaces/{workspaceId}/webhooks/{webhookId}","href":"/api-reference/webhooks/update-webhook"},{"title":"Delete webhook","openapi":"api-reference/openapi.json DELETE /api/v1/workspaces/{workspaceId}/webhooks/{webhookId}","href":"/api-reference/webhooks/delete-webhook"},{"title":"List deliveries","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/webhooks/{webhookId}/deliveries","href":"/api-reference/webhooks/list-deliveries"},{"title":"Send test delivery","openapi":"api-reference/openapi.json POST /api/v1/workspaces/{workspaceId}/webhooks/{webhookId}/deliveries","href":"/api-reference/webhooks/send-test-delivery"},{"title":"Retry delivery","openapi":"api-reference/openapi.json POST /api/v1/workspaces/{workspaceId}/webhooks/{webhookId}/deliveries/{deliveryId}/retry","href":"/api-reference/webhooks/retry-delivery"},{"title":"Resume webhook","openapi":"api-reference/openapi.json POST /api/v1/workspaces/{workspaceId}/webhooks/{webhookId}/resume","href":"/api-reference/webhooks/resume-webhook"},{"title":"Rotate webhook secret","openapi":"api-reference/openapi.json POST /api/v1/workspaces/{workspaceId}/webhooks/{webhookId}/rotate","href":"/api-reference/webhooks/rotate-webhook-secret"}]},{"group":"Batch","pages":[{"title":"Batch reads","openapi":"api-reference/openapi.json POST /api/v1/batch","href":"/api-reference/batch/batch-reads"}]},{"group":"Rules","pages":[{"title":"Conventions","href":"/reference/conventions"},{"title":"Rate limits","href":"/reference/rate-limits"},{"title":"Permissions","href":"/reference/permissions"},{"title":"Error codes","href":"/reference/error-codes"},{"title":"Webhook events","href":"/reference/webhook-events"},{"title":"Compatibility policy","href":"/compatibility"},{"title":"Changelog","href":"/changelog"}]}]},{"tab":"Resources","pages":[{"title":"Resources","href":"/support"}]}]},"basePath":"","title":"Get capabilities - TetraFi","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":["10e4515597","c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["BannerMarkdown-DV3Oq1fY.js","dist-C-XZBk9h.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-D3Isdib3.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","OpenApiReferenceProvider-CybtLBIt.js","utils-BMLj2fvV.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-B6In562Y.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dr8Mfhp9.js","snippetPresets-2rmQvMVl.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-WMqJYdZj.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CJ-MlPHu.js","shallow-dY3TMRCk.js","getApiPlaygroundDisplay-v-1B2bKm.js","CodeSnippet-BDhiTB7U.js","CodeSnippets-D9hnzQcS.js","Page-C4GwDT3_.js","getPastedJson-Th2V45jI.js","icon-BQXch1W9.js","MethodPill-BCqUneP3.js","DuplicateIcon-Q_-bhurZ.js","createIcon-DUjLHRqp.js","DynamicMarkdown-B-f2cqXQ.js","SectionHeading-Da5NsV4v.js","axios-vUo_bRtp.js","Markdown-D13FWkIM.js","AssistantPageLink--qIqmmVG.js"]}