Skip to content

Creating tenants

Organisations come into being exclusively through provisioning. Whether the operator creates them in the panel, a checkout frontend books them, or someone registers themselves: all three paths invoke the same mechanism. This means there is no second place where a half-created tenant could arise.

Each creation produces:

  • the organisation (tenant) with plan and home region,
  • its first administrator (account plus global identity),
  • that administrator’s base project.
Terminal window
curl -X POST \
-H "X-Operator-Token: $DNSE_OPERATOR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "acme",
"plan": "pro",
"adminUser": "alice@acme.example",
"adminPassword": "geheim-123"
}' \
https://cloud.example.com/api/v1/operator/tenants
FieldRequiredMeaning
nameyesName of the organisation (unique, case-insensitive)
plannofree (default), plus, pro, enterprise
adminUseryesEmail of the first administrator
adminPasswordyesInitial password
adminDisplayNamenoDisplay name
adminEmailnoDifferent contact address
regionnoHome region; empty = primary region of the instance

A name already taken is rejected with 409.

Instead of the token, a signed-in operator session also works — in the panel that is exactly the Create organisation button.

Registration runs via a magic link:

StepCall
Enter addressPOST /api/v1/register/start
Verify linkGET /api/v1/register/check
CompletePOST /api/v1/register/complete

The link is valid for 15 minutes. Only in the final step do the organisation and account come into being — before that, nothing exists that would need cleaning up.

In demo mode the link is returned directly in the response, so the flow can be walked through without an outgoing mail server. In production it is sent by email, for which the SMTP settings must be configured at the platform level.

Sign-in uses email and password — no field for the organisation. If a person belongs to several organisations, the sign-in form asks after the password which one is meant. Details: Identity and organisations.