Create Company
Create a company for an existing user under your partner account. This endpoint returns a company-scoped API key that the end customer uses to authenticate.
Endpoint
| Property | Value |
|---|---|
| URL | POST /white-label-partner/create-company |
| Method | POST |
| Auth | R-Auth: <partner-jwt> |
| Content-Type | application/json |
Example Request
curl --location '{{baseUrl}}/white-label-partner/create-company' \
--header 'Content-Type: application/json' \
--header 'R-Auth: {{partnerJwt}}' \
--data-raw '{
"userEmail": "alice@customer.com",
"companyName": "Acme GmbH",
"taxNumber": "DE123456789",
"vatNumber": "DE123456789",
"country": "DE",
"language": "EN",
"address": "Hauptstr. 1",
"city": "Berlin",
"state": "Berlin",
"postalCode": "10115",
"ibanNumber": "DE89370400440532013000",
"bicNumber": "COBADEFFXXX",
"email": "billing@acme.example"
}'
Request body
{
"userEmail": "alice@customer.com",
"companyName": "Acme GmbH",
"taxNumber": "DE123456789",
"vatNumber": "DE123456789",
"country": "DE",
"language": "EN",
"address": "Hauptstr. 1",
"city": "Berlin",
"state": "Berlin",
"postalCode": "10115",
"ibanNumber": "DE89370400440532013000",
"bicNumber": "COBADEFFXXX",
"email": "billing@acme.example"
}
Request fields
| Field | Type | Required | Description |
|---|---|---|---|
userEmail | string | Yes | Must already exist under your partner account. See Create user. |
companyName | string | Yes | Legal company name |
taxNumber | string | Yes | Tax number. Must be unique per country. |
vatNumber | string | Yes | VAT number |
country | string | Yes | ISO 3166-1 alpha-2 country code, for example DE, FR, IT, RO, TR, MY |
language | string | No | Preferred language code |
address | string | Yes | Street address, maximum 500 characters |
city | string | Yes | City |
state | string | Yes | State or region, maximum 50 characters |
postalCode | string | Yes | Postal code |
ibanNumber | string | No | IBAN for payment details |
bicNumber | string | No | BIC or SWIFT code |
email | string | Yes | Contact email provided by the partner when the partner account was set up |
Response
{
"companyId": "f5e6d7c8-1234-5678-9abc-def012345678",
"apiKey": "<company-apiKey>"
}
Response fields
| Field | Description |
|---|---|
companyId | UUID of the newly created company |
apiKey | Company-scoped API key. Use this for Authentication and all invoice or ERP calls. |
France-specific field constraints
When country is FR, the following additional rules apply:
| Field | Constraint | Example |
|---|---|---|
taxNumber | Exactly 9 digits, also known as SIREN. Must be a valid registered SIREN. | 426919851 |
vatNumber | FR + 2 alphanumeric characters + 9 digits | FR42426919851 |
ibanNumber | FR + 25 characters, 27 total characters | FR7630006000011234567890189 |
Notes
Duplicate company
A duplicate taxNumber and country combination returns 409 WHITELABEL_CONFLICT.