Auth0 forms API

The forms API from Auth0 — 2 operation(s) for forms.

Operations 5

GET /forms Get Forms #
POST /forms Create a Form #
GET /forms/{id} Get a Form #
DELETE /forms/{id} Delete a Form #
PATCH /forms/{id} Update a Form #

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/auth0-forms-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

auth0-forms-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Auth0 Management Forms API
  description: Auth0 Management API v2.
  termsOfService: https://auth0.com/web-terms/
  contact:
    name: Auth0 Support
    url: https://support.auth0.com
  version: '2.0'
servers:
- url: https://{tenantDomain}/api/v2
  variables:
    tenantDomain:
      default: '{TENANT}.auth0.com'
      description: Auth0 Tenant Domain
security:
- bearerAuth: []
tags:
- name: forms
paths:
  /forms:
    get:
      summary: Get Forms
      tags:
      - forms
      parameters:
      - name: page
        in: query
        description: Page index of the results to return. First page is 0.
        schema:
          type: integer
          minimum: 0
          maximum: 1000
      - name: per_page
        in: query
        description: Number of results per page. Defaults to 50.
        schema:
          type: integer
          minimum: 1
          maximum: 100
      - name: include_totals
        in: query
        description: Return results inside an object that contains the total result count (true) or as a direct array of results (false, default).
        schema:
          type: boolean
      - name: hydrate
        in: query
        description: Query parameter to hydrate the response with additional data
        style: form
        explode: true
        schema:
          type: array
          items:
            $ref: '#/components/schemas/FormsRequestParametersHydrateEnum'
      responses:
        '200':
          description: Forms successfully retrieved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListFormsResponseContent'
        '400':
          description: Invalid request query string. The message will vary depending on the cause.
          x-description-1: Invalid query string paging options. The message will vary depending on the cause
        '401':
          description: Invalid token.
          x-description-1: Invalid signature received for JSON Web Token validation.
          x-description-2: Client is not global.
        '403':
          description: 'Insufficient scope; expected any of: read:forms.'
        '429':
          description: Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.
      operationId: get_forms
      x-release-lifecycle: GA
      x-operation-name: list
      x-operation-request-parameters-name: ListFormsRequestParameters
      x-operation-group: forms
      security:
      - bearerAuth: []
      - oAuth2ClientCredentials:
        - read:forms
    post:
      summary: Create a Form
      tags:
      - forms
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateFormRequestContent'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateFormRequestContent'
      responses:
        '201':
          description: Form successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateFormResponseContent'
        '400':
          description: Invalid request query string. The message will vary depending on the cause.
        '401':
          description: Invalid token.
          x-description-1: Invalid signature received for JSON Web Token validation.
          x-description-2: Client is not global.
        '403':
          description: 'Insufficient scope; expected any of: create:forms.'
        '429':
          description: Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.
      operationId: create_form
      x-release-lifecycle: GA
      x-operation-name: create
      x-operation-group: forms
      security:
      - bearerAuth: []
      - oAuth2ClientCredentials:
        - create:forms
  /forms/{id}:
    get:
      summary: Get a Form
      tags:
      - forms
      parameters:
      - name: id
        in: path
        description: The ID of the form to retrieve.
        required: true
        schema:
          type: string
          maxLength: 30
      - name: hydrate
        in: query
        description: Query parameter to hydrate the response with additional data
        style: form
        explode: true
        schema:
          type: array
          items:
            $ref: '#/components/schemas/FormsRequestParametersHydrateEnum'
      responses:
        '200':
          description: Form successfully retrieved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetFormResponseContent'
        '400':
          description: Invalid request query string. The message will vary depending on the cause.
        '401':
          description: Invalid token.
          x-description-1: Invalid signature received for JSON Web Token validation.
          x-description-2: Client is not global.
        '403':
          description: 'Insufficient scope; expected any of: read:forms.'
        '404':
          description: The form does not exist.
        '429':
          description: Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.
      operationId: get_form
      x-release-lifecycle: GA
      x-operation-name: get
      x-operation-request-parameters-name: GetFormRequestParameters
      x-operation-group: forms
      security:
      - bearerAuth: []
      - oAuth2ClientCredentials:
        - read:forms
    delete:
      summary: Delete a Form
      tags:
      - forms
      parameters:
      - name: id
        in: path
        description: The ID of the form to delete.
        required: true
        schema:
          type: string
          maxLength: 30
      responses:
        '204':
          description: Form successfully deleted.
        '400':
          description: Invalid request body. The message will vary depending on the cause.
          x-description-1: Invalid request query string. The message will vary depending on the cause.
        '401':
          description: Invalid token.
          x-description-1: Invalid signature received for JSON Web Token validation.
          x-description-2: Client is not global.
        '403':
          description: 'Insufficient scope; expected any of: delete:forms.'
        '429':
          description: Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.
      operationId: delete_form
      x-release-lifecycle: GA
      x-operation-name: delete
      x-operation-group: forms
      security:
      - bearerAuth: []
      - oAuth2ClientCredentials:
        - delete:forms
    patch:
      summary: Update a Form
      tags:
      - forms
      parameters:
      - name: id
        in: path
        description: The ID of the form to update.
        required: true
        schema:
          type: string
          maxLength: 30
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateFormRequestContent'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/UpdateFormRequestContent'
      responses:
        '200':
          description: Form successfully updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateFormResponseContent'
        '401':
          description: Invalid token.
          x-description-1: Invalid signature received for JSON Web Token validation.
          x-description-2: Client is not global.
        '403':
          description: 'Insufficient scope; expected any of: update:forms.'
        '429':
          description: Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.
      operationId: patch_form
      x-release-lifecycle: GA
      x-operation-name: update
      x-operation-group: forms
      security:
      - bearerAuth: []
      - oAuth2ClientCredentials:
        - update:forms
components:
  schemas:
    FormFieldPaymentConfigSubscription:
      type: object
      additionalProperties: true
    FormEndingNodeRedirection:
      type: object
      additionalProperties: false
      required:
      - target
      properties:
        delay:
          type: integer
          minimum: 0
          maximum: 10
        target:
          type: string
          minLength: 1
          maxLength: 1024
    FormFieldPaymentConfigChargeTypeSubscriptionConst:
      type: string
      enum:
      - SUBSCRIPTION
    FormHiddenField:
      type: object
      additionalProperties: false
      required:
      - key
      properties:
        key:
          type: string
          format: forms-custom-identifier
        value:
          type: string
          minLength: 1
          maxLength: 500
    FormBlockResendButtonConfigTextAlignmentEnum:
      type: string
      enum:
      - LEFT
      - CENTER
      - RIGHT
    FormFieldChoiceConfig:
      type: object
      additionalProperties: false
      properties:
        multiple:
          type: boolean
        options:
          type: array
          minItems: 0
          items:
            $ref: '#/components/schemas/FormFieldChoiceConfigOption'
        allow_other:
          $ref: '#/components/schemas/FormFieldChoiceConfigAllowOther'
        default_value: {}
    FormMessagesError:
      type: object
      additionalProperties:
        type: string
        minLength: 1
        maxLength: 255
    FormBlockDividerConfig:
      type: object
      additionalProperties: false
      properties:
        text:
          type: string
          maxLength: 50
    FormFieldTypeCustomConst:
      type: string
      enum:
      - CUSTOM
    FormFieldChoiceConfigOption:
      type: object
      additionalProperties: false
      required:
      - value
      - label
      properties:
        value:
          type: string
          minLength: 1
        label:
          type: string
          minLength: 1
    FormFieldTypeNumberConst:
      type: string
      enum:
      - NUMBER
    FormWidgetTypeRecaptchaConst:
      type: string
      enum:
      - RECAPTCHA
    FormFieldUrl:
      type: object
      additionalProperties: false
      required:
      - id
      - category
      - type
      properties:
        id:
          type: string
          format: forms-custom-identifier
        category:
          $ref: '#/components/schemas/FormComponentCategoryFieldConst'
        type:
          $ref: '#/components/schemas/FormFieldTypeUrlConst'
        config:
          $ref: '#/components/schemas/FormFieldUrlConfig'
        label:
          type: string
          minLength: 1
        hint:
          type: string
          minLength: 1
          maxLength: 500
        required:
          type: boolean
        sensitive:
          type: boolean
    FormLanguagesNullable:
      oneOf:
      - $ref: '#/components/schemas/FormLanguages'
      - type: 'null'
    FormBlockPreviousButtonConfig:
      type: object
      additionalProperties: false
      required:
      - text
      properties:
        text:
          type: string
          maxLength: 150
    FormBlockTypeJumpButtonConst:
      type: string
      enum:
      - JUMP_BUTTON
    FormFieldPaymentConfigCredentials:
      type: object
      additionalProperties: false
      required:
      - public_key
      - private_key
      properties:
        public_key:
          type: string
          minLength: 1
          maxLength: 250
        private_key:
          type: string
          minLength: 1
          maxLength: 250
    FormComponentCategoryWidgetConst:
      type: string
      enum:
      - WIDGET
    FormBlockTypeImageConst:
      type: string
      enum:
      - IMAGE
    FormBlockRichText:
      type: object
      additionalProperties: false
      required:
      - id
      - category
      - type
      properties:
        id:
          type: string
          format: forms-custom-identifier
        category:
          $ref: '#/components/schemas/FormComponentCategoryBlockConst'
        type:
          $ref: '#/components/schemas/FormBlockTypeRichTextConst'
        config:
          $ref: '#/components/schemas/FormBlockRichTextConfig'
    FormFieldChoiceConfigAllowOtherEnabledTrueEnum:
      type: boolean
      enum:
      - true
    FormFieldChoice:
      type: object
      additionalProperties: false
      required:
      - id
      - category
      - type
      properties:
        id:
          type: string
          format: forms-custom-identifier
        category:
          $ref: '#/components/schemas/FormComponentCategoryFieldConst'
        type:
          $ref: '#/components/schemas/FormFieldTypeChoiceConst'
        config:
          $ref: '#/components/schemas/FormFieldChoiceConfig'
        label:
          type: string
          minLength: 1
        hint:
          type: string
          minLength: 1
          maxLength: 500
        required:
          type: boolean
        sensitive:
          type: boolean
    FormFieldCustom:
      type: object
      additionalProperties: false
      required:
      - id
      - category
      - type
      - config
      properties:
        id:
          type: string
          format: forms-custom-identifier
        category:
          $ref: '#/components/schemas/FormComponentCategoryFieldConst'
        type:
          $ref: '#/components/schemas/FormFieldTypeCustomConst'
        config:
          $ref: '#/components/schemas/FormFieldCustomConfig'
        label:
          type: string
          minLength: 1
        hint:
          type: string
          minLength: 1
          maxLength: 500
        required:
          type: boolean
        sensitive:
          type: boolean
    FormFieldFileConfig:
      type: object
      additionalProperties: false
      properties:
        multiple:
          type: boolean
        storage:
          $ref: '#/components/schemas/FormFieldFileConfigStorage'
        categories:
          type: array
          items:
            $ref: '#/components/schemas/FormFieldFileConfigCategoryEnum'
        extensions:
          type: array
          items:
            type: string
            maxLength: 50
            format: forms-file-extension
        maxSize:
          type: integer
          minimum: 1024
        maxFiles:
          type: integer
          minimum: 1
    FormFieldFileConfigStorageTypeEnum:
      type: string
      enum:
      - MANAGED
      - CUSTOM
    ListFormsResponseContent:
      oneOf:
      - type: array
        items:
          $ref: '#/components/schemas/FormSummary'
      - $ref: '#/components/schemas/ListFormsOffsetPaginatedResponseContent'
    FormFieldTypeChoiceConst:
      type: string
      enum:
      - CHOICE
    FormWidgetGMapsAddress:
      type: object
      additionalProperties: false
      required:
      - id
      - category
      - type
      - config
      properties:
        id:
          type: string
          format: forms-custom-identifier
        category:
          $ref: '#/components/schemas/FormComponentCategoryWidgetConst'
        type:
          $ref: '#/components/schemas/FormWidgetTypeGMapsAddressConst'
        config:
          $ref: '#/components/schemas/FormWidgetGMapsAddressConfig'
        label:
          type: string
          minLength: 1
        hint:
          type: string
          minLength: 1
          maxLength: 500
        required:
          type: boolean
        sensitive:
          type: boolean
    FormFieldPaymentConfigCustomer:
      type: object
      additionalProperties: true
    FormLanguages:
      type: object
      additionalProperties: false
      properties:
        primary:
          type: string
          minLength: 1
          maxLength: 55
        default:
          type: string
          minLength: 1
          maxLength: 55
    FormNodeCoordinates:
      type: object
      additionalProperties: false
      required:
      - x
      - y
      properties:
        x:
          type: integer
          minimum: -999999
          maximum: 999999
        y:
          type: integer
          minimum: -999999
          maximum: 999999
    FormFieldDate:
      type: object
      additionalProperties: false
      required:
      - id
      - category
      - type
      - config
      properties:
        id:
          type: string
          format: forms-custom-identifier
        category:
          $ref: '#/components/schemas/FormComponentCategoryFieldConst'
        type:
          $ref: '#/components/schemas/FormFieldTypeDateConst'
        config:
          $ref: '#/components/schemas/FormFieldDateConfig'
        label:
          type: string
          minLength: 1
        hint:
          type: string
          minLength: 1
          maxLength: 500
        required:
          type: boolean
        sensitive:
          type: boolean
    FormFieldPassword:
      type: object
      additionalProperties: false
      required:
      - id
      - category
      - type
      - config
      properties:
        id:
          type: string
          format: forms-custom-identifier
        category:
          $ref: '#/components/schemas/FormComponentCategoryFieldConst'
        type:
          $ref: '#/components/schemas/FormFieldTypePasswordConst'
        config:
          $ref: '#/components/schemas/FormFieldPasswordConfig'
        label:
          type: string
          minLength: 1
        hint:
          type: string
          minLength: 1
          maxLength: 500
        required:
          type: boolean
        sensitive:
          type: boolean
    FormBlockResendButtonConfig:
      type: object
      additionalProperties: false
      required:
      - active_text
      - button_text
      - waiting_text
      - flow_id
      properties:
        active_text:
          type: string
          minLength: 1
          maxLength: 255
        button_text:
          type: string
          minLength: 1
          maxLength: 255
        waiting_text:
          type: string
          minLength: 1
          maxLength: 255
        text_alignment:
          $ref: '#/components/schemas/FormBlockResendButtonConfigTextAlignmentEnum'
        flow_id:
          type: string
          maxLength: 30
          format: flow-id
        max_attempts:
          type: number
          minimum: 1
          maximum: 10
        waiting_time:
          type: number
          minimum: 1
          maximum: 60
    FormFieldPaymentConfigChargeOneOff:
      type: object
      additionalProperties: false
      required:
      - type
      - one_off
      properties:
        type:
          $ref: '#/components/schemas/FormFieldPaymentConfigChargeTypeOneOffConst'
        one_off:
          $ref: '#/components/schemas/FormFieldPaymentConfigChargeOneOffOneOff'
    FormFieldPaymentConfigChargeOneOffOneOffAmount:
      oneOf:
      - type: string
        minLength: 1
      - type: number
        minimum: 0.01
    FormStepConfig:
      type: object
      additionalProperties: false
      properties:
        components:
          $ref: '#/components/schemas/FormStepComponentList'
        next_node:
          $ref: '#/components/schemas/FormNodePointer'
    FormFieldEmailConfig:
      type: object
      additionalProperties: false
      properties:
        default_value:
          type: string
          minLength: 1
        placeholder:
          type: string
          minLength: 1
          maxLength: 500
    FormBlockTypeResendButtonConst:
      type: string
      enum:
      - RESEND_BUTTON
    FormBlockResendButton:
      type: object
      additionalProperties: false
      required:
      - id
      - category
      - type
      - config
      properties:
        id:
          type: string
          format: forms-custom-identifier
        category:
          $ref: '#/components/schemas/FormComponentCategoryBlockConst'
        type:
          $ref: '#/components/schemas/FormBlockTypeResendButtonConst'
        config:
          $ref: '#/components/schemas/FormBlockResendButtonConfig'
    FormFieldTextConfig:
      type: object
      allOf:
      - type: object
        additionalProperties: true
      - type: object
        additionalProperties: true
      - type: object
        additionalProperties: true
      additionalProperties: false
      properties:
        multiline:
          type: boolean
        default_value:
          type: string
          minLength: 1
        placeholder:
          type: string
          minLength: 1
          maxLength: 500
        min_length:
          type: integer
          minimum: 1
        max_length:
          type: integer
          minimum: 1
    FormFieldTypePasswordConst:
      type: string
      enum:
      - PASSWORD
    UpdateFormRequestContent:
      type: object
      additionalProperties: false
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        messages:
          $ref: '#/components/schemas/FormMessagesNullable'
        languages:
          $ref: '#/components/schemas/FormLanguagesNullable'
        translations:
          $ref: '#/components/schemas/FormTranslationsNullable'
        nodes:
          $ref: '#/components/schemas/FormNodeListNullable'
        start:
          $ref: '#/components/schemas/FormStartNodeNullable'
        ending:
          $ref: '#/components/schemas/FormEndingNodeNullable'
        style:
          $ref: '#/components/schemas/FormStyleNullable'
    FormMessagesNullable:
      oneOf:
      - $ref: '#/components/schemas/FormMessages'
      - type: 'null'
    FormFieldPaymentConfig:
      type: object
      additionalProperties: false
      required:
      - charge
      - credentials
      properties:
        provider:
          $ref: '#/components/schemas/FormFieldPaymentConfigProviderEnum'
        charge:
          $ref: '#/components/schemas/FormFieldPaymentConfigCharge'
        credentials:
          $ref: '#/components/schemas/FormFieldPaymentConfigCredentials'
        customer:
          $ref: '#/components/schemas/FormFieldPaymentConfigCustomer'
        fields:
          $ref: '#/components/schemas/FormFieldPaymentConfigFields'
    FormComponentCategoryBlockConst:
      type: string
      enum:
      - BLOCK
    GetFormResponseContent:
      type: object
      additionalProperties: false
      required:
      - id
      - name
      - created_at
      - updated_at
      properties:
        id:
          type: string
          maxLength: 30
          format: form-id
        name:
          type: string
          minLength: 1
          maxLength: 150
        messages:
          $ref: '#/components/schemas/FormMessages'
        languages:
          $ref: '#/components/schemas/FormLanguages'
        translations:
          $ref: '#/components/schemas/FormTranslations'
        nodes:
          $ref: '#/components/schemas/FormNodeList'
        start:
          $ref: '#/components/schemas/FormStartNode'
        ending:
          $ref: '#/components/schemas/FormEndingNode'
        style:
          $ref: '#/components/schemas/FormStyle'
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        embedded_at:
          type: string
          format: date
        submitted_at:
          type: string
          format: date
    FormComponentCategoryFieldConst:
      type: string
      enum:
      - FIELD
    FormStepComponentList:
      type: array
      items:
        $ref: '#/components/schemas/FormComponent'
    FormFieldPaymentConfigChargeOneOffCurrencyEnum:
      type: string
      enum:
      - AUD
      - CAD
      - CHF
      - EUR
      - GBP
      - INR
      - MXN
      - SEK
      - USD
    FormFieldPaymentConfigCharge:
      type: object
      oneOf:
      - $ref: '#/components/schemas/FormFieldPaymentConfigChargeOneOff'
      - type: object
        additionalProperties: false
        required:
        - type
        - subscription
        properties:
          type:
            $ref: '#/components/schemas/FormFieldPaymentConfigChargeTypeSubscriptionConst'
          subscription:
            $ref: '#/components/schemas/FormFieldPaymentConfigSubscription'
    FormFieldCustomConfig:
      type: object
      additionalProperties: false
      required:
      - schema
      - code
      properties:
        schema:
          $ref: '#/components/schemas/FormFieldCustomConfigSchema'
        code:
          type: string
          minLength: 1
        css:
          type: string
          minLength: 1
        params:
          $ref: '#/components/schemas/FormFieldCustomConfigParams'
    FormNodeTypeFlowConst:
      type: string
      enum:
      - FLOW
    FormFieldTypeDateConst:
      type: string
      enum:
      - DATE
    FormBlockImage:
      type: object
      additionalProperties: false
      required:
      - id
      - category
      - type
      properties:
        id:
          type: string
          format: forms-custom-identifier
        category:
          $ref: '#/components/schemas/FormComponentCategoryBlockConst'
        type:
          $ref: '#/components/schemas/FormBlockTypeImageConst'
        config:
          $ref: '#/components/schemas/FormBlockImageConfig'
    FormFieldNumber:
      type: object
      additionalProperties: false
      required:
      - id
      - category
      - type
      properties:
        id:
          type: string
          format: forms-custom-identifier
        category:
          $ref: '#/components/schemas/FormComponentCategoryFieldConst'
        type:
          $ref: '#/components/schemas/FormFieldTypeNumberConst'
        config:
          $ref: '#/components/schemas/FormFieldNumberConfig'
        label:
          type: string
          minLength: 1
        hint:
          type: string
          minLength: 1
          maxLength: 500
        required:
          type: boolean
        sensitive:
          type: boolean
    FormFlowConfig:
      type: object
      additionalProperties: false
      required:
      - flow_id
      properties:
        flow_id:
          type: string
          maxLength: 30
          format: flow-id
        next_node:
          $ref: '#/components/schemas/FormNodePointer'
    FormFieldEmail:
      type: object
      additionalProperties: false
      required:
      - id
      - category
      - type
      properties:
        id:
          type: string
          format: forms-custom-identifier
        category:
          $ref: '#/components/schemas/FormComponentCategoryFieldConst'
        type:
          $ref: '#/components/schemas/FormFieldTypeEmailConst'
        config:
          $ref: '#/components/schemas/FormFieldEmailConfig'
        label:
          type: string
          minLength: 1
        hint:
          type: string
          minLength: 1
          maxLength: 500
        required:
          type: boolean
        sensitive:
          type: boolean
    FormBlockTypeHtmlConst:
      type: string
      enum:
      - HTML
    FormNodeListNullable:
      oneOf:
      - $ref: '#/components/schemas/FormNodeList'
      - type: 'null'
    FormsRequestParametersHydrateEnum:
      type: string
      maxLength: 50
      enum:
      - flow_count
      - links
    FormFieldSocialConfig:
      type: object
      additionalProperties: false
      properties: {}
    FormFieldTelConfigStrings:
      type: object
      additionalProperties: false
      properties:
        filter_placeholder:
          type: string
          minLength: 1
    FormFieldPasswordConfig:
      type: object
      additionalProperties: false
      properties:
        hash:
          $ref: '#/components/schemas/FormFieldPasswordConfigHashEnum'
        placeholder:
          type: string
          maxLength: 500
        min_length:
          type: integer
          minimum: 1
        max_length:
          type: integer
          minimum: 1
        complexity:
          type: boolean
        nist:
          type: boolean
        strength_meter:
          type: boolean
    FormBlockJumpButtonConfigStyle:
      type: object
      additionalProperties: false
      properties:
        background_color:
          type: string
          format: forms-hex-color
    CreateFormRequestContent:
      type: object
      additionalProperties: false
      required:
      - name
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 150
        messages:
          $ref: '#/components/schemas/FormMessages'
        languages:
          $ref: '#/components/schemas/FormLanguages'
        translations:
          $ref: '#/components/schemas/FormTranslations'
        nodes:
          $ref: '#/components/schemas/FormNodeList'
        start:
          $ref: '#/components/schemas/FormStartNode'
        ending:
          $ref: '#/components/schemas/FormEndingNode'
        style:
          $ref: '#/components/schemas/FormStyle'
    FormField:
      type: object
      oneOf:
      - $ref: '#/components/schemas/FormFieldBoolean'
      - $ref: '#/components/schemas/FormFieldCards'
      - $ref: '#/components/schemas/FormFieldChoice'
      - $ref: '#/components/schemas/FormFieldCustom'
      - $ref: '#/components/schemas/FormFieldDate'
      - $ref: '#/components/schemas/FormFieldDropdown'
      - $ref: '#/components/schemas/FormFieldEmail'
      - $ref: '#/components/schemas/FormFieldFile'
      - $ref: '#/components/schemas/FormFieldLegal'
      - $ref: '#/components/schemas/FormFieldNumber'
      - $ref: '#/components/schemas/FormFieldPassword'
      - $ref: '#/components/schemas/FormFieldPayment'
      - $ref: '#/components/schemas/FormFieldSocial'
      - $ref: '#/components/schemas/FormFieldTel'
      - $ref: '#/components/schemas/FormFieldText'
      - $ref: '#/components/schemas/FormFieldUrl'
    FormFieldFileConfigCategoryEnum:
      type: string
      enum:
      - AUDIO
      - VIDEO
      - IMAGE
      - DOCUMENT
      - ARCHIVE
    FormBlockTypePreviousButtonConst:
      type: string
      enum:
      - PREVIOUS_BUTTON
    FormFieldSocial:
      type: object
      additionalProperties: false
      required:
      - id
      - category
      - type
      properties:
        id:
          type: string
          format: forms-custom-identifier
        category:
          $ref: '#/components/schemas/FormComponentCategoryFieldConst'
        type:
          $ref: '#/components/schemas/FormFieldTypeSocialConst'
        config:
          $ref: '#/components/schemas/FormFieldSocialConfig'
        label:
          type: string
          minLength: 1
        hint:
          type: string
          minLength: 1
          maxLength: 500
        required:
          type: boolean
        sensitive:
          type: boolean
    FormBlockJumpButton:
      type: object
      additionalProperties: false
      required:
      - id
      - category
      - type
      - config
      properties:
        id:
          type: string
          format: forms-custom-identifier
        category:
          $ref: '#/components/schemas/FormComponentCategoryBlockConst'
        type:
          $ref: '#/components/schemas/FormBlockTypeJumpButtonConst'
        config:
          $ref: '#/components/schemas/FormBlockJumpButtonConfig'
    FormBlockHtml:
      type: object
      additionalProperties: false
      required:
      - id
      - category
      - type
      properties:
        id:
          type: string
          format: forms-custom-identifier
        category:
          $ref: '#/components/schemas/FormComponentCategoryBlockConst'
        type:
          $ref: '#/components/schemas/FormBlockTypeHtmlConst'
        config:
          $ref: '#/components/schemas/FormBlockHtmlConfig'
    FormNodeList:
      type: array
      minItems: 0
      items:
        $ref: '#/components/schemas/FormNode'
    FormFieldDropdown:
      type: object
      additionalProperties: false
      required:
      - id
      - category
      - type
      properties:
        id:
          type: string
          format: forms-custom-identifier
        category:
          $ref: '#/components/schemas/FormComponentCategoryFieldConst'
        type:
          $ref: '#/components/schemas/FormFieldTypeDropdownConst'
        config:
          $ref: '#/components/schemas/FormFieldDropdownConfig'
        label:
          type: string
          minLength: 1
        hint:
          type: string
          minLength: 1
          maxLength: 500
        required:
          type: boolean
        sensitive:
          type: boolean
    FormFieldTypeEmailConst:
      type: string
      enum:
      - EMAIL
    FormFieldTel:
      type: object
      add

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