Skip to main content

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

PropertyValue
URLPOST /white-label-partner/create-company
MethodPOST
AuthR-Auth: <partner-jwt>
Content-Typeapplication/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

FieldTypeRequiredDescription
userEmailstringYesMust already exist under your partner account. See Create user.
companyNamestringYesLegal company name
taxNumberstringYesTax number. Must be unique per country.
vatNumberstringYesVAT number
countrystringYesISO 3166-1 alpha-2 country code, for example DE, FR, IT, RO, TR, MY
languagestringNoPreferred language code
addressstringYesStreet address, maximum 500 characters
citystringYesCity
statestringYesState or region, maximum 50 characters
postalCodestringYesPostal code
ibanNumberstringNoIBAN for payment details
bicNumberstringNoBIC or SWIFT code
emailstringYesContact email provided by the partner when the partner account was set up

Response

{
"companyId": "f5e6d7c8-1234-5678-9abc-def012345678",
"apiKey": "<company-apiKey>"
}

Response fields

FieldDescription
companyIdUUID of the newly created company
apiKeyCompany-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:

FieldConstraintExample
taxNumberExactly 9 digits, also known as SIREN. Must be a valid registered SIREN.426919851
vatNumberFR + 2 alphanumeric characters + 9 digitsFR42426919851
ibanNumberFR + 25 characters, 27 total charactersFR7630006000011234567890189

Notes

Duplicate company

A duplicate taxNumber and country combination returns 409 WHITELABEL_CONFLICT.