Create tenant
const url = 'https://example.com/v1/tenants';const options = { method: 'POST', headers: { 'X-Tenant-ID': '2489E9AD-2EE2-8E00-8EC9-32D5F69181C0', 'X-API-Key': '<X-API-Key>', 'Content-Type': 'application/json' }, body: '{"name":"example","slug":"example","owner_email":"example","owner_name":"example","locale":"example","sso_start_url":"example","sso_region":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/v1/tenants \ --header 'Content-Type: application/json' \ --header 'X-API-Key: <X-API-Key>' \ --header 'X-Tenant-ID: 2489E9AD-2EE2-8E00-8EC9-32D5F69181C0' \ --data '{ "name": "example", "slug": "example", "owner_email": "example", "owner_name": "example", "locale": "example", "sso_start_url": "example", "sso_region": "example" }'Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Header Parameters
Section titled “Header Parameters ”Tenant identifier. Must match the tenant associated with the credential. Returns 403 tenant_mismatch if the credential and header belong to different tenants.
Request Body required
Section titled “Request Body required ”object
Email address of the tenant owner. An invite will be sent to this address.
Full name of the tenant owner.
Default locale for the tenant (e.g. ‘en’, ‘fr’).
AWS IAM Identity Center start URL for SSO login.
AWS region of the IAM Identity Center instance.
Example generated
{ "name": "example", "slug": "example", "owner_email": "example", "owner_name": "example", "locale": "example", "sso_start_url": "example", "sso_region": "example"}Responses
Section titled “ Responses ”Created
object
Default locale for the tenant (e.g. ‘en’, ‘fr’).
Email address of the tenant owner.
UUID of the tenant’s owner user.
AWS IAM Identity Center start URL for SSO login.
AWS region of the IAM Identity Center instance.
Whether this tenant is the master (platform) tenant.
First verified domain for this tenant, if any.
Example generated
{ "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "name": "example", "slug": "example", "locale": "example", "owner_email": "example", "sso_start_url": "example", "sso_region": "example", "created_at": "2026-04-15T12:00:00Z", "updated_at": "2026-04-15T12:00:00Z"}Invalid input
object
Machine-readable error code (e.g. “not_found”, “tenant_mismatch”).
Human-readable description of the error.
Optional additional context about the error.
object
Policy notices from determining Cedar rules, if applicable.
Example generated
{ "code": "example", "message": "example", "details": {}, "notices": [ "example" ]}Unauthenticated
object
Machine-readable error code (e.g. “not_found”, “tenant_mismatch”).
Human-readable description of the error.
Optional additional context about the error.
object
Policy notices from determining Cedar rules, if applicable.
Example generated
{ "code": "example", "message": "example", "details": {}, "notices": [ "example" ]}Forbidden
object
Machine-readable error code (e.g. “not_found”, “tenant_mismatch”).
Human-readable description of the error.
Optional additional context about the error.
object
Policy notices from determining Cedar rules, if applicable.
Example generated
{ "code": "example", "message": "example", "details": {}, "notices": [ "example" ]}Conflict (slug already taken)
object
Machine-readable error code (e.g. “not_found”, “tenant_mismatch”).
Human-readable description of the error.
Optional additional context about the error.
object
Policy notices from determining Cedar rules, if applicable.
Example generated
{ "code": "example", "message": "example", "details": {}, "notices": [ "example" ]}