{
"type": "https://docs.etherfuse.com/ramp/v2/errors/quote-expired",
"title": "Quote expired",
"status": 400,
"detail": "quote 5e6f7a8b-9c0d-4e1f-8a2b-3c4d5e6f7a8b has expired or does not exist",
"instance": "tag:etherfuse.com,2026-08-28:R2-10120/0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d",
"errors": [
{
"pointer": "#/accountDetails/clabe",
"detail": "This field is required."
}
],
"required": [
"<string>"
],
"missing": [
"<string>"
]
}
{
"type": "https://docs.etherfuse.com/ramp/v2/errors/quote-expired",
"title": "Quote expired",
"status": 400,
"detail": "quote 5e6f7a8b-9c0d-4e1f-8a2b-3c4d5e6f7a8b has expired or does not exist",
"instance": "tag:etherfuse.com,2026-08-28:R2-10120/0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d",
"errors": [
{
"pointer": "#/accountDetails/clabe",
"detail": "This field is required."
}
],
"required": [
"<string>"
],
"missing": [
"<string>"
]
}
{
"type": "https://docs.etherfuse.com/ramp/v2/errors/quote-expired",
"title": "Quote expired",
"status": 400,
"detail": "quote 5e6f7a8b-9c0d-4e1f-8a2b-3c4d5e6f7a8b has expired or does not exist",
"instance": "tag:etherfuse.com,2026-08-28:R2-10120/0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d",
"errors": [
{
"pointer": "#/accountDetails/clabe",
"detail": "This field is required."
}
],
"required": [
"<string>"
],
"missing": [
"<string>"
]
}
{
"type": "https://docs.etherfuse.com/ramp/v2/errors/quote-expired",
"title": "Quote expired",
"status": 400,
"detail": "quote 5e6f7a8b-9c0d-4e1f-8a2b-3c4d5e6f7a8b has expired or does not exist",
"instance": "tag:etherfuse.com,2026-08-28:R2-10120/0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d",
"errors": [
{
"pointer": "#/accountDetails/clabe",
"detail": "This field is required."
}
],
"required": [
"<string>"
],
"missing": [
"<string>"
]
}
Organizations
Create customer organization
Creates a customer organization under yours. It starts unapproved; it is approved once its KYC or KYB is. Register its bank accounts and wallets afterwards with Register payment account.
All fields are optional, so {} creates a bare personal organization. If id is already in use the request returns 409conflict.
Account types
personal: an individual who completes KYC. Send userInfo so we can email them about their verification.
business: a company that completes KYB. userInfo is rejected. Send country to set up KYB at creation, and add the people who complete it with Add organization member.
accountType defaults to personal today and will become required. Send it explicitly.
Signing customers in
For a personal organization whose customer signs in with a JWT (see JWT User Authentication), send the JWT sub as id. A business organization has its own id; never reuse a customer’s sub as one, which returns 409.
The organization's display name: the friendly label shown in UIs and API responses. For a business org completing KYB, the legal entity name is captured separately via legalName.
ISO 3166-1 alpha-2 country code (e.g. MX). Business orgs only; rejected on personal orgs. When provided, Etherfuse generates the KYB onboarding at creation, seeding the company entity with this country so the user lands straight in KYB. Omit it and the user is prompted for their country when they begin KYB.
Legal entity name for the KYB company entity (e.g. the incorporated name on the company's registry documents). Pass it together with country when generating the KYB onboarding at creation; rejected without country. Independent of displayName: renaming the org does not change the legal name, and vice versa.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Etherfuse API","colors":{"primary":"#141414","light":"#E4FF3F","dark":"#141414"},"logo":{"light":"https://mintcdn.com/etherfuse/XRSchVFGUgreQatD/img/logo-black.svg?fit=max\u0026auto=format\u0026n=XRSchVFGUgreQatD\u0026q=85\u0026s=92cf84eca27df4a19f7b032da398d110","dark":"https://mintcdn.com/etherfuse/XRSchVFGUgreQatD/img/logo-white.svg?fit=max\u0026auto=format\u0026n=XRSchVFGUgreQatD\u0026q=85\u0026s=7c87780c9a248347ffe6357ccf6762ed","href":"https://etherfuse.com"},"favicon":"https://mintcdn.com/etherfuse/pF4txuzXWQE790kS/img/favicon.png?fit=max\u0026auto=format\u0026n=pF4txuzXWQE790kS\u0026q=85\u0026s=ac74be5f7f4605e75bc961be0c6e5ff9","api":{"playground":{"display":"interactive"},"examples":{"languages":["curl","javascript","python"],"autogenerate":true}},"navbar":{"links":[{"href":"https://cal.com/team/etherfuse/api-overview?overlayCalendar=true","label":"Book a demo"},{"href":"https://app.etherfuse.com","label":"App"}],"primary":{"type":"button","label":"Get sandbox keys","href":"https://sandbox.etherfuse.com/sign-in?returnTo=%2Faccount%2Fmanage"}},"footer":{"links":[{"items":[{"label":"Website","href":"https://etherfuse.com"},{"label":"App","href":"https://app.etherfuse.com"},{"label":"Book a demo","href":"https://cal.com/team/etherfuse/api-overview?overlayCalendar=true"}]}]},"fonts":{"family":"Figtree"},"integrations":{"posthog":{"apiKey":"phc_vJEpZk4aZr9PxdPqapjg8ZKWFybTTmDvAxZNg88LTuPu","apiHost":"https://us.i.posthog.com"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"etherfuse","hasAudioNarration":false,"actualSubdomain":"etherfuse","customDomains":["docs.etherfuse.com"],"gitSource":{"type":"github","owner":"etherfuse","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae547dfd382909612c83cf7","collectionId":"eee1a3e5-d040-4b45-980d-cc540ca77f29","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae547dfd382909612c83cf7"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae547dfd382909612c83cf7","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"default","tag":"API Reference","count":151},{"language":"default","tag":"Ramp API","count":72},{"language":"default","tag":"Guides","count":65},{"language":"default","tag":"KYC","count":20},{"language":"default","tag":"Lookup API","count":18},{"language":"default","tag":"Orders","count":17},{"language":"default","tag":"Organizations","count":16},{"language":"default","tag":"User Authentication","count":12},{"language":"default","tag":"Blockchains","count":12},{"language":"default","tag":"Integration Guides","count":12}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"global.css","content":"body{scrollbar-gutter:stable}.sandbox-playground-cta{display:block;margin:1rem 0 1.25rem;padding:1rem 1.25rem;border-radius:.75rem;border:1px solid #141414;background-color:#e4ff3f;color:#141414!important;text-decoration:none;transition:background-color .15s ease,box-shadow .15s ease}.sandbox-playground-cta:hover{background-color:#d8f32f;box-shadow:0 2px 8px rgba(20,20,20,.12);color:#141414!important}.sandbox-playground-cta__body,.sandbox-playground-cta__detail,.sandbox-playground-cta__title{color:inherit!important}.dark .sandbox-playground-cta{border-color:#e4ff3f;background-color:#e4ff3f;color:#141414!important}.dark .sandbox-playground-cta:hover{background-color:#d8f32f;color:#141414!important}.sandbox-playground-cta__title{display:block;font-size:1rem;font-weight:600;margin-bottom:.35rem}.sandbox-playground-cta__body{display:block;font-size:.95rem;line-height:1.45;font-weight:500}.sandbox-playground-cta__detail{display:block;margin-top:.35rem;font-size:.85rem;line-height:1.45;opacity:.85}"}],"page":{"pagePath":"v2/api-reference/organizations/create-organization","slug":"/v2/api-reference/organizations/create-organization","pageMetadata":{"title":"Create customer organization","openapi":"openapi-v2.json POST /organization","description":"Creates a customer organization under yours. It starts unapproved; it is approved once its KYC or KYB is. Register its bank accounts and wallets afterwards with [Register payment account](/v2/api-reference/payment-accounts/register-payment-account).\n\nAll fields are optional, so `{}` creates a bare personal organization. If `id` is already in use the request returns `409` `conflict`.\n\n## Account types\n\n- `personal`: an individual who completes KYC. Send `userInfo` so we can email them about their verification.\n- `business`: a company that completes KYB. `userInfo` is rejected. Send `country` to set up KYB at creation, and add the people who complete it with [Add organization member](/v2/api-reference/members/add-organization-member).\n\n`accountType` defaults to `personal` today and will become required. Send it explicitly.\n\n## Signing customers in\n\nFor a **personal** organization whose customer signs in with a JWT (see [JWT User Authentication](/v2/guides/jwt-authentication)), send the JWT `sub` as `id`. A **business** organization has its own id; never reuse a customer's `sub` as one, which returns `409`.","href":"/v2/api-reference/organizations/create-organization"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n a: \"a\",\n code: \"code\",\n h2: \"h2\",\n li: \"li\",\n p: \"p\",\n strong: \"strong\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Creates a customer organization under yours. It starts unapproved; it is approved once its KYC or KYB is. Register its bank accounts and wallets afterwards with \", _jsx(_components.a, {\n href: \"/v2/api-reference/payment-accounts/register-payment-account\",\n children: \"Register payment account\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"All fields are optional, so \", _jsx(_components.code, {\n children: \"{}\"\n }), \" creates a bare personal organization. If \", _jsx(_components.code, {\n children: \"id\"\n }), \" is already in use the request returns \", _jsx(_components.code, {\n children: \"409\"\n }), \" \", _jsx(_components.code, {\n children: \"conflict\"\n }), \".\"]\n }), \"\\n\", _jsx(_components.h2, {\n children: \"Account types\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"personal\"\n }), \": an individual who completes KYC. Send \", _jsx(_components.code, {\n children: \"userInfo\"\n }), \" so we can email them about their verification.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"business\"\n }), \": a company that completes KYB. \", _jsx(_components.code, {\n children: \"userInfo\"\n }), \" is rejected. Send \", _jsx(_components.code, {\n children: \"country\"\n }), \" to set up KYB at creation, and add the people who complete it with \", _jsx(_components.a, {\n href: \"/v2/api-reference/members/add-organization-member\",\n children: \"Add organization member\"\n }), \".\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.code, {\n children: \"accountType\"\n }), \" defaults to \", _jsx(_components.code, {\n children: \"personal\"\n }), \" today and will become required. Send it explicitly.\"]\n }), \"\\n\", _jsx(_components.h2, {\n children: \"Signing customers in\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"For a \", _jsx(_components.strong, {\n children: \"personal\"\n }), \" organization whose customer signs in with a JWT (see \", _jsx(_components.a, {\n href: \"/v2/guides/jwt-authentication\",\n children: \"JWT User Authentication\"\n }), \"), send the JWT \", _jsx(_components.code, {\n children: \"sub\"\n }), \" as \", _jsx(_components.code, {\n children: \"id\"\n }), \". A \", _jsx(_components.strong, {\n children: \"business\"\n }), \" organization has its own id; never reuse a customer’s \", _jsx(_components.code, {\n children: \"sub\"\n }), \" as one, which returns \", _jsx(_components.code, {\n children: \"409\"\n }), \".\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create customer organization","openapi":"openapi-v2.json POST /organization","description":"Creates a customer organization under yours. It starts unapproved; it is approved once its KYC or KYB is. Register its bank accounts and wallets afterwards with [Register payment account](/v2/api-reference/payment-accounts/register-payment-account).\n\nAll fields are optional, so `{}` creates a bare personal organization. If `id` is already in use the request returns `409` `conflict`.\n\n## Account types\n\n- `personal`: an individual who completes KYC. Send `userInfo` so we can email them about their verification.\n- `business`: a company that completes KYB. `userInfo` is rejected. Send `country` to set up KYB at creation, and add the people who complete it with [Add organization member](/v2/api-reference/members/add-organization-member).\n\n`accountType` defaults to `personal` today and will become required. Send it explicitly.\n\n## Signing customers in\n\nFor a **personal** organization whose customer signs in with a JWT (see [JWT User Authentication](/v2/guides/jwt-authentication)), send the JWT `sub` as `id`. A **business** organization has its own id; never reuse a customer's `sub` as one, which returns `409`.","href":"/v2/api-reference/organizations/create-organization"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Organizations"],"summary":"Create customer organization","operationId":"v2CreateOrganization","description":"Creates a customer organization under yours. It starts unapproved; it is approved once its KYC or KYB is. Register its bank accounts and wallets afterwards with [Register payment account](/v2/api-reference/payment-accounts/register-payment-account).\n\nAll fields are optional, so `{}` creates a bare personal organization. If `id` is already in use the request returns `409` `conflict`.\n\n## Account types\n\n- `personal`: an individual who completes KYC. Send `userInfo` so we can email them about their verification.\n- `business`: a company that completes KYB. `userInfo` is rejected. Send `country` to set up KYB at creation, and add the people who complete it with [Add organization member](/v2/api-reference/members/add-organization-member).\n\n`accountType` defaults to `personal` today and will become required. Send it explicitly.\n\n## Signing customers in\n\nFor a **personal** organization whose customer signs in with a JWT (see [JWT User Authentication](/v2/guides/jwt-authentication)), send the JWT `sub` as `id`. A **business** organization has its own id; never reuse a customer's `sub` as one, which returns `409`.","requestBody":"8b8f6ed9-94ae-4c2c-b19e-334d995daa8c","responses":{"201":"73304ff6-921b-4dc0-9b7e-123209942d36","400":"b9f82745-a378-49f5-b950-df71c60131f8","401":"cafd27cc-9ce8-40fe-b29a-1f8a42423181","409":"56e82fe1-a6a9-490a-a063-aee0cac93958","500":"ea597109-f4b6-45fe-95d5-a564a80ccb6e"},"method":"post","type":"path","servers":["58ef8c25-fe99-4a3a-b3d6-63ae68d90d12"],"security":["e2afb556-03f4-4063-920b-822ee6d2cce7"],"path":"/organization","baseUrlOptions":["https://api.sand.etherfuse.com"],"title":"Create customer organization","codeSamples":[],"requestExampleLanguages":["bash","javascript","python"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"accountType":{"oneOf":[{"type":"string","enum":["personal","business"],"description":"Whether this org is an individual or a company:\n\n- `personal`: an individual customer completing KYC. Send `userInfo`.\n- `business`: a company completing KYB. `userInfo` is rejected.\n\nOptional today and defaults to `personal`. It will become required, so send it explicitly now.","example":"personal","uniqueKey":"accountType.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["personal","business"],"description":"Whether this org is an individual or a company:\n\n- `personal`: an individual customer completing KYC. Send `userInfo`.\n- `business`: a company completing KYB. `userInfo` is rejected.\n\nOptional today and defaults to `personal`. It will become required, so send it explicitly now.","example":"personal","uniqueKey":"accountType.oneOf.1","typeLabel":"null"}],"uniqueKey":"accountType","typeLabel":"enum\u003cstring> | null"},"displayName":{"oneOf":[{"type":"string","description":"The organization's display name: the friendly label shown in UIs and API responses. For a `business` org completing KYB, the legal entity name is captured separately via `legalName`.","uniqueKey":"displayName.oneOf.0","typeLabel":"string"},{"type":"null","description":"The organization's display name: the friendly label shown in UIs and API responses. For a `business` org completing KYB, the legal entity name is captured separately via `legalName`.","uniqueKey":"displayName.oneOf.1","typeLabel":"null"}],"uniqueKey":"displayName","typeLabel":"string | null"},"id":{"oneOf":[{"type":"string","format":"uuid","uniqueKey":"id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","uniqueKey":"id.oneOf.1","typeLabel":"null"}],"uniqueKey":"id","typeLabel":"string\u003cuuid> | null"},"userInfo":{"oneOf":[{"type":"null","uniqueKey":"userInfo.oneOf.0","typeLabel":"null"},{"type":"object","description":"Optional info about the end user. Required eventually for personal\norgs. Rejected on business orgs (those don't have a single end user).","required":["email","displayName"],"properties":{"displayName":{"type":"string","isRequired":true,"uniqueKey":"userInfo.oneOf.1.displayName","typeLabel":"string"},"email":{"type":"string","isRequired":true,"uniqueKey":"userInfo.oneOf.1.email","typeLabel":"string"}},"uniqueKey":"userInfo.oneOf.1","typeLabel":"object"}],"uniqueKey":"userInfo","typeLabel":"null | object"},"country":{"oneOf":[{"type":"string","description":"ISO 3166-1 alpha-2 country code (e.g. `MX`). Business orgs only; rejected on personal orgs. When provided, Etherfuse generates the KYB onboarding at creation, seeding the company entity with this country so the user lands straight in KYB. Omit it and the user is prompted for their country when they begin KYB.","example":"MX","uniqueKey":"country.oneOf.0","typeLabel":"string"},{"type":"null","description":"ISO 3166-1 alpha-2 country code (e.g. `MX`). Business orgs only; rejected on personal orgs. When provided, Etherfuse generates the KYB onboarding at creation, seeding the company entity with this country so the user lands straight in KYB. Omit it and the user is prompted for their country when they begin KYB.","example":"MX","uniqueKey":"country.oneOf.1","typeLabel":"null"}],"uniqueKey":"country","typeLabel":"string | null"},"legalName":{"oneOf":[{"type":"string","description":"Legal entity name for the KYB company entity (e.g. the incorporated name on the company's registry documents). Pass it together with `country` when generating the KYB onboarding at creation; rejected without `country`. Independent of `displayName`: renaming the org does not change the legal name, and vice versa.","example":"Acme Corporation S.A. de C.V.","uniqueKey":"legalName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Legal entity name for the KYB company entity (e.g. the incorporated name on the company's registry documents). Pass it together with `country` when generating the KYB onboarding at creation; rejected without `country`. Independent of `displayName`: renaming the org does not change the legal name, and vice versa.","example":"Acme Corporation S.A. de C.V.","uniqueKey":"legalName.oneOf.1","typeLabel":"null"}],"uniqueKey":"legalName","typeLabel":"string | null"}},"example":{"accountType":"personal","displayName":"Ana Ejemplo","id":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","userInfo":{"displayName":"Ana Ejemplo","email":"[email protected]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"accountType":"personal","displayName":"Ana Ejemplo","id":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","userInfo":{"displayName":"Ana Ejemplo","email":"[email protected]"}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"73304ff6-921b-4dc0-9b7e-123209942d36":{"description":"The new organization.","content":{"application/json":{"schema":{"type":"object","required":["id","displayName","accountType","approvedAt","createdAt","updatedAt"],"properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"id","typeLabel":"string\u003cuuid>"},"displayName":{"type":"string","isRequired":true,"uniqueKey":"displayName","typeLabel":"string"},"accountType":{"type":"string","enum":["personal","business"],"description":"`personal`: an individual who completes KYC. `business`: a company that completes KYB.","isRequired":true,"uniqueKey":"accountType","typeLabel":"enum\u003cstring>"},"approvedAt":{"oneOf":[{"type":"string","format":"date-time","description":"When the organization's KYC or KYB was approved. Null until then.","isRequired":true,"uniqueKey":"approvedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When the organization's KYC or KYB was approved. Null until then.","isRequired":true,"uniqueKey":"approvedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"approvedAt","typeLabel":"string\u003cdate-time> | null"},"createdAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"updatedAt","typeLabel":"string\u003cdate-time>"}},"example":{"id":"b2c3d4e5-f6a7-8901-bcde-f12345678901","displayName":"Ana Ejemplo","accountType":"personal","approvedAt":null,"createdAt":"2026-10-01T14:30:00Z","updatedAt":"2026-10-01T14:30:00Z"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"b2c3d4e5-f6a7-8901-bcde-f12345678901","displayName":"Ana Ejemplo","accountType":"personal","approvedAt":null,"createdAt":"2026-10-01T14:30:00Z","updatedAt":"2026-10-01T14:30:00Z"}}},"exampleType":"generated"}},"exampleType":"generated"},"b9f82745-a378-49f5-b950-df71c60131f8":{"description":"`invalid-request`: a path, query or body value is malformed, or `pageSize` is 0 or over 100.","content":{"application/problem+json":{"schema":{"type":"object","description":"RFC 9457 problem details. Every v2 error uses this body with content type `application/problem+json`. `errors` is present only on `validation-error`. `required` and `missing` are present only on `registration-info-required`.","required":["type","title","status","detail","instance"],"properties":{"type":{"type":"string","format":"uri","description":"`https://docs.etherfuse.com/ramp/v2/errors/` followed by the problem slug, for example `https://docs.etherfuse.com/ramp/v2/errors/quote-expired`. Switch on this value.","example":"https://docs.etherfuse.com/ramp/v2/errors/quote-expired","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","description":"Short summary of the problem type.","example":"Quote expired","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","description":"The HTTP status code.","example":400,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"detail":{"type":"string","description":"Human-readable explanation of this occurrence. Do not parse it.","example":"quote 5e6f7a8b-9c0d-4e1f-8a2b-3c4d5e6f7a8b has expired or does not exist","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"instance":{"type":"string","description":"Unique identifier for this occurrence. Quote it to support.","example":"tag:etherfuse.com,2026-08-28:R2-10120/0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d","isRequired":true,"uniqueKey":"instance","typeLabel":"string"},"errors":{"type":"array","description":"Present on `validation-error`. One entry per invalid field.","items":{"type":"object","required":["pointer","detail"],"properties":{"pointer":{"type":"string","description":"JSON Pointer to the field in the request, for example `#/accountDetails/clabe`.","example":"#/accountDetails/clabe","isRequired":true,"uniqueKey":"errors.items.[INDEX].pointer","typeLabel":"string"},"detail":{"type":"string","description":"What is wrong with the field.","example":"This field is required.","isRequired":true,"uniqueKey":"errors.items.[INDEX].detail","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"},"required":{"type":"array","description":"Present on `registration-info-required`. Every registration field the route requires, as JSON Pointers into the request, for example `#/registrationInfo/taxId`.","items":{"type":"string","uniqueKey":"required.items.[INDEX]","typeLabel":"string"},"uniqueKey":"required","typeLabel":"string[]"},"missing":{"type":"array","description":"Present on `registration-info-required`. The required fields you must still send, as JSON Pointers into the request.","items":{"type":"string","uniqueKey":"missing.items.[INDEX]","typeLabel":"string"},"uniqueKey":"missing","typeLabel":"string[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"https://docs.etherfuse.com/ramp/v2/errors/quote-expired","title":"Quote expired","status":400,"detail":"quote 5e6f7a8b-9c0d-4e1f-8a2b-3c4d5e6f7a8b has expired or does not exist","instance":"tag:etherfuse.com,2026-08-28:R2-10120/0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d","errors":[{"pointer":"#/accountDetails/clabe","detail":"This field is required."}],"required":["\u003cstring>"],"missing":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"},"cafd27cc-9ce8-40fe-b29a-1f8a42423181":{"description":"`unauthorized`: the `Authorization` header is missing, not ASCII, or does not hold a valid API key.","content":{"application/problem+json":{"schema":{"type":"object","description":"RFC 9457 problem details. Every v2 error uses this body with content type `application/problem+json`. `errors` is present only on `validation-error`. `required` and `missing` are present only on `registration-info-required`.","required":["type","title","status","detail","instance"],"properties":{"type":{"type":"string","format":"uri","description":"`https://docs.etherfuse.com/ramp/v2/errors/` followed by the problem slug, for example `https://docs.etherfuse.com/ramp/v2/errors/quote-expired`. Switch on this value.","example":"https://docs.etherfuse.com/ramp/v2/errors/quote-expired","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","description":"Short summary of the problem type.","example":"Quote expired","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","description":"The HTTP status code.","example":400,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"detail":{"type":"string","description":"Human-readable explanation of this occurrence. Do not parse it.","example":"quote 5e6f7a8b-9c0d-4e1f-8a2b-3c4d5e6f7a8b has expired or does not exist","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"instance":{"type":"string","description":"Unique identifier for this occurrence. Quote it to support.","example":"tag:etherfuse.com,2026-08-28:R2-10120/0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d","isRequired":true,"uniqueKey":"instance","typeLabel":"string"},"errors":{"type":"array","description":"Present on `validation-error`. One entry per invalid field.","items":{"type":"object","required":["pointer","detail"],"properties":{"pointer":{"type":"string","description":"JSON Pointer to the field in the request, for example `#/accountDetails/clabe`.","example":"#/accountDetails/clabe","isRequired":true,"uniqueKey":"errors.items.[INDEX].pointer","typeLabel":"string"},"detail":{"type":"string","description":"What is wrong with the field.","example":"This field is required.","isRequired":true,"uniqueKey":"errors.items.[INDEX].detail","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"},"required":{"type":"array","description":"Present on `registration-info-required`. Every registration field the route requires, as JSON Pointers into the request, for example `#/registrationInfo/taxId`.","items":{"type":"string","uniqueKey":"required.items.[INDEX]","typeLabel":"string"},"uniqueKey":"required","typeLabel":"string[]"},"missing":{"type":"array","description":"Present on `registration-info-required`. The required fields you must still send, as JSON Pointers into the request.","items":{"type":"string","uniqueKey":"missing.items.[INDEX]","typeLabel":"string"},"uniqueKey":"missing","typeLabel":"string[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"https://docs.etherfuse.com/ramp/v2/errors/quote-expired","title":"Quote expired","status":400,"detail":"quote 5e6f7a8b-9c0d-4e1f-8a2b-3c4d5e6f7a8b has expired or does not exist","instance":"tag:etherfuse.com,2026-08-28:R2-10120/0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d","errors":[{"pointer":"#/accountDetails/clabe","detail":"This field is required."}],"required":["\u003cstring>"],"missing":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"},"56e82fe1-a6a9-490a-a063-aee0cac93958":{"description":"`conflict`: the request conflicts with the resource's current state. `detail` says how.","content":{"application/problem+json":{"schema":{"type":"object","description":"RFC 9457 problem details. Every v2 error uses this body with content type `application/problem+json`. `errors` is present only on `validation-error`. `required` and `missing` are present only on `registration-info-required`.","required":["type","title","status","detail","instance"],"properties":{"type":{"type":"string","format":"uri","description":"`https://docs.etherfuse.com/ramp/v2/errors/` followed by the problem slug, for example `https://docs.etherfuse.com/ramp/v2/errors/quote-expired`. Switch on this value.","example":"https://docs.etherfuse.com/ramp/v2/errors/quote-expired","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","description":"Short summary of the problem type.","example":"Quote expired","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","description":"The HTTP status code.","example":400,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"detail":{"type":"string","description":"Human-readable explanation of this occurrence. Do not parse it.","example":"quote 5e6f7a8b-9c0d-4e1f-8a2b-3c4d5e6f7a8b has expired or does not exist","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"instance":{"type":"string","description":"Unique identifier for this occurrence. Quote it to support.","example":"tag:etherfuse.com,2026-08-28:R2-10120/0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d","isRequired":true,"uniqueKey":"instance","typeLabel":"string"},"errors":{"type":"array","description":"Present on `validation-error`. One entry per invalid field.","items":{"type":"object","required":["pointer","detail"],"properties":{"pointer":{"type":"string","description":"JSON Pointer to the field in the request, for example `#/accountDetails/clabe`.","example":"#/accountDetails/clabe","isRequired":true,"uniqueKey":"errors.items.[INDEX].pointer","typeLabel":"string"},"detail":{"type":"string","description":"What is wrong with the field.","example":"This field is required.","isRequired":true,"uniqueKey":"errors.items.[INDEX].detail","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"},"required":{"type":"array","description":"Present on `registration-info-required`. Every registration field the route requires, as JSON Pointers into the request, for example `#/registrationInfo/taxId`.","items":{"type":"string","uniqueKey":"required.items.[INDEX]","typeLabel":"string"},"uniqueKey":"required","typeLabel":"string[]"},"missing":{"type":"array","description":"Present on `registration-info-required`. The required fields you must still send, as JSON Pointers into the request.","items":{"type":"string","uniqueKey":"missing.items.[INDEX]","typeLabel":"string"},"uniqueKey":"missing","typeLabel":"string[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"https://docs.etherfuse.com/ramp/v2/errors/quote-expired","title":"Quote expired","status":400,"detail":"quote 5e6f7a8b-9c0d-4e1f-8a2b-3c4d5e6f7a8b has expired or does not exist","instance":"tag:etherfuse.com,2026-08-28:R2-10120/0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d","errors":[{"pointer":"#/accountDetails/clabe","detail":"This field is required."}],"required":["\u003cstring>"],"missing":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"},"ea597109-f4b6-45fe-95d5-a564a80ccb6e":{"description":"`internal-error`: an unexpected error on our side. Retry with backoff, and quote `instance` to support if it persists.","content":{"application/problem+json":{"schema":{"type":"object","description":"RFC 9457 problem details. Every v2 error uses this body with content type `application/problem+json`. `errors` is present only on `validation-error`. `required` and `missing` are present only on `registration-info-required`.","required":["type","title","status","detail","instance"],"properties":{"type":{"type":"string","format":"uri","description":"`https://docs.etherfuse.com/ramp/v2/errors/` followed by the problem slug, for example `https://docs.etherfuse.com/ramp/v2/errors/quote-expired`. Switch on this value.","example":"https://docs.etherfuse.com/ramp/v2/errors/quote-expired","isRequired":true,"uniqueKey":"type","typeLabel":"string\u003curi>"},"title":{"type":"string","description":"Short summary of the problem type.","example":"Quote expired","isRequired":true,"uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","description":"The HTTP status code.","example":400,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"detail":{"type":"string","description":"Human-readable explanation of this occurrence. Do not parse it.","example":"quote 5e6f7a8b-9c0d-4e1f-8a2b-3c4d5e6f7a8b has expired or does not exist","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"instance":{"type":"string","description":"Unique identifier for this occurrence. Quote it to support.","example":"tag:etherfuse.com,2026-08-28:R2-10120/0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d","isRequired":true,"uniqueKey":"instance","typeLabel":"string"},"errors":{"type":"array","description":"Present on `validation-error`. One entry per invalid field.","items":{"type":"object","required":["pointer","detail"],"properties":{"pointer":{"type":"string","description":"JSON Pointer to the field in the request, for example `#/accountDetails/clabe`.","example":"#/accountDetails/clabe","isRequired":true,"uniqueKey":"errors.items.[INDEX].pointer","typeLabel":"string"},"detail":{"type":"string","description":"What is wrong with the field.","example":"This field is required.","isRequired":true,"uniqueKey":"errors.items.[INDEX].detail","typeLabel":"string"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"},"required":{"type":"array","description":"Present on `registration-info-required`. Every registration field the route requires, as JSON Pointers into the request, for example `#/registrationInfo/taxId`.","items":{"type":"string","uniqueKey":"required.items.[INDEX]","typeLabel":"string"},"uniqueKey":"required","typeLabel":"string[]"},"missing":{"type":"array","description":"Present on `registration-info-required`. The required fields you must still send, as JSON Pointers into the request.","items":{"type":"string","uniqueKey":"missing.items.[INDEX]","typeLabel":"string"},"uniqueKey":"missing","typeLabel":"string[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"https://docs.etherfuse.com/ramp/v2/errors/quote-expired","title":"Quote expired","status":400,"detail":"quote 5e6f7a8b-9c0d-4e1f-8a2b-3c4d5e6f7a8b has expired or does not exist","instance":"tag:etherfuse.com,2026-08-28:R2-10120/0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d","errors":[{"pointer":"#/accountDetails/clabe","detail":"This field is required."}],"required":["\u003cstring>"],"missing":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"e2afb556-03f4-4063-920b-822ee6d2cce7":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"API key sent in the Authorization header, with no `Bearer` prefix.","scopes":[],"schemeName":"ApiKeyAuth"}}},"servers":{"58ef8c25-fe99-4a3a-b3d6-63ae68d90d12":{"url":"https://api.sand.etherfuse.com","description":"Sandbox"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"Authorization","description":"API key sent in the Authorization header, with no `Bearer` prefix.","scopes":[],"schemeName":"ApiKeyAuth"},"schema":{"title":"Authorization","type":"string","description":"API key sent in the Authorization header, with no `Bearer` prefix.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKeyAuth","name":"Authorization"}],"title":"ApiKeyAuth"}]},"originalFileLocation":"openapi-v2.json"},"subdomain":"etherfuse","siteName":"Etherfuse API","title":"Create customer organization - Etherfuse API","navMaps":{"firstHrefInVersion":{"v2 (beta)":{"href":"/v2/api-reference/organizations/create-organization","matchLevel":0},"v1 (legacy)":{"href":"/introduction","matchLevel":4}},"firstHrefInLanguage":{}},"lastModified":"2026-10-14T23:35:07.625Z","originalFileLocation":"v2/api-reference/organizations/create-organization.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Creates a customer organization under yours. It starts unapproved; it is approved once its KYC or KYB is. Register its bank accounts and wallets afterwards with Register payment account. All fields are optional, so {} creates a bare personal organization. If id is already in use the request returns 409 conflict. ## Account types - personal: an individual who completes KYC. Send userInfo so we can email them about their verification. - business: a company that completes KYB. userInfo is rejected. Send country to set up KYB at creation, and add the people who complete it with Add organization member. accountType defaults to personal today and will become required. Send it explicitly. ## Signing customers in For a personal organization whose customer signs in with a JWT (see JWT User Authentication), send the JWT sub as id. A business organization has its own id; never reuse a customer\u0026#x27;s sub as one, which returns 409.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Etherfuse API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/etherfuse/2PYR-_ECBzhTGa_z/_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/etherfuse/2PYR-_ECBzhTGa_z/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/etherfuse/2PYR-_ECBzhTGa_z/_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/etherfuse/2PYR-_ECBzhTGa_z/_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/etherfuse/2PYR-_ECBzhTGa_z/_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/etherfuse/2PYR-_ECBzhTGa_z/_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/etherfuse/2PYR-_ECBzhTGa_z/_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/etherfuse/2PYR-_ECBzhTGa_z/_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/etherfuse/2PYR-_ECBzhTGa_z/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create customer organization - Etherfuse API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Creates a customer organization under yours. It starts unapproved; it is approved once its KYC or KYB is. Register its bank accounts and wallets afterwards with Register payment account. All fields are optional, so {} creates a bare personal organization. If id is already in use the request returns 409 conflict. ## Account types - personal: an individual who completes KYC. Send userInfo so we can email them about their verification. - business: a company that completes KYB. userInfo is rejected. Send country to set up KYB at creation, and add the people who complete it with Add organization member. accountType defaults to personal today and will become required. Send it explicitly. ## Signing customers in For a personal organization whose customer signs in with a JWT (see JWT User Authentication), send the JWT sub as id. A business organization has its own id; never reuse a customer\u0026#x27;s sub as one, which returns 409.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Etherfuse API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.etherfuse.com/v2/api-reference/organizations/create-organization\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://etherfuse.mintlify.app/_mintlify/api/og/v2?division=Organizations\u0026amp;title=Create+customer+organization\u0026amp;description=Creates+a+customer+organization+under+yours.+It+starts+unapproved%3B+it+is+approved+once+its+KYC+or+KYB+is.+Register+its+bank+accounts+and+wallets+afterwards+with\u0026amp;theme=a63046a1b6875a84019a21bc\u0026amp;signature=add50390a242247e953a34e6b313db63535cc0fd7b013bf29e540cc16deaf866\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Create customer organization - Etherfuse API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Creates a customer organization under yours. It starts unapproved; it is approved once its KYC or KYB is. Register its bank accounts and wallets afterwards with Register payment account. All fields are optional, so {} creates a bare personal organization. If id is already in use the request returns 409 conflict. ## Account types - personal: an individual who completes KYC. Send userInfo so we can email them about their verification. - business: a company that completes KYB. userInfo is rejected. Send country to set up KYB at creation, and add the people who complete it with Add organization member. accountType defaults to personal today and will become required. Send it explicitly. ## Signing customers in For a personal organization whose customer signs in with a JWT (see JWT User Authentication), send the JWT sub as id. A business organization has its own id; never reuse a customer\u0026#x27;s sub as one, which returns 409.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://etherfuse.mintlify.app/_mintlify/api/og/v2?division=Organizations\u0026amp;title=Create+customer+organization\u0026amp;description=Creates+a+customer+organization+under+yours.+It+starts+unapproved%3B+it+is+approved+once+its+KYC+or+KYB+is.+Register+its+bank+accounts+and+wallets+afterwards+with\u0026amp;theme=a63046a1b6875a84019a21bc\u0026amp;signature=add50390a242247e953a34e6b313db63535cc0fd7b013bf29e540cc16deaf866\">\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/etherfuse/2PYR-_ECBzhTGa_z/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Etherfuse API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#141414\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.etherfuse.com/v2/api-reference/organizations/create-organization\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/v2/api-reference/organizations/create-organization.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.etherfuse.com/#organization\",\"name\":\"Etherfuse API\",\"url\":\"https://docs.etherfuse.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/etherfuse/XRSchVFGUgreQatD/img/logo-black.svg?fit=max\u0026auto=format\u0026n=XRSchVFGUgreQatD\u0026q=85\u0026s=92cf84eca27df4a19f7b032da398d110\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.etherfuse.com#website\",\"name\":\"Etherfuse API\",\"url\":\"https://docs.etherfuse.com\",\"publisher\":{\"@id\":\"https://docs.etherfuse.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.etherfuse.com/v2/api-reference/organizations/create-organization#webpage\",\"url\":\"https://docs.etherfuse.com/v2/api-reference/organizations/create-organization\",\"name\":\"Create customer organization\",\"description\":\"Creates a customer organization under yours. It starts unapproved; it is approved once its KYC or KYB is. Register its bank accounts and wallets afterwards with Register payment account. All fields are optional, so {} creates a bare personal organization. If id is already in use the request returns 409 conflict. ## Account types - personal: an individual who completes KYC. Send userInfo so we can email them about their verification. - business: a company that completes KYB. userInfo is rejected. Send country to set up KYB at creation, and add the people who complete it with Add organization member. accountType defaults to personal today and will become required. Send it explicitly. ## Signing customers in For a personal organization whose customer signs in with a JWT (see JWT User Authentication), send the JWT sub as id. A business organization has its own id; never reuse a customer's sub as one, which returns 409.\",\"dateModified\":\"2026-10-14T23:35:07.625Z\",\"isPartOf\":{\"@id\":\"https://docs.etherfuse.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.etherfuse.com/v2/api-reference/organizations/create-organization#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.etherfuse.com/v2/api-reference/organizations/create-organization#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Organizations\",\"item\":\"https://docs.etherfuse.com/v2/api-reference/organizations/get-me\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create customer organization\",\"item\":\"https://docs.etherfuse.com/v2/api-reference/organizations/create-organization\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.etherfuse.com/v2/api-reference/organizations/create-organization#apireference\",\"headline\":\"Create customer organization\",\"name\":\"Create customer organization\",\"description\":\"Creates a customer organization under yours. It starts unapproved; it is approved once its KYC or KYB is. Register its bank accounts and wallets afterwards with Register payment account. All fields are optional, so {} creates a bare personal organization. If id is already in use the request returns 409 conflict. ## Account types - personal: an individual who completes KYC. Send userInfo so we can email them about their verification. - business: a company that completes KYB. userInfo is rejected. Send country to set up KYB at creation, and add the people who complete it with Add organization member. accountType defaults to personal today and will become required. Send it explicitly. ## Signing customers in For a personal organization whose customer signs in with a JWT (see JWT User Authentication), send the JWT sub as id. A business organization has its own id; never reuse a customer's sub as one, which returns 409.\",\"url\":\"https://docs.etherfuse.com/v2/api-reference/organizations/create-organization\",\"mainEntityOfPage\":{\"@id\":\"https://docs.etherfuse.com/v2/api-reference/organizations/create-organization#webpage\"},\"dateModified\":\"2026-10-14T23:35:07.625Z\",\"publisher\":{\"@id\":\"https://docs.etherfuse.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.etherfuse.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Etherfuse API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Etherfuse API","nav":{"global":null,"versions":[{"version":"v2 (beta)","default":true,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/v2"}]},{"tab":"API Reference","pages":[{"title":"Introduction","href":"/v2/api-reference/introduction"},{"title":"API Authentication","href":"/v2/authentication"},{"title":"Errors","href":"/v2/errors"},{"title":"Pagination","href":"/v2/pagination"},{"title":"Idempotency","href":"/v2/idempotency"},{"group":"User Authentication","icon":"key","pages":[{"openapi":"openapi-v2.json POST /auth/launch","title":"Launch a user into the app","href":"/v2/api-reference/authentication/launch-a-user-into-the-app"},{"openapi":"openapi-v2.json GET /auth/launch","title":"Launch a user via postMessage","href":"/v2/api-reference/authentication/launch-a-user-via-postmessage"},{"title":"Exchange a partner JWT","openapi":"openapi-v2.json POST /auth/token","href":"/v2/api-reference/authentication/exchange-a-partner-jwt"}]},{"group":"Payment Accounts","icon":"building-columns","pages":[{"title":"Register payment account","openapi":"openapi-v2.json POST /organization/{organizationId}/payment_account","href":"/v2/api-reference/payment-accounts/register-payment-account"},{"title":"Get registration requirements","openapi":"openapi-v2.json GET /organization/{organizationId}/payment_account/requirements","href":"/v2/api-reference/payment-accounts/get-registration-requirements"},{"title":"Get payment account","openapi":"openapi-v2.json GET /organization/{organizationId}/payment_account/{id}","href":"/v2/api-reference/payment-accounts/get-payment-account"},{"title":"Update payment account","openapi":"openapi-v2.json PATCH /organization/{organizationId}/payment_account/{id}","href":"/v2/api-reference/payment-accounts/update-payment-account"},{"title":"List payment accounts","openapi":"openapi-v2.json GET /organization/{organizationId}/payment_accounts","href":"/v2/api-reference/payment-accounts/list-payment-accounts"}]},{"group":"Quotes","icon":"tag","pages":[{"title":"Create quote","openapi":"openapi-v2.json POST /organization/{organizationId}/quote","href":"/v2/api-reference/quotes/create-quote"}]},{"group":"Orders","icon":"receipt","pages":[{"title":"Create order","openapi":"openapi-v2.json POST /organization/{organizationId}/order","href":"/v2/api-reference/orders/create-order"},{"title":"Get order","openapi":"openapi-v2.json GET /organization/{organizationId}/order/{id}","href":"/v2/api-reference/orders/get-order"},{"title":"List orders","openapi":"openapi-v2.json GET /orders","href":"/v2/api-reference/orders/list-orders"},{"title":"Cancel order","openapi":"openapi-v2.json POST /organization/{organizationId}/order/{id}/cancel","href":"/v2/api-reference/orders/cancel-order"},{"title":"Refresh funding instructions","openapi":"openapi-v2.json POST /organization/{organizationId}/order/{id}/funding_instructions/refresh","href":"/v2/api-reference/orders/refresh-funding-instructions"},{"title":"Prepare claim","openapi":"openapi-v2.json POST /organization/{organizationId}/order/{id}/claim","href":"/v2/api-reference/orders/prepare-claim"},{"title":"Submit authorization","openapi":"openapi-v2.json POST /organization/{organizationId}/order/{id}/authorization","href":"/v2/api-reference/orders/submit-authorization"}]},{"group":"Webhook Subscriptions","icon":"bell","pages":[{"title":"Create webhook subscription","openapi":"openapi-v2.json POST /webhook_subscription","href":"/v2/api-reference/webhook-subscriptions/create-webhook-subscription"},{"title":"Get webhook subscription","openapi":"openapi-v2.json GET /webhook_subscription/{id}","href":"/v2/api-reference/webhook-subscriptions/get-webhook-subscription"},{"title":"Delete webhook subscription","openapi":"openapi-v2.json DELETE /webhook_subscription/{id}","href":"/v2/api-reference/webhook-subscriptions/delete-webhook-subscription"},{"title":"List webhook subscriptions","openapi":"openapi-v2.json GET /webhook_subscriptions","href":"/v2/api-reference/webhook-subscriptions/list-webhook-subscriptions"}]},{"group":"Webhook Events","icon":"tower-broadcast","pages":[{"title":"orderUpdated","openapi":"openapi-v2.json webhook orderUpdated","href":"/v2/api-reference/webhook-events/orderupdated"},{"title":"paymentAccountUpdated","openapi":"openapi-v2.json webhook paymentAccountUpdated","href":"/v2/api-reference/webhook-events/paymentaccountupdated"},{"title":"kycUpdated","openapi":"openapi-v2.json webhook kycUpdated","href":"/v2/api-reference/webhooks/kycupdated"},{"title":"kybUpdated","openapi":"openapi-v2.json webhook kybUpdated","href":"/v2/api-reference/webhook-events/kybupdated"}]},{"group":"Organizations","icon":"building","pages":[{"title":"Get your organization","openapi":"openapi-v2.json GET /me","href":"/v2/api-reference/organizations/get-me"},{"title":"Set your default partner fee","openapi":"openapi-v2.json PATCH /me","href":"/v2/api-reference/organizations/update-me"},{"title":"List customer organizations","openapi":"openapi-v2.json GET /organizations","description":"Lists the customer organizations you created, newest first. Removed organizations are not listed. Your own organization is not in the list; read it with [`GET /me`](/v2/api-reference/organizations/get-me).","href":"/v2/api-reference/organizations/list-organizations"},{"title":"Create customer organization","openapi":"openapi-v2.json POST /organization","href":"/v2/api-reference/organizations/create-organization"},{"title":"Get organization","openapi":"openapi-v2.json GET /organization/{organizationId}","description":"Returns your organization or one of your customer organizations.","href":"/v2/api-reference/organizations/get-organization"},{"title":"Rename organization","openapi":"openapi-v2.json PATCH /organization/{organizationId}","href":"/v2/api-reference/organizations/update-organization"}]},{"group":"Members","icon":"users","pages":[{"title":"Add organization member","openapi":"openapi-v2.json POST /organization/{organizationId}/member","href":"/v2/api-reference/members/add-organization-member"},{"title":"List organization members","openapi":"openapi-v2.json GET /organization/{organizationId}/members","href":"/v2/api-reference/members/list-organization-members"},{"title":"Remove organization member","openapi":"openapi-v2.json DELETE /organization/{organizationId}/member/{memberId}","href":"/v2/api-reference/members/remove-organization-member"},{"title":"Revoke organization invite","openapi":"openapi-v2.json DELETE /organization/{organizationId}/member_invite/{email}","href":"/v2/api-reference/members/revoke-organization-invite"},{"title":"List a member's organizations","openapi":"openapi-v2.json GET /member/{memberId}/organizations","href":"/v2/api-reference/members/list-member-organizations"}]},{"group":"KYC","icon":"id-card","pages":[{"title":"Get KYC status","openapi":"openapi-v2.json GET /organization/{organizationId}/kyc","href":"/v2/api-reference/kyc/get-kyc-status"},{"title":"Submit verification data","openapi":"openapi-v2.json POST /organization/{organizationId}/verification","href":"/v2/api-reference/kyc/submit-verification-data"},{"title":"Upload verification documents","openapi":"openapi-v2.json POST /organization/{organizationId}/verification/documents","href":"/v2/api-reference/kyc/upload-verification-documents"},{"title":"Submit a verification questionnaire","openapi":"openapi-v2.json POST /organization/{organizationId}/verification/questionnaire","href":"/v2/api-reference/kyc/submit-a-verification-questionnaire"},{"title":"Import a verified session","openapi":"openapi-v2.json POST /organization/{organizationId}/verification/import","href":"/v2/api-reference/kyc/import-a-verified-session"},{"title":"List occupation categories","openapi":"openapi-v2.json GET /verification/occupations","href":"/v2/api-reference/kyc/list-occupation-categories"}]},{"group":"KYB","icon":"briefcase","pages":[{"title":"Get KYB status","openapi":"openapi-v2.json GET /organization/{organizationId}/kyb","href":"/v2/api-reference/kyb/get-kyb-status"}]},{"group":"Assets","icon":"coins","pages":[{"title":"List supported assets","openapi":"openapi-v2.json GET /supported_assets","href":"/v2/api-reference/assets/list-supported-assets"},{"title":"Get payment account balances","openapi":"openapi-v2.json GET /organization/{organizationId}/payment_account/{id}/balances","href":"/v2/api-reference/assets/get-payment-account-balances"}]},{"group":"Statements","icon":"file-invoice-dollar","pages":[{"title":"List partner statements","openapi":"openapi-v2.json GET /partner_statements","href":"/v2/api-reference/statements/list-partner-statements"},{"title":"Download statement CSV","openapi":"openapi-v2.json GET /partner_statement/{year}-{month}/csv","href":"/v2/api-reference/statements/download-statement-csv"},{"title":"Download statement PDF","openapi":"openapi-v2.json GET /partner_statement/{year}-{month}/pdf","href":"/v2/api-reference/statements/download-statement-pdf"}]},{"group":"Sandbox","icon":"flask","pages":[{"title":"Simulate fiat received","openapi":"openapi-v2.json POST /organization/{organizationId}/order/{id}/fiat_received","href":"/v2/api-reference/sandbox/simulate-fiat-received"}]},{"group":"Lookup API","icon":"magnifying-glass","pages":[{"title":"List exchange rates","openapi":"openapi-v2.json GET /lookup/exchange_rate","href":"/v2/api-reference/lookup/list-exchange-rates"},{"title":"Get exchange rate","openapi":"openapi-v2.json GET /lookup/exchange_rate/usd_to_{currency}","href":"/v2/api-reference/lookup/get-exchange-rate"},{"title":"List stablebonds","openapi":"openapi-v2.json GET /lookup/stablebonds","href":"/v2/api-reference/lookup/list-stablebonds"},{"title":"Get stablebond","openapi":"openapi-v2.json GET /lookup/stablebond/{identifier}","href":"/v2/api-reference/lookup/get-stablebond"},{"title":"List token costs","openapi":"openapi-v2.json GET /lookup/tokens/cost","href":"/v2/api-reference/lookup/list-token-costs"},{"title":"Get token cost","openapi":"openapi-v2.json GET /lookup/tokens/cost/{identifier}","href":"/v2/api-reference/lookup/get-token-cost"},{"title":"List country codes","openapi":"openapi-v2.json GET /lookup/country-codes","href":"/v2/api-reference/lookup/list-country-codes"},{"title":"List restricted countries","openapi":"openapi-v2.json GET /lookup/restricted-countries","href":"/v2/api-reference/lookup/list-restricted-countries"}]}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]}]},{"version":"v1 (legacy)","pages":[{"title":"v1 (legacy)","href":"/introduction"}]}]},"basePath":"","title":"Create customer organization - Etherfuse API","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C8RPHPxo.js","utils-0BK-9q6z.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DfjzsUJT.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B4v9psJ4.js","snippetPresets-CpTQv-Ez.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-BNP-Fvr0.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BSgu6h1D.js","shallow-Biv1i9Gs.js","getApiPlaygroundDisplay-BoGOXhtF.js","CodeSnippet-DvQoT18_.js","CodeSnippets-Dnpa15xT.js","Page-Buji1S4J.js","getPastedJson-xAIyhUFE.js","icon-S6FBih11.js","MethodPill-SaYeUZyk.js","DuplicateIcon-Cs-p3v2Q.js","createIcon-DjCFEoHq.js","DynamicMarkdown-BcnBltEQ.js","SectionHeading-BUBl0eEF.js","axios-vUo_bRtp.js","Markdown-h4cOoD8d.js","clsx-B2v50t8t.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DJnKvr0g.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BHrrjR1K.js"]}