FusionAuth Tenant API

The Tenant API from FusionAuth — 5 operation(s) for tenant.

Operations 9

POST /api/tenant #
GET /api/tenant/password-validation-rules #
GET /api/tenant/password-validation-rules/{tenantId} #
POST /api/tenant/search #
POST /api/tenant/{tenantId} #
DELETE /api/tenant/{tenantId} #
PATCH /api/tenant/{tenantId} #
GET /api/tenant/{tenantId} #
PUT /api/tenant/{tenantId} #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/fusionauth-tenant-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

fusionauth-tenant-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.66.0
  title: FusionAuth Api Key Tenant API
  description: This is a FusionAuth server. Find out more at [https://fusionauth.io](https://fusionauth.io). You need to [set up an API key](https://fusionauth.io/docs/v1/tech/apis/authentication#managing-api-keys) in the FusionAuth instance you are using to test out the API calls.
  license:
    name: Apache2
servers:
- url: http://localhost:9011
- url: https://sandbox.fusionauth.io
security:
- ApiKeyAuth: []
tags:
- name: Tenant
paths:
  /api/tenant:
    post:
      description: Creates a tenant. You can optionally specify an Id for the tenant, if not provided one will be generated.
      operationId: createTenant
      parameters:
      - in: header
        name: X-FusionAuth-TenantId
        description: The unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
        required: false
        schema:
          type: string
          format: UUID
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TenantRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TenantResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      tags:
      - Tenant
  /api/tenant/password-validation-rules:
    get:
      description: Retrieves the password validation rules for a specific tenant. This method requires a tenantId to be provided  through the use of a Tenant scoped API key or an HTTP header X-FusionAuth-TenantId to specify the Tenant Id.  This API does not require an API key.
      operationId: retrievePasswordValidationRulesWithId
      parameters: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PasswordValidationRulesResponse'
        default:
          description: Error
      tags:
      - Tenant
  /api/tenant/password-validation-rules/{tenantId}:
    get:
      description: Retrieves the password validation rules for a specific tenant.  This API does not require an API key.
      operationId: retrievePasswordValidationRulesWithTenantIdWithId
      parameters:
      - name: tenantId
        in: path
        schema:
          type: string
        required: true
        description: The Id of the tenant.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PasswordValidationRulesResponse'
        default:
          description: Error
      tags:
      - Tenant
  /api/tenant/search:
    post:
      description: Searches tenants with the specified criteria and pagination.
      operationId: searchTenantsWithId
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TenantSearchRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TenantSearchResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      tags:
      - Tenant
  /api/tenant/{tenantId}:
    post:
      description: Creates a tenant. You can optionally specify an Id for the tenant, if not provided one will be generated.
      operationId: createTenantWithId
      parameters:
      - name: tenantId
        in: path
        schema:
          type: string
        required: true
        description: The Id for the tenant. If not provided a secure random UUID will be generated.
      - in: header
        name: X-FusionAuth-TenantId
        description: The unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
        required: false
        schema:
          type: string
          format: UUID
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TenantRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TenantResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      tags:
      - Tenant
    delete:
      description: Deletes the tenant based on the given request (sent to the API as JSON). This permanently deletes all information, metrics, reports and data associated with the tenant and everything under the tenant (applications, users, etc). OR Deletes the tenant for the given Id asynchronously. This method is helpful if you do not want to wait for the delete operation to complete. OR Deletes the tenant based on the given Id on the URL. This permanently deletes all information, metrics, reports and data associated with the tenant and everything under the tenant (applications, users, etc).
      operationId: deleteTenantWithId
      parameters:
      - name: tenantId
        in: path
        schema:
          type: string
        required: true
        description: The Id of the tenant to delete.
      - in: header
        name: X-FusionAuth-TenantId
        description: The unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
        required: false
        schema:
          type: string
          format: UUID
      - name: async
        in: query
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TenantDeleteRequest'
      responses:
        '200':
          description: Success
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      tags:
      - Tenant
    patch:
      description: Updates, via PATCH, the tenant with the given Id.
      operationId: patchTenantWithId
      parameters:
      - name: tenantId
        in: path
        schema:
          type: string
        required: true
        description: The Id of the tenant to update.
      - in: header
        name: X-FusionAuth-TenantId
        description: The unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
        required: false
        schema:
          type: string
          format: UUID
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TenantRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TenantResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      tags:
      - Tenant
    get:
      description: Retrieves the tenant for the given Id.
      operationId: retrieveTenantWithId
      parameters:
      - name: tenantId
        in: path
        schema:
          type: string
        required: true
        description: The Id of the tenant.
      - in: header
        name: X-FusionAuth-TenantId
        description: The unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
        required: false
        schema:
          type: string
          format: UUID
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TenantResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      tags:
      - Tenant
    put:
      description: Updates the tenant with the given Id.
      operationId: updateTenantWithId
      parameters:
      - name: tenantId
        in: path
        schema:
          type: string
        required: true
        description: The Id of the tenant to update.
      - in: header
        name: X-FusionAuth-TenantId
        description: The unique Id of the tenant used to scope this API request. Only required when there is more than one tenant and the API key is not tenant-scoped.
        required: false
        schema:
          type: string
          format: UUID
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TenantRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TenantResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      tags:
      - Tenant
components:
  schemas:
    TenantSearchCriteria:
      description: Search criteria for Tenants
      type: object
      properties:
        name:
          type: string
        numberOfResults:
          type: integer
        orderBy:
          type: string
        startRow:
          type: integer
    UserVerificationRequirement:
      description: Used to express whether the Relying Party requires <a href="https:www.w3.orgTRwebauthn-2#user-verification">user verification<a> for the  current operation.
      type: string
      enum:
      - required
      - preferred
      - discouraged
    PasswordValidationRules:
      description: ''
      type: object
      properties:
        breachDetection:
          $ref: '#/components/schemas/PasswordBreachDetection'
        disallowUserLoginId:
          type: boolean
        maxLength:
          type: integer
        minLength:
          type: integer
        rememberPreviousPasswords:
          $ref: '#/components/schemas/RememberPreviousPasswords'
        requireMixedCase:
          type: boolean
        requireNonAlpha:
          type: boolean
        requireNumber:
          type: boolean
        validateOnLogin:
          type: boolean
    TenantAccessControlConfiguration:
      description: ''
      type: object
      properties:
        uiIPAccessControlListId:
          type: string
          format: uuid
    TenantUsernameConfiguration:
      description: ''
      type: object
      properties:
        unique:
          $ref: '#/components/schemas/UniqueUsernameConfiguration'
    Errors:
      description: Standard error domain object that can also be used as the response from an API call.
      type: object
      properties:
        fieldErrors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
        generalErrors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
    SecureGeneratorType:
      description: ''
      type: string
      enum:
      - randomDigits
      - randomBytes
      - randomAlpha
      - randomAlphaNumeric
    TenantRequest:
      description: ''
      type: object
      properties:
        sourceTenantId:
          type: string
          format: uuid
        tenant:
          $ref: '#/components/schemas/Tenant'
        webhookIds:
          type: array
          items:
            type: string
            format: uuid
        eventInfo:
          $ref: '#/components/schemas/EventInfo'
    RememberPreviousPasswords:
      description: ''
      type: object
      properties:
        count:
          type: integer
        enabled:
          type: boolean
    TenantUserDeletePolicy:
      description: A Tenant-level policy for deleting Users.
      type: object
      properties:
        unverified:
          $ref: '#/components/schemas/TimeBasedDeletePolicy'
    TenantPhoneConfiguration:
      description: Hold tenant phone configuration for passwordless and verification cases.
      type: object
      properties:
        forgotPasswordTemplateId:
          type: string
          format: uuid
        identityUpdateTemplateId:
          type: string
          format: uuid
        implicitPhoneVerificationAllowed:
          type: boolean
        loginIdInUseOnCreateTemplateId:
          type: string
          format: uuid
        loginIdInUseOnUpdateTemplateId:
          type: string
          format: uuid
        loginNewDeviceTemplateId:
          type: string
          format: uuid
        loginSuspiciousTemplateId:
          type: string
          format: uuid
        messengerId:
          type: string
          format: uuid
        passwordResetSuccessTemplateId:
          type: string
          format: uuid
        passwordUpdateTemplateId:
          type: string
          format: uuid
        passwordlessTemplateId:
          type: string
          format: uuid
        setPasswordTemplateId:
          type: string
          format: uuid
        twoFactorMethodAddTemplateId:
          type: string
          format: uuid
        twoFactorMethodRemoveTemplateId:
          type: string
          format: uuid
        unverified:
          $ref: '#/components/schemas/PhoneUnverifiedOptions'
        verificationCompleteTemplateId:
          type: string
          format: uuid
        verificationStrategy:
          $ref: '#/components/schemas/VerificationStrategy'
        verificationTemplateId:
          type: string
          format: uuid
        verifyPhoneNumber:
          type: boolean
    TenantLoginConfiguration:
      description: ''
      type: object
      properties:
        requireAuthentication:
          type: boolean
    VerificationStrategy:
      description: ''
      type: string
      enum:
      - ClickableLink
      - FormField
    Location:
      description: Location information. Useful for IP addresses and other displayable data objects.
      type: object
      properties:
        city:
          type: string
        country:
          type: string
        latitude:
          type: number
          format: double
        longitude:
          type: number
          format: double
        region:
          type: string
        zipcode:
          type: string
        displayString:
          type: string
    PasswordBreachDetection:
      description: ''
      type: object
      properties:
        matchMode:
          $ref: '#/components/schemas/BreachMatchMode'
        notifyUserEmailTemplateId:
          type: string
          format: uuid
        onLogin:
          $ref: '#/components/schemas/BreachAction'
        enabled:
          type: boolean
    FailedAuthenticationConfiguration:
      description: Configuration for the behavior of failed login attempts. This helps us protect against brute force password attacks.
      type: object
      properties:
        actionCancelPolicy:
          $ref: '#/components/schemas/FailedAuthenticationActionCancelPolicy'
        actionDuration:
          type: integer
          format: int64
        actionDurationUnit:
          $ref: '#/components/schemas/ExpiryUnit'
        emailUser:
          type: boolean
        resetCountInSeconds:
          type: integer
        tooManyAttempts:
          type: integer
        userActionId:
          type: string
          format: uuid
    PasswordEncryptionConfiguration:
      description: Password Encryption Scheme Configuration
      type: object
      properties:
        encryptionScheme:
          type: string
        encryptionSchemeFactor:
          type: integer
        modifyEncryptionSchemeOnLogin:
          type: boolean
    TenantWebAuthnWorkflowConfiguration:
      description: ''
      type: object
      properties:
        authenticatorAttachmentPreference:
          $ref: '#/components/schemas/AuthenticatorAttachmentPreference'
        userVerificationRequirement:
          $ref: '#/components/schemas/UserVerificationRequirement'
        enabled:
          type: boolean
    TenantSCIMServerConfiguration:
      description: ''
      type: object
      properties:
        clientEntityTypeId:
          type: string
          format: uuid
        schemas:
          type: object
          additionalProperties:
            type: object
        serverEntityTypeId:
          type: string
          format: uuid
        enabled:
          type: boolean
    TenantSSOConfiguration:
      description: ''
      type: object
      properties:
        allowAccessTokenBootstrap:
          type: boolean
        deviceTrustTimeToLiveInSeconds:
          type: integer
    EmailConfiguration:
      description: ''
      type: object
      properties:
        additionalHeaders:
          type: array
          items:
            $ref: '#/components/schemas/EmailHeader'
        debug:
          type: boolean
        defaultFromEmail:
          type: string
        defaultFromName:
          type: string
        emailUpdateEmailTemplateId:
          type: string
          format: uuid
        emailVerifiedEmailTemplateId:
          type: string
          format: uuid
        forgotPasswordEmailTemplateId:
          type: string
          format: uuid
        host:
          type: string
        implicitEmailVerificationAllowed:
          type: boolean
        loginIdInUseOnCreateEmailTemplateId:
          type: string
          format: uuid
        loginIdInUseOnUpdateEmailTemplateId:
          type: string
          format: uuid
        loginNewDeviceEmailTemplateId:
          type: string
          format: uuid
        loginSuspiciousEmailTemplateId:
          type: string
          format: uuid
        password:
          type: string
        passwordResetSuccessEmailTemplateId:
          type: string
          format: uuid
        passwordUpdateEmailTemplateId:
          type: string
          format: uuid
        passwordlessEmailTemplateId:
          type: string
          format: uuid
        port:
          type: integer
        properties:
          type: string
        security:
          $ref: '#/components/schemas/EmailSecurityType'
        setPasswordEmailTemplateId:
          type: string
          format: uuid
        twoFactorMethodAddEmailTemplateId:
          type: string
          format: uuid
        twoFactorMethodRemoveEmailTemplateId:
          type: string
          format: uuid
        unverified:
          $ref: '#/components/schemas/EmailUnverifiedOptions'
        username:
          type: string
        verificationEmailTemplateId:
          type: string
          format: uuid
        verificationStrategy:
          $ref: '#/components/schemas/VerificationStrategy'
        verifyEmail:
          type: boolean
        verifyEmailWhenChanged:
          type: boolean
    TransactionType:
      description: The transaction types for Webhooks and other event systems within FusionAuth.
      type: string
      enum:
      - None
      - Any
      - SimpleMajority
      - SuperMajority
      - AbsoluteMajority
    TenantWebAuthnConfiguration:
      description: Tenant-level configuration for WebAuthn
      type: object
      properties:
        bootstrapWorkflow:
          $ref: '#/components/schemas/TenantWebAuthnWorkflowConfiguration'
        debug:
          type: boolean
        reauthenticationWorkflow:
          $ref: '#/components/schemas/TenantWebAuthnWorkflowConfiguration'
        relyingPartyId:
          type: string
        relyingPartyName:
          type: string
        enabled:
          type: boolean
    MultiFactorEmailMethod:
      type: object
      properties:
        templateId:
          type: string
          format: uuid
        enabled:
          type: boolean
    JWTConfiguration:
      description: JWT Configuration. A JWT Configuration for an Application may not be active if it is using the global configuration, the configuration  may be <code>enabled = false<code>.
      type: object
      properties:
        accessTokenKeyId:
          type: string
          format: uuid
        idTokenKeyId:
          type: string
          format: uuid
        refreshTokenExpirationPolicy:
          $ref: '#/components/schemas/RefreshTokenExpirationPolicy'
        refreshTokenOneTimeUseConfiguration:
          $ref: '#/components/schemas/RefreshTokenOneTimeUseConfiguration'
        refreshTokenRevocationPolicy:
          $ref: '#/components/schemas/RefreshTokenRevocationPolicy'
        refreshTokenSlidingWindowConfiguration:
          $ref: '#/components/schemas/RefreshTokenSlidingWindowConfiguration'
        refreshTokenTimeToLiveInMinutes:
          type: integer
        refreshTokenUsagePolicy:
          $ref: '#/components/schemas/RefreshTokenUsagePolicy'
        timeToLiveInSeconds:
          type: integer
        enabled:
          type: boolean
    ZonedDateTime:
      description: 'The number of milliseconds since the unix epoch: January 1, 1970 00:00:00 UTC. This value is always in UTC.'
      example: '1659380719000'
      type: integer
      format: int64
    TenantMultiFactorConfiguration:
      description: ''
      type: object
      properties:
        authenticator:
          $ref: '#/components/schemas/MultiFactorAuthenticatorMethod'
        email:
          $ref: '#/components/schemas/MultiFactorEmailMethod'
        loginPolicy:
          $ref: '#/components/schemas/MultiFactorLoginPolicy'
        sms:
          $ref: '#/components/schemas/MultiFactorSMSMethod'
        voice:
          $ref: '#/components/schemas/MultiFactorVoiceMethod'
    EventConfiguration:
      description: ''
      type: object
      properties:
        events:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/EventConfigurationData'
    PhoneUnverifiedOptions:
      description: Configuration for unverified phone number identities.
      type: object
      properties:
        allowPhoneNumberChangeWhenGated:
          type: boolean
        behavior:
          $ref: '#/components/schemas/UnverifiedBehavior'
    UniqueUsernameConfiguration:
      type: object
      properties:
        numberOfDigits:
          type: integer
        separator:
          type: string
        strategy:
          $ref: '#/components/schemas/UniqueUsernameStrategy'
        enabled:
          type: boolean
    BreachMatchMode:
      type: string
      enum:
      - Low
      - Medium
      - High
    TenantDeleteRequest:
      description: Request for the Tenant API to delete a tenant rather than using the URL parameters.
      type: object
      properties:
        async:
          type: boolean
        eventInfo:
          $ref: '#/components/schemas/EventInfo'
    RefreshTokenExpirationPolicy:
      description: ''
      type: string
      enum:
      - Fixed
      - SlidingWindow
      - SlidingWindowWithMaximumLifetime
    RefreshTokenUsagePolicy:
      description: ''
      type: string
      enum:
      - Reusable
      - OneTimeUse
    EventConfigurationData:
      type: object
      properties:
        transactionType:
          $ref: '#/components/schemas/TransactionType'
        enabled:
          type: boolean
    Error:
      description: Defines an error.
      type: object
      properties:
        code:
          type: string
        data:
          type: object
          additionalProperties:
            type: object
        message:
          type: string
    EventInfo:
      description: Information about a user event (login, register, etc) that helps identify the source of the event (location, device type, OS, etc).
      type: object
      properties:
        data:
          type: object
          additionalProperties:
            type: object
        deviceDescription:
          type: string
        deviceName:
          type: string
        deviceType:
          type: string
        ipAddress:
          type: string
        location:
          $ref: '#/components/schemas/Location'
        os:
          type: string
        userAgent:
          type: string
    EmailUnverifiedOptions:
      description: ''
      type: object
      properties:
        allowEmailChangeWhenGated:
          type: boolean
        behavior:
          $ref: '#/components/schemas/UnverifiedBehavior'
    ExternalIdentifierConfiguration:
      description: ''
      type: object
      properties:
        authorizationGrantIdTimeToLiveInSeconds:
          type: integer
        changePasswordIdGenerator:
          $ref: '#/components/schemas/SecureGeneratorConfiguration'
        changePasswordIdTimeToLiveInSeconds:
          type: integer
        deviceCodeTimeToLiveInSeconds:
          type: integer
        deviceUserCodeIdGenerator:
          $ref: '#/components/schemas/SecureGeneratorConfiguration'
        emailVerificationIdGenerator:
          $ref: '#/components/schemas/SecureGeneratorConfiguration'
        emailVerificationIdTimeToLiveInSeconds:
          type: integer
        emailVerificationOneTimeCodeGenerator:
          $ref: '#/components/schemas/SecureGeneratorConfiguration'
        externalAuthenticationIdTimeToLiveInSeconds:
          type: integer
        identityProviderConnectionTestTimeToLiveInSeconds:
          type: integer
        loginIntentTimeToLiveInSeconds:
          type: integer
        oneTimePasswordTimeToLiveInSeconds:
          type: integer
        passwordlessLoginGenerator:
          $ref: '#/components/schemas/SecureGeneratorConfiguration'
        passwordlessLoginOneTimeCodeGenerator:
          $ref: '#/components/schemas/SecureGeneratorConfiguration'
        passwordlessLoginTimeToLiveInSeconds:
          type: integer
        pendingAccountLinkTimeToLiveInSeconds:
          type: integer
        phoneVerificationIdGenerator:
          $ref: '#/components/schemas/SecureGeneratorConfiguration'
        phoneVerificationIdTimeToLiveInSeconds:
          type: integer
        phoneVerificationOneTimeCodeGenerator:
          $ref: '#/components/schemas/SecureGeneratorConfiguration'
        registrationVerificationIdGenerator:
          $ref: '#/components/schemas/SecureGeneratorConfiguration'
        registrationVerificationIdTimeToLiveInSeconds:
          type: integer
        registrationVerificationOneTimeCodeGenerator:
          $ref: '#/components/schemas/SecureGeneratorConfiguration'
        rememberOAuthScopeConsentChoiceTimeToLiveInSeconds:
          type: integer
        samlv2AuthNRequestIdTimeToLiveInSeconds:
          type: integer
        setupPasswordIdGenerator:
          $ref: '#/components/schemas/SecureGeneratorConfiguration'
        setupPasswordIdTimeToLiveInSeconds:
          type: integer
        trustTokenTimeToLiveInSeconds:
          type: integer
        twoFactorIdTimeToLiveInSeconds:
          type: integer
        twoFactorOneTimeCodeIdGenerator:
          $ref: '#/components/schemas/SecureGeneratorConfiguration'
        twoFactorOneTimeCodeIdTimeToLiveInSeconds:
          type: integer
        twoFactorTrustIdTimeToLiveInSeconds:
          type: integer
        webAuthnAuthenticationChallengeTimeToLiveInSeconds:
          type: integer
        webAuthnRegistrationChallengeTimeToLiveInSeconds:
          type: integer
    CaptchaMethod:
      description: ''
      type: string
      enum:
      - GoogleRecaptchaV2
      - GoogleRecaptchaV3
      - HCaptcha
      - HCaptchaEnterprise
    UnverifiedBehavior:
      description: ''
      type: string
      enum:
      - Allow
      - Gated
    EmailHeader:
      description: ''
      type: object
      properties:
        name:
          type: string
        value:
          type: string
    TimeBasedDeletePolicy:
      description: A policy for deleting Users based upon some external criteria.
      type: object
      properties:
        enabledInstant:
          $ref: '#/components/schemas/ZonedDateTime'
        numberOfDaysToRetain:
          type: integer
        enabled:
          type: boolean
    ExpiryUnit:
      description: ''
      type: string
      enum:
      - MINUTES
      - HOURS
      - DAYS
      - WEEKS
      - MONTHS
      - YEARS
    TOTPAlgorithm:
      type: string
      enum:
      - HmacSHA1
      - HmacSHA256
      - HmacSHA512
    TenantRateLimitConfiguration:
      description: ''
      type: object
      properties:
        failedLogin:
          $ref: '#/components/schemas/RateLimitedRequestConfiguration'
        forgotPassword:
          $ref: '#/components/schemas/RateLimitedRequestConfiguration'
        sendEmailVerification:
          $ref: '#/components/schemas/RateLimitedRequestConfiguration'
        sendPasswordless:
          $ref: '#/components/schemas/RateLimitedRequestConfiguration'
        sendPasswordlessPhone:
          $ref: '#/components/schemas/RateLimitedRequestConfiguration'
        sendPhoneVerification:
          $ref: '#/components/schemas/RateLimitedRequestConfiguration'
        sendRegistrationVerification:
          $ref: '#/components/schemas/RateLimitedRequestConfiguration'
        sendTwoFactor:
          $ref: '#/components/schemas/RateLimitedRequestConfiguration'
    ConnectorPolicy:
      description: ''
      type: object
      properties:
        connectorId:
          type: string
          format: uuid
        data:
          type: object
          additionalProperties:
            type: object
        domains:
          type: array
          uniqueItems: true
          items: {}
        migrate:
          type: boolean
    EmailSecurityType:
      type: string
      enum:
      - NONE
      - SSL
      - TLS
    TenantLambdaConfiguration:
      description: ''
      type: object
      properties:
        loginValidationId:
          type: string
          format: uuid
        multiFactorRequirementId:
          type: string
          format: uuid
        scimEnterpriseUserRequestConverterId:
          type: string
          format: uuid
        scimEnterpriseUserResponseConverterId:
          type: string
          format: uuid
        scimGroupRequestConverterId:
          type: string
          format: uuid
        scimGroupResponseConverterId:
          type: string
          format: uuid
        scimUserRequestConverterId:
          type: string
          format: uuid
        scimUserResponseConverterId:
          type: string
          format: uuid
    TenantSearchRequest:
      description: Search request for Tenants
      type: object
      properties:
        search:
          $ref: '#/components/schemas/TenantSearchCriteria'
    RefreshTokenOneTimeUseConfiguration:
      description: Refresh token one-time use configuration. This configuration is utilized when the usage policy is  configured for one-time use.
      type: object
      properties:
        gracePeriodInSeconds:
          type: integer
    MaximumPasswordAge:
      description: ''
      type: object
      properties:
        days:
          type: integer
        enabled:
          type: boolean
    TenantFormConfiguration:
      description: ''
      type: object
      properties:
        adminUserFormId:
          type: string
          format: uuid
    RefreshTokenSlidingWindowConfiguration:
      description: ''
      type: object
      properties:
        maximumTimeToLiveInMinutes:
          type: integer
    FamilyConfiguration:
      description: ''
      type: object
      properties:
        allowChildRegistrations:
          type: boolean
        confirmChildEmailTemplateId:
          type: string
          format: uuid
        deleteOrphanedAccounts:
          type: boolean
        deleteOrphanedAccountsDays:
          type: integer
        familyRequestEmailTemplateId:
          type: string
          format: uuid
        maximumChildAge:
          type: integer
        minimumOwnerAge:
          type: integer
        parentEmailRequired:
          type: boolean
        parentRegistrationEmailTemplateId:
          type: string
          format: uuid
        enabled:
          type: boolean
    MultiFactorSMSMethod:
      type: object
      properties:
        messengerId:
          type: string
          format: uuid
        template

# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fusionauth/refs/heads/main/openapi/fusionauth-tenant-api-openapi.yml