ApiBusiness Registration

Register a business and begin onboarding

Create the business at tier B0 with the caller as its active Owner. The registering user is promoted to Owner, exactly as in E2-1: creating a business never mints a second identity - it reuses the `users` row the caller already has. A duplicate registration number in the same country is refused with a 409 and the next steps spelled out: whoever holds that number in that registry is one company, and the second filing is either a mistake or someone else's business.

POST
/api/b/v1/register

Create the business at tier B0 with the caller as its active Owner.

The registering user is promoted to Owner, exactly as in E2-1: creating a business never mints a second identity - it reuses the users row the caller already has.

A duplicate registration number in the same country is refused with a 409 and the next steps spelled out: whoever holds that number in that registry is one company, and the second filing is either a mistake or someone else's business.

Authorization

OAuth2PasswordBearer
AuthorizationBearer <token>

In: header

admin_access_token?string|null

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

What a prospective business files at /register.

Mirrors the pre-auth "tell us what you need" step: legal identity plus a way to reach the business. Registration number stays optional because a sole trader may have none, and forcing one would block onboarding.

Response Body

application/json

application/json

curl -X POST "https://example.com/api/b/v1/register" \  -H "Content-Type: application/json" \  -d '{    "legal_name": "string",    "country": "st"  }'
{  "business_id": "f59fcbb7-848d-4242-af07-a8bb7e3ab37c",  "legal_name": "string",  "legal_structure": "sole_proprietorship",  "trading_name": "string",  "country": "string",  "registration_number": "string",  "contact_email": "string",  "contact_phone": "string",  "kyb_status": "unverified",  "kyb_tier": "string",  "onboarding_checklist": [    {      "key": "string",      "label": "string"    }  ],  "created_at": "2019-08-24T14:15:22Z"}