Create child org
Creates a new child organization under the caller’s organization. The child org is created in an unapproved state; approval happens separately through the Etherfuse approval workflow.
Create the org here first, then add wallets and bank accounts as separate steps with Register customer wallet and Create bank account. Handling each step on its own gives clearer error messages and lets you guide customers through any failures without re-sending everything.
If the provided id collides with an existing record, the request returns 409. All
fields are optional: sending an empty body {} creates a bare organization.
Account types
Every organization has an accountType of either personal (an individual customer
completing KYC) or business (a company completing KYB). The two are handled differently
downstream: personal orgs go through individual KYC and Plaid; business orgs go through
KYB and skip per-wallet compliance.
personal: passuserInfoso the end user records are created and we can email them on status changes.business:userInfois rejected (business orgs do not have a single end user).
accountType is currently optional and defaults to personal. It will become required
in a future release. Start sending it explicitly now.
Authenticating as the customer
For a personal org, if the customer signs in with a JWT (see JWT User Authentication), pass the same id as the JWT sub here in id; the shared id ties the org to that user. A business org is different: it has its own id and isn’t tied to one user, and sub identifies a person, so never reuse a customer’s sub/id as a business org id (that returns 409). The people who run its KYB sign in with their own sub and select the business via ?org=<id> on launch.
Business onboarding
For a business org, pass country (ISO code) to generate the KYB onboarding at creation so the user drops straight into KYB; omit it and they’re prompted for their country when they begin. country is rejected on personal orgs.
Members are added separately: create the org first, then add the people who complete its KYB with Add organization member.
Authorizations
API key sent in the Authorization header.
Body
Whether this org is an individual or a company:
personal: an individual customer completing KYC. PassuserInfo.business: a company completing KYB.userInfois rejected.
Optional today and defaults to personal, but it will become required in a
future release once partners have migrated, so send it explicitly now.
personal, business "personal"
The organization's name. For a business org, this is the company name.
Optional info about the end user. Required eventually for personal orgs. Rejected on business orgs (those don't have a single end user).
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.
"MX"
Response
The created child organization
Account type of the child organization.
business, personal "business"
Wallets registered during organization creation. Empty array omitted from response.
Bank account created during organization creation, if one was provided in the request. Omitted when not present.
{
"abbrClabe": "•••• 0004",
"bankAccountId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"compliant": true,
"createdAt": "2026-05-01T14:30:00Z",
"currency": "MXN",
"customerId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"etherfuseDepositClabe": "646180157000000004",
"label": "Ana's SPEI account",
"needsWork": false,
"status": "active",
"updatedAt": "2026-05-02T09:15:00Z"
}