Skip to main content
POST
/
ramp
/
organization
Create child org
curl --request POST \
  --url https://api.sand.etherfuse.com/ramp/organization \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "accountType": "personal",
  "displayName": "Ana García",
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "userInfo": {
    "displayName": "Ana García",
    "email": "[email protected]"
  }
}
'
{
  "organizationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "displayName": "Acme Inc.",
  "accountType": "business"
}

Authorizations

Authorization
string
header
required

API key sent in the Authorization header.

Body

application/json
accountType
enum<string> | null

Whether this org is an individual or a company:

  • personal: an individual customer completing KYC. Pass userInfo.
  • business: a company completing KYB. userInfo is 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.

Available options:
personal,
business
Example:

"personal"

displayName
string | null

The organization's name. For a business org, this is the company name.

id
string<uuid> | null
userInfo
object

Optional info about the end user. Required eventually for personal orgs. Rejected on business orgs (those don't have a single end user).

country
string | null

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"

Response

The created child organization

accountType
enum<string>
required

Account type of the child organization.

Available options:
business,
personal
Example:

"business"

displayName
string
required
organizationId
string<uuid>
required
wallets
object[]

Wallets registered during organization creation. Empty array omitted from response.

bankAccount
object

Bank account created during organization creation, if one was provided in the request. Omitted when not present.

Example:
{
"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"
}