---
title: "Create a new tenant."
method: POST
path: "/v1/tenants"
tags: ["Tenants"]
---

# Create a new tenant.

`POST /v1/tenants`

Create a new tenant, must be system admin.

## Request body

- object
  - `name` string
  - `disclaimer` string
  - `refreshTokenExpiration` number
  - `authTokenExpiration` number
  - `idleTimeout` number
  - `continuousVerificationEnabled` boolean
  - `ssoEnabled` boolean
  - `defaultIdp` string
  - `idpConfigs` union[]
    - union
      - object
        - `ssoMetadataUrl` string, required
        - `ssoMetadataXml` string
        - `ssoProvider` string, required
        - `ssoEmailFieldMapping` string, required
        - `ssoFirstNameFieldMapping` string, required
        - `ssoLastNameFieldMapping` string, required
        - `ssoGroupsFieldMapping` string, required
      - object
        - `ssoMetadataUrl` string
        - `ssoMetadataXml` string, required
        - `ssoProvider` string, required
        - `ssoEmailFieldMapping` string, required
        - `ssoFirstNameFieldMapping` string, required
        - `ssoLastNameFieldMapping` string, required
        - `ssoGroupsFieldMapping` string, required
  - `passwordExpiryDays` number
  - `passwordComplexity` boolean
  - `noPasswordReuse` boolean
  - `passwordExpiry` boolean
  - `subdomain` string, required

## Response `201`

Successfully created tenant.

- object
  - `id` Id — unresolved $ref
  - `name` string
  - `subdomain` string
  - `disclaimer` string
  - `features` object
  - `settings` object
    - `ssoEnabled` boolean
    - `defaultIdp` string
    - `namedUserClientId` string
    - `namedUserClientSecret` string
    - `ssoDomain` string
    - `ssoRedirectUri` string
    - `authTokenExpiration` string — Value in a minute. Default=240. min=1, max=720
    - `refreshTokenExpiration` string — Value in a minute. Default=720. min=1, max=720
    - `idleTimeout` string — Value in a minute. Default=60. min=1, max=720
    - `resetPassword` string
    - `passwordComplexity` string
    - `passwordExpiryDays` integer
    - `passwordExpiry` boolean
    - `accountLock` boolean
    - `maxFailedLogins` integer
    - `noPasswordReuse` boolean
    - `idpConfigs` union[]
      - union
        - object
          - `ssoMetadataUrl` string, required
          - `ssoMetadataXml` string
          - `ssoProvider` string, required
          - `ssoEmailFieldMapping` string, required
          - `ssoFirstNameFieldMapping` string, required
          - `ssoLastNameFieldMapping` string, required
          - `ssoGroupsFieldMapping` string, required
        - object
          - `ssoMetadataUrl` string
          - `ssoMetadataXml` string, required
          - `ssoProvider` string, required
          - `ssoEmailFieldMapping` string, required
          - `ssoFirstNameFieldMapping` string, required
          - `ssoLastNameFieldMapping` string, required
          - `ssoGroupsFieldMapping` string, required

## Other responses

- `401` — Invalid token
- `403` — Caller is not authorized to perform this action
- `409` — Bad request, Tenant already exists.

---

[API](https://skmtc.net/tetrascience/apis/tetra-data-lake.md) · [All operations](https://skmtc.net/tetrascience/apis/tetra-data-lake/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tetrascience/tetra-data-lake/revisions/0205e2bace53/schema)
