Skip to main content
POST
Provision a tenant (+ admin membership, optional bootstrap key)

Authorizations

Authorization
string
header
required

MeshQu API key passed as a bearer token: Authorization: Bearer mqu_…. Mint one in the console (Settings → API keys).

X-MeshQu-Tenant-Id
string
header
required

Tenant UUID for multi-tenant isolation. Required on all authenticated routes — validated before authentication (middleware/tenant.ts), so a missing or non-UUID header returns 400 (MISSING_TENANT_ID / INVALID_TENANT_ID) before the API key is checked.

Body

application/json
name
string
required

Display name for the new tenant

Minimum string length: 1
admin_user_id
string<uuid>
required

Existing auth.users id to seed as tenant admin

slug
string

URL-safe slug; derived from name when omitted

Pattern: ^[a-z0-9-]{1,63}$
parent_tenant_id
string<uuid>

Optional parent tenant (hierarchy)

mint_api_key
boolean
default:false

Mint a bootstrap API key for the new tenant

Response

Default Response

tenant
object
required
api_key
object