> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev.auth0-mintlify.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Update a form

export const Scopes = ({scopes = []}) => {
  return <div>
      <div class="api-section-heading flex flex-col gap-y-4 w-full">
        <div class="flex items-baseline border-b pb-2.5 border-gray-100 dark:border-gray-800 w-full">
          <h4 class="api-section-heading-title flex-1 mb-0">Scopes</h4>
          <div class="flex items-center"></div>
        </div>
      </div>
      <div class="mt-4">
        <div class="space-y-4 whitespace-normal prose prose-sm prose-gray dark:prose-invert overflow-wrap-anywhere [&_*]:overflow-wrap-anywhere">
          <p class="whitespace-pre-line text-xs">
            {"Scopes define permissions and access levels for API requests and authentication tokens."}
          </p>
        </div>
      </div>
      <div class="flex font-mono text-sm group/param-head param-head break-all relative mt-6" id="scopes-scopes">
        <div class="flex-1 flex flex-col content-start py-0.5 mr-5">
          <div class="flex items-center flex-wrap gap-2">
            <div class="absolute -top-1.5">
              <a href="#scopes-scopes" class="-ml-10 flex items-center opacity-0 border-0 group-hover/param-head:opacity-100 focus:opacity-100 focus:outline-0 py-2 [.expandable-content_&]:-ml-[2.1rem] group/link" aria-label="Navigate to header">
                ​
                <div class="w-6 h-6 rounded-md flex items-center justify-center shadow-sm text-gray-400 dark:text-white/50 dark:bg-background-dark dark:brightness-[1.35] dark:ring-1 dark:hover:brightness-150 bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20 group-focus/link:border-2 group-focus/link:border-primary dark:group-focus/link:border-primary-light">
                  <svg xmlns="http://www.w3.org/2000/svg" fill="gray" height="12px" viewBox="0 0 576 512">
                    <path d="M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"></path>
                  </svg>
                </div>
              </a>
            </div>
            {scopes.map((scope, index) => {
    return <span class="flex items-center px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 font-medium break-all" style={{
      lineHeight: "1rem",
      fontSize: "0.75rem",
      fontFamily: 'var(--font-jetbrains-mono), ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace'
    }} data-component-part="field-info-pill" key={index}>
                  {scope}
                </span>;
  })}
          </div>
        </div>
      </div>
    </div>;
};

export const ApiReleaseLifecycle = ({releaseLifecycle = 'GA'}) => {
  const lifecycleMap = {
    ea: 'Early Access',
    ga: 'Generally Available',
    deprecated: 'Deprecated',
    planned: 'Planned',
    beta: 'Beta'
  };
  const LIFECYCLE_THEMES = {
    info: {
      light: {
        bg: 'lab(91.896% .077188 -6.94053)',
        text: 'lab(36.091% 25.9241 -68.0384)'
      },
      dark: {
        bg: 'lab(16.0426% 6.71726 -27.2409)',
        text: 'lab(72.6029% 4.08953 -41.9669)'
      }
    },
    secondary: {
      light: {
        bg: 'lab(90.8548% 11.3355 8.01476)',
        text: 'lab(47.5286% 56.4238 43.4706)'
      },
      dark: {
        bg: 'lab(16.3609% 37.191 25.6346)',
        text: 'lab(71.881% 41.5 29.4839)'
      }
    },
    danger: {
      light: {
        bg: 'lab(94.7916% -.0000298023 0)',
        text: 'lab(54.3656% 0 -.0000119209)'
      },
      dark: {
        bg: 'lab(13.232% 0 0)',
        text: 'lab(51.6164% 0 0)'
      }
    }
  };
  const LIFECYCLE_THEME_MAP = {
    ea: 'info',
    ga: 'info',
    beta: 'info',
    deprecated: 'secondary',
    planned: 'danger'
  };
  const lifecycle = releaseLifecycle.toLocaleLowerCase();
  const lifecycleText = lifecycleMap[lifecycle];
  if (!lifecycleText) {
    return null;
  }
  const theme = LIFECYCLE_THEMES[LIFECYCLE_THEME_MAP[lifecycle]];
  return <div>
      <div className="api-section-heading flex flex-col gap-y-4 w-full">
        <div className="flex items-baseline border-b pb-2.5 border-gray-100 dark:border-gray-800 w-full">
          <h4 className="api-section-heading-title flex-1 mb-0">
            Release Lifecycle
          </h4>
        </div>
      </div>
      <div className="flex font-mono text-sm group/param-head param-head break-all relative mt-2.5" id="releaselifecycle-lifecycle">
        <div className="flex-1 flex flex-col content-start py-0.5 mr-5">
          <div className="flex items-center flex-wrap gap-2">
            <div className="absolute -top-1.5">
              <a href="#releaselifecycle-lifecycle" className="-ml-10 flex items-center opacity-0 border-0 group-hover/param-head:opacity-100 focus:opacity-100 focus:outline-0 py-2 [.expandable-content_&]:-ml-[2.1rem] group/link" aria-label="Navigate to header">
                <div className="w-6 h-6 rounded-md flex items-center justify-center shadow-sm text-gray-400 dark:text-white/50 dark:bg-background-dark dark:brightness-[1.35] dark:ring-1 dark:hover:brightness-150 bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20 group-focus/link:border-2 group-focus/link:border-primary dark:group-focus/link:border-primary-light">
                  <svg xmlns="http://www.w3.org/2000/svg" fill="gray" height="12px" viewBox="0 0 576 512">
                    <path d="M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z"></path>
                  </svg>
                </div>
              </a>
            </div>
            <span className="inline-flex items-center w-fit font-medium gap-1 py-0.5 px-2 rounded-md" style={{
    lineHeight: '1rem',
    fontSize: '0.75rem',
    fontFamily: 'var(--font-jetbrains-mono), ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace',
    backgroundColor: `light-dark(${theme.light.bg}, ${theme.dark.bg})`,
    color: `light-dark(${theme.light.text}, ${theme.dark.text})`,
    borderColor: `light-dark(color-mix(in oklab, ${theme.light.text} 25%, transparent), color-mix(in oklab, ${theme.dark.text} 25%, transparent))`
  }}>
              {lifecycleText}
            </span>
          </div>
        </div>
      </div>
    </div>;
};

<ApiReleaseLifecycle releaseLifecycle="GA" />

<Scopes scopes={["update:forms"]} />


## OpenAPI

````yaml management-api-oas patch /forms/{id}
openapi: 3.1.0
info:
  title: Auth0 Management 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: []
externalDocs:
  description: Auth0 Management API Documentation
  url: https://auth0.com/docs/api/management/v2/
paths:
  /forms/{id}:
    patch:
      tags:
        - forms
      summary: Update a form
      operationId: patch_form
      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.
      security:
        - bearerAuth: []
        - oAuth2ClientCredentials:
            - update:forms
      x-codeSamples:
        - lang: go
          label: Update a form
          source: |
            package example

            import (
                context "context"

                management "github.com/auth0/go-auth0/management/management"
                client "github.com/auth0/go-auth0/management/management/client"
                option "github.com/auth0/go-auth0/management/management/option"
            )

            func do() {
                client := client.NewClient(
                    option.WithToken(
                        "<token>",
                    ),
                )
                request := &management.UpdateFormRequestContent{}
                client.Forms.Update(
                    context.TODO(),
                    "id",
                    request,
                )
            }
        - lang: typescript
          label: Update a form
          source: |
            import { ManagementClient } from "auth0";

            async function main() {
                const client = new ManagementClient({
                    token: "<token>",
                });
                await client.forms.update("id", {});
            }
            main();
        - lang: javascript
          label: Update a form
          source: |
            import { ManagementClient } from "auth0";

            async function main() {
                const client = new ManagementClient({
                    token: "<token>",
                });
                await client.forms.update("id", {});
            }
            main();
components:
  schemas:
    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'
    UpdateFormResponseContent:
      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
    FormMessagesNullable:
      oneOf:
        - $ref: '#/components/schemas/FormMessages'
        - type: 'null'
    FormLanguagesNullable:
      oneOf:
        - $ref: '#/components/schemas/FormLanguages'
        - type: 'null'
    FormTranslationsNullable:
      oneOf:
        - $ref: '#/components/schemas/FormTranslations'
        - type: 'null'
    FormNodeListNullable:
      oneOf:
        - $ref: '#/components/schemas/FormNodeList'
        - type: 'null'
    FormStartNodeNullable:
      oneOf:
        - $ref: '#/components/schemas/FormStartNode'
        - type: 'null'
    FormEndingNodeNullable:
      oneOf:
        - $ref: '#/components/schemas/FormEndingNode'
        - type: 'null'
    FormStyleNullable:
      oneOf:
        - $ref: '#/components/schemas/FormStyle'
        - type: 'null'
    FormMessages:
      type: object
      additionalProperties: false
      properties:
        errors:
          $ref: '#/components/schemas/FormMessagesError'
        custom:
          $ref: '#/components/schemas/FormMessagesCustom'
    FormLanguages:
      type: object
      additionalProperties: false
      properties:
        primary:
          type: string
          minLength: 1
          maxLength: 55
        default:
          type: string
          minLength: 1
          maxLength: 55
    FormTranslations:
      type: object
      additionalProperties:
        type: object
        additionalProperties: true
    FormNodeList:
      type: array
      minItems: 0
      items:
        $ref: '#/components/schemas/FormNode'
    FormStartNode:
      type: object
      additionalProperties: false
      properties:
        hidden_fields:
          type: array
          items:
            $ref: '#/components/schemas/FormHiddenField'
        next_node:
          $ref: '#/components/schemas/FormNodePointer'
        coordinates:
          $ref: '#/components/schemas/FormNodeCoordinates'
    FormEndingNode:
      type: object
      additionalProperties: false
      properties:
        redirection:
          $ref: '#/components/schemas/FormEndingNodeRedirection'
        after_submit:
          $ref: '#/components/schemas/FormEndingNodeAfterSubmit'
        coordinates:
          $ref: '#/components/schemas/FormNodeCoordinates'
        resume_flow:
          $ref: '#/components/schemas/FormEndingNodeResumeFlowTrueConst'
    FormStyle:
      type: object
      additionalProperties: false
      properties:
        css:
          type: string
          minLength: 1
          maxLength: 5000
    FormMessagesError:
      type: object
      additionalProperties:
        type: string
        minLength: 1
        maxLength: 255
    FormMessagesCustom:
      type: object
      additionalProperties:
        type: string
        minLength: 1
        maxLength: 255
    FormNode:
      type: object
      oneOf:
        - $ref: '#/components/schemas/FormFlow'
        - $ref: '#/components/schemas/FormRouter'
        - $ref: '#/components/schemas/FormStep'
    FormHiddenField:
      type: object
      additionalProperties: false
      required:
        - key
      properties:
        key:
          type: string
          format: forms-custom-identifier
        value:
          type: string
          minLength: 1
          maxLength: 500
    FormNodePointer:
      oneOf:
        - type: string
          format: forms-custom-identifier
        - $ref: '#/components/schemas/FormEndingNodeId'
    FormNodeCoordinates:
      type: object
      additionalProperties: false
      required:
        - x
        - 'y'
      properties:
        x:
          type: integer
          minimum: -999999
          maximum: 999999
        'y':
          type: integer
          minimum: -999999
          maximum: 999999
    FormEndingNodeRedirection:
      type: object
      additionalProperties: false
      required:
        - target
      properties:
        delay:
          type: integer
          minimum: 0
          maximum: 10
        target:
          type: string
          minLength: 1
          maxLength: 1024
    FormEndingNodeAfterSubmit:
      type: object
      additionalProperties: false
      properties:
        flow_id:
          type: string
          maxLength: 30
          format: flow-id
    FormEndingNodeResumeFlowTrueConst:
      type: boolean
      enum:
        - true
    FormFlow:
      type: object
      additionalProperties: false
      required:
        - id
        - type
        - config
      properties:
        id:
          type: string
          format: forms-custom-identifier
        type:
          $ref: '#/components/schemas/FormNodeTypeFlowConst'
        coordinates:
          $ref: '#/components/schemas/FormNodeCoordinates'
        alias:
          type: string
          minLength: 1
          maxLength: 150
        config:
          $ref: '#/components/schemas/FormFlowConfig'
    FormRouter:
      type: object
      additionalProperties: false
      required:
        - id
        - type
      properties:
        id:
          type: string
          format: forms-custom-identifier
        type:
          $ref: '#/components/schemas/FormNodeTypeRouterConst'
        coordinates:
          $ref: '#/components/schemas/FormNodeCoordinates'
        alias:
          type: string
          minLength: 1
          maxLength: 150
        config:
          $ref: '#/components/schemas/FormRouterConfig'
    FormStep:
      type: object
      additionalProperties: false
      required:
        - id
        - type
      properties:
        id:
          type: string
          format: forms-custom-identifier
        type:
          $ref: '#/components/schemas/FormNodeTypeStepConst'
        coordinates:
          $ref: '#/components/schemas/FormNodeCoordinates'
        alias:
          type: string
          minLength: 1
          maxLength: 150
        config:
          $ref: '#/components/schemas/FormStepConfig'
    FormEndingNodeId:
      type: string
      enum:
        - $ending
    FormNodeTypeFlowConst:
      type: string
      enum:
        - FLOW
    FormFlowConfig:
      type: object
      additionalProperties: false
      required:
        - flow_id
      properties:
        flow_id:
          type: string
          maxLength: 30
          format: flow-id
        next_node:
          $ref: '#/components/schemas/FormNodePointer'
    FormNodeTypeRouterConst:
      type: string
      enum:
        - ROUTER
    FormRouterConfig:
      type: object
      additionalProperties: false
      properties:
        rules:
          type: array
          minItems: 0
          items:
            $ref: '#/components/schemas/FormRouterRule'
        fallback:
          $ref: '#/components/schemas/FormNodePointer'
    FormNodeTypeStepConst:
      type: string
      enum:
        - STEP
    FormStepConfig:
      type: object
      additionalProperties: false
      properties:
        components:
          $ref: '#/components/schemas/FormStepComponentList'
        next_node:
          $ref: '#/components/schemas/FormNodePointer'
    FormRouterRule:
      type: object
      additionalProperties: false
      required:
        - id
        - condition
      properties:
        id:
          type: string
          format: forms-custom-identifier
        alias:
          type: string
          minLength: 1
          maxLength: 150
        condition: {}
        next_node:
          $ref: '#/components/schemas/FormNodePointer'
    FormStepComponentList:
      type: array
      items:
        $ref: '#/components/schemas/FormComponent'
    FormComponent:
      type: object
      oneOf:
        - $ref: '#/components/schemas/FormBlock'
        - $ref: '#/components/schemas/FormWidget'
        - $ref: '#/components/schemas/FormField'
    FormBlock:
      type: object
      oneOf:
        - $ref: '#/components/schemas/FormBlockDivider'
        - $ref: '#/components/schemas/FormBlockHtml'
        - $ref: '#/components/schemas/FormBlockImage'
        - $ref: '#/components/schemas/FormBlockJumpButton'
        - $ref: '#/components/schemas/FormBlockResendButton'
        - $ref: '#/components/schemas/FormBlockNextButton'
        - $ref: '#/components/schemas/FormBlockPreviousButton'
        - $ref: '#/components/schemas/FormBlockRichText'
    FormWidget:
      type: object
      oneOf:
        - $ref: '#/components/schemas/FormWidgetAuth0VerifiableCredentials'
        - $ref: '#/components/schemas/FormWidgetGMapsAddress'
        - $ref: '#/components/schemas/FormWidgetRecaptcha'
    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'
    FormBlockDivider:
      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/FormBlockTypeDividerConst'
        config:
          $ref: '#/components/schemas/FormBlockDividerConfig'
    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'
    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'
    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'
    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'
    FormBlockNextButton:
      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/FormBlockTypeNextButtonConst'
        config:
          $ref: '#/components/schemas/FormBlockNextButtonConfig'
    FormBlockPreviousButton:
      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/FormBlockTypePreviousButtonConst'
        config:
          $ref: '#/components/schemas/FormBlockPreviousButtonConfig'
    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'
    FormWidgetAuth0VerifiableCredentials:
      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/FormWidgetTypeAuth0VerifiableCredentialsConst'
        config:
          $ref: '#/components/schemas/FormWidgetAuth0VerifiableCredentialsConfig'
        label:
          type: string
          minLength: 1
        hint:
          type: string
          minLength: 1
          maxLength: 500
        required:
          type: boolean
        sensitive:
          type: boolean
    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
    FormWidgetRecaptcha:
      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/FormWidgetTypeRecaptchaConst'
        config:
          $ref: '#/components/schemas/FormWidgetRecaptchaConfig'
        label:
          type: string
          minLength: 1
        hint:
          type: string
          minLength: 1
          maxLength: 500
        required:
          type: boolean
        sensitive:
          type: boolean
    FormFieldBoolean:
      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/FormFieldTypeBooleanConst'
        config:
          $ref: '#/components/schemas/FormFieldBooleanConfig'
        label:
          type: string
          minLength: 1
        hint:
          type: string
          minLength: 1
          maxLength: 500
        required:
          type: boolean
        sensitive:
          type: boolean
    FormFieldCards:
      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/FormFieldTypeCardsConst'
        config:
          $ref: '#/components/schemas/FormFieldCardsConfig'
        label:
          type: string
          minLength: 1
        hint:
          type: string
          minLength: 1
          maxLength: 500
        required:
          type: boolean
        sensitive:
          type: boolean
    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
    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
    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
    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
    FormFieldFile:
      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/FormFieldTypeFileConst'
        config:
          $ref: '#/components/schemas/FormFieldFileConfig'
        label:
          type: string
          minLength: 1
        hint:
          type: string
          minLength: 1
          maxLength: 500
        required:
          type: boolean
        sensitive:
          type: boolean
    FormFieldLegal:
      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/FormFieldTypeLegalConst'
        config:
          $ref: '#/components/schemas/FormFieldLegalConfig'
        label:
          type: string
          minLength: 1
        hint:
          type: string
          minLength: 1
          maxLength: 500
        required:
          type: boolean
        sensitive:
          type: boolean
    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
    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
    FormFieldPayment:
      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/FormFieldTypePaymentConst'
        config:
          $ref: '#/components/schemas/FormFieldPaymentConfig'
        label:
          type: string
          minLength: 1
        hint:
          type: string
          minLength: 1
          maxLength: 500
        required:
          type: boolean
        sensitive:
          type: boolean
    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
    FormFieldTel:
      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/FormFieldTypeTelConst'
        config:
          $ref: '#/components/schemas/FormFieldTelConfig'
        label:
          type: string
          minLength: 1
        hint:
          type: string
          minLength: 1
          maxLength: 500
        required:
          type: boolean
        sensitive:
          type: boolean
    FormFieldText:
      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/FormFieldTypeTextConst'
        config:
          $ref: '#/components/schemas/FormFieldTextConfig'
        label:
          type: string
          minLength: 1
        hint:
          type: string
          minLength: 1
          maxLength: 500
        required:
          type: boolean
        sensitive:
          type: boolean
    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
    FormComponentCategoryBlockConst:
      type: string
      enum:
        - BLOCK
    FormBlockTypeDividerConst:
      type: string
      enum:
        - DIVIDER
    FormBlockDividerConfig:
      type: object
      additionalProperties: false
      properties:
        text:
          type: string
          maxLength: 50
    FormBlockTypeHtmlConst:
      type: string
      enum:
        - HTML
    FormBlockHtmlConfig:
      type: object
      additionalProperties: false
      properties:
        content:
          type: string
          maxLength: 10000
    FormBlockTypeImageConst:
      type: string
      enum:
        - IMAGE
    FormBlockImageConfig:
      type: object
      additionalProperties: false
      required:
        - src
      properties:
        src:
          type: string
          maxLength: 500
        position:
          $ref: '#/components/schemas/FormBlockImageConfigPositionEnum'
        height:
          type: number
          minimum: 1
          maximum: 500
    FormBlockTypeJumpButtonConst:
      type: string
      enum:
        - JUMP_BUTTON
    FormBlockJumpButtonConfig:
      type: object
      additionalProperties: false
      required:
        - text
        - next_node
      properties:
        text:
          type: string
          maxLength: 150
        next_node:
          $ref: '#/components/schemas/FormNodePointer'
        style:
          $ref: '#/components/schemas/FormBlockJumpButtonConfigStyle'
    FormBlockTypeResendButtonConst:
      type: string
      enum:
        - RESEND_BUTTON
    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
    FormBlockTypeNextButtonConst:
      type: string
      enum:
        - NEXT_BUTTON
    FormBlockNextButtonConfig:
      type: object
      additionalProperties: false
      required:
        - text
      properties:
        text:
          type: string
          maxLength: 150
    FormBlockTypePreviousButtonConst:
      type: string
      enum:
        - PREVIOUS_BUTTON
    FormBlockPreviousButtonConfig:
      type: object
      additionalProperties: false
      required:
        - text
      properties:
        text:
          type: string
          maxLength: 150
    FormBlockTypeRichTextConst:
      type: string
      enum:
        - RICH_TEXT
    FormBlockRichTextConfig:
      type: object
      additionalProperties: false
      properties:
        content:
          type: string
          maxLength: 10000
    FormComponentCategoryWidgetConst:
      type: string
      enum:
        - WIDGET
    FormWidgetTypeAuth0VerifiableCredentialsConst:
      type: string
      enum:
        - AUTH0_VERIFIABLE_CREDENTIALS
    FormWidgetAuth0VerifiableCredentialsConfig:
      type: object
      additionalProperties: false
      required:
        - url
        - alternate_text
        - access_token
        - verification_id
      properties:
        url:
          type: string
          maxLength: 2000
        size:
          type: number
          minimum: 1
          maximum: 500
        alternate_text:
          type: string
          minLength: 1
          maxLength: 255
        access_token:
          type: string
          minLength: 1
          maxLength: 5000
        verification_id:
          type: string
          minLength: 1
          maxLength: 255
        max_wait:
          type: number
          minimum: 60
          maximum: 600
    FormWidgetTypeGMapsAddressConst:
      type: string
      enum:
        - GMAPS_ADDRESS
    FormWidgetGMapsAddressConfig:
      type: object
      additionalProperties: false
      required:
        - api_key
      properties:
        api_key:
          type: string
          minLength: 1
    FormWidgetTypeRecaptchaConst:
      type: string
      enum:
        - RECAPTCHA
    FormWidgetRecaptchaConfig:
      type: object
      additionalProperties: false
      required:
        - site_key
        - secret_key
      properties:
        site_key:
          type: string
          minLength: 1
        secret_key:
          type: string
          minLength: 1
    FormComponentCategoryFieldConst:
      type: string
      enum:
        - FIELD
    FormFieldTypeBooleanConst:
      type: string
      enum:
        - BOOLEAN
    FormFieldBooleanConfig:
      type: object
      additionalProperties: false
      properties:
        default_value:
          type: boolean
        options:
          $ref: '#/components/schemas/FormFieldBooleanConfigOptions'
    FormFieldTypeCardsConst:
      type: string
      enum:
        - CARDS
    FormFieldCardsConfig:
      type: object
      additionalProperties: false
      properties:
        hide_labels:
          type: boolean
        multiple:
          type: boolean
        options:
          type: array
          minItems: 0
          items:
            $ref: '#/components/schemas/FormFieldCardsConfigOption'
        default_value: {}
    FormFieldTypeChoiceConst:
      type: string
      enum:
        - CHOICE
    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: {}
    FormFieldTypeCustomConst:
      type: string
      enum:
        - CUSTOM
    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'
    FormFieldTypeDateConst:
      type: string
      enum:
        - DATE
    FormFieldDateConfig:
      type: object
      additionalProperties: false
      properties:
        format:
          $ref: '#/components/schemas/FormFieldDateConfigFormatEnum'
        default_value:
          type: string
    FormFieldTypeDropdownConst:
      type: string
      enum:
        - DROPDOWN
    FormFieldDropdownConfig:
      type: object
      additionalProperties: false
      properties:
        multiple:
          type: boolean
        options:
          type: array
          minItems: 0
          items:
            $ref: '#/components/schemas/FormFieldDropdownConfigOption'
        default_value: {}
        placeholder:
          type: string
          minLength: 1
          maxLength: 500
    FormFieldTypeEmailConst:
      type: string
      enum:
        - EMAIL
    FormFieldEmailConfig:
      type: object
      additionalProperties: false
      properties:
        default_value:
          type: string
          minLength: 1
        placeholder:
          type: string
          minLength: 1
          maxLength: 500
    FormFieldTypeFileConst:
      type: string
      enum:
        - FILE
    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
    FormFieldTypeLegalConst:
      type: string
      enum:
        - LEGAL
    FormFieldLegalConfig:
      type: object
      additionalProperties: false
      properties:
        text:
          type: string
          minLength: 1
          maxLength: 10000
    FormFieldTypeNumberConst:
      type: string
      enum:
        - NUMBER
    FormFieldNumberConfig:
      type: object
      additionalProperties: false
      properties:
        default_value:
          type: number
        placeholder:
          type: string
          minLength: 1
          maxLength: 500
        min_value:
          type: number
        max_value:
          type: number
    FormFieldTypePasswordConst:
      type: string
      enum:
        - PASSWORD
    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
    FormFieldTypePaymentConst:
      type: string
      enum:
        - PAYMENT
    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'
    FormFieldTypeSocialConst:
      type: string
      enum:
        - SOCIAL
    FormFieldSocialConfig:
      type: object
      additionalProperties: false
      properties: {}
    FormFieldTypeTelConst:
      type: string
      enum:
        - TEL
    FormFieldTelConfig:
      type: object
      allOf:
        - type: object
          additionalProperties: true
        - type: object
          additionalProperties: true
        - type: object
          additionalProperties: true
      additionalProperties: false
      properties:
        default_value:
          type: string
        placeholder:
          type: string
          maxLength: 500
        min_length:
          type: integer
          minimum: 1
        max_length:
          type: integer
          minimum: 1
        country_picker:
          type: boolean
        strings:
          $ref: '#/components/schemas/FormFieldTelConfigStrings'
    FormFieldTypeTextConst:
      type: string
      enum:
        - TEXT
    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
    FormFieldTypeUrlConst:
      type: string
      enum:
        - URL
    FormFieldUrlConfig:
      type: object
      additionalProperties: false
      properties:
        default_value:
          type: string
          minLength: 1
        placeholder:
          type: string
          minLength: 1
          maxLength: 500
    FormBlockImageConfigPositionEnum:
      type: string
      enum:
        - LEFT
        - CENTER
        - RIGHT
    FormBlockJumpButtonConfigStyle:
      type: object
      additionalProperties: false
      properties:
        background_color:
          type: string
          format: forms-hex-color
    FormBlockResendButtonConfigTextAlignmentEnum:
      type: string
      enum:
        - LEFT
        - CENTER
        - RIGHT
    FormFieldBooleanConfigOptions:
      type: object
      additionalProperties: false
      properties:
        'true':
          type: string
          minLength: 1
          maxLength: 50
        'false':
          type: string
          minLength: 1
          maxLength: 50
    FormFieldCardsConfigOption:
      type: object
      additionalProperties: false
      required:
        - value
        - label
        - image_url
      properties:
        value:
          type: string
          minLength: 1
        label:
          type: string
          minLength: 1
        image_url:
          type: string
          format: forms-url-https
    FormFieldChoiceConfigOption:
      type: object
      additionalProperties: false
      required:
        - value
        - label
      properties:
        value:
          type: string
          minLength: 1
        label:
          type: string
          minLength: 1
    FormFieldChoiceConfigAllowOther:
      type: object
      additionalProperties: false
      properties:
        enabled:
          $ref: '#/components/schemas/FormFieldChoiceConfigAllowOtherEnabledTrueEnum'
        label:
          type: string
          minLength: 1
        placeholder:
          type: string
          minLength: 1
    FormFieldCustomConfigSchema:
      type: object
      additionalProperties: true
    FormFieldCustomConfigParams:
      type: object
      additionalProperties:
        type: string
    FormFieldDateConfigFormatEnum:
      type: string
      enum:
        - DATE
        - TIME
    FormFieldDropdownConfigOption:
      type: object
      additionalProperties: false
      required:
        - value
        - label
      properties:
        value:
          type: string
          minLength: 1
        label:
          type: string
          minLength: 1
    FormFieldFileConfigStorage:
      type: object
      additionalProperties: true
      required:
        - type
      properties:
        type:
          $ref: '#/components/schemas/FormFieldFileConfigStorageTypeEnum'
    FormFieldFileConfigCategoryEnum:
      type: string
      enum:
        - AUDIO
        - VIDEO
        - IMAGE
        - DOCUMENT
        - ARCHIVE
    FormFieldPasswordConfigHashEnum:
      type: string
      enum:
        - NONE
        - MD5
        - SHA1
        - SHA256
        - SHA512
    FormFieldPaymentConfigProviderEnum:
      type: string
      enum:
        - STRIPE
    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'
    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
    FormFieldPaymentConfigCustomer:
      type: object
      additionalProperties: true
    FormFieldPaymentConfigFields:
      type: object
      additionalProperties: false
      properties:
        card_number:
          $ref: '#/components/schemas/FormFieldPaymentConfigFieldProperties'
        expiration_date:
          $ref: '#/components/schemas/FormFieldPaymentConfigFieldProperties'
        security_code:
          $ref: '#/components/schemas/FormFieldPaymentConfigFieldProperties'
        trustmarks:
          type: boolean
    FormFieldTelConfigStrings:
      type: object
      additionalProperties: false
      properties:
        filter_placeholder:
          type: string
          minLength: 1
    FormFieldChoiceConfigAllowOtherEnabledTrueEnum:
      type: boolean
      enum:
        - true
    FormFieldFileConfigStorageTypeEnum:
      type: string
      enum:
        - MANAGED
        - CUSTOM
    FormFieldPaymentConfigChargeOneOff:
      type: object
      additionalProperties: false
      required:
        - type
        - one_off
      properties:
        type:
          $ref: '#/components/schemas/FormFieldPaymentConfigChargeTypeOneOffConst'
        one_off:
          $ref: '#/components/schemas/FormFieldPaymentConfigChargeOneOffOneOff'
    FormFieldPaymentConfigChargeTypeSubscriptionConst:
      type: string
      enum:
        - SUBSCRIPTION
    FormFieldPaymentConfigSubscription:
      type: object
      additionalProperties: true
    FormFieldPaymentConfigFieldProperties:
      type: object
      additionalProperties: false
      properties:
        label:
          type: string
          minLength: 1
          maxLength: 250
        placeholder:
          type: string
          minLength: 1
          maxLength: 250
    FormFieldPaymentConfigChargeTypeOneOffConst:
      type: string
      enum:
        - ONE_OFF
    FormFieldPaymentConfigChargeOneOffOneOff:
      type: object
      additionalProperties: true
      required:
        - amount
        - currency
      properties:
        amount:
          $ref: '#/components/schemas/FormFieldPaymentConfigChargeOneOffOneOffAmount'
        currency:
          $ref: '#/components/schemas/FormFieldPaymentConfigChargeOneOffCurrencyEnum'
    FormFieldPaymentConfigChargeOneOffOneOffAmount:
      oneOf:
        - type: string
          minLength: 1
        - type: number
          minimum: 0.01
    FormFieldPaymentConfigChargeOneOffCurrencyEnum:
      type: string
      enum:
        - AUD
        - CAD
        - CHF
        - EUR
        - GBP
        - INR
        - MXN
        - SEK
        - USD
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: jwt
    oAuth2ClientCredentials:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: /oauth/token/
          x-form-parameters:
            audience: /api/v2/
          scopes:
            create:actions: Create Actions
            read:actions: Read Actions
            update:actions: Update Actions
            delete:actions: Delete Actions
            read:anomaly_blocks: Read Anomaly Blocks
            delete:anomaly_blocks: Delete Anomaly Blocks
            read:attack_protection: Read Attack Protection
            update:attack_protection: Update Attack Protection
            create:authentication_methods: Create Authentication Methods
            read:authentication_methods: Read Authentication Methods
            update:authentication_methods: Update Authentication Methods
            delete:authentication_methods: Delete Authentication Methods
            read:branding: Read Branding
            update:branding: Update Branding
            delete:branding: Delete Branding
            create:client_credentials: Create Client Credentials
            read:client_credentials: Read Client Credentials
            update:client_credentials: Update Client Credentials
            delete:client_credentials: Delete Client Credentials
            create:client_grants: Create Client Grants
            read:client_grants: Read Client Grants
            update:client_grants: Update Client Grants
            delete:client_grants: Delete Client Grants
            read:client_keys: Read Client Keys
            update:client_keys: Update Client Keys
            read:client_summary: Read Client Summary
            update:client_token_vault_privileged_access: Update Client Token Vault Privileged Access
            create:clients: Create Clients
            read:clients: Read Clients
            update:clients: Update Clients
            delete:clients: Delete Clients
            create:connection_profiles: Create Connection Profiles
            read:connection_profiles: Read Connection Profiles
            update:connection_profiles: Update Connection Profiles
            delete:connection_profiles: Delete Connection Profiles
            create:connections: Create Connections
            read:connections: Read Connections
            update:connections: Update Connections
            delete:connections: Delete Connections
            create:connections_keys: Create Connections Keys
            read:connections_keys: Read Connections Keys
            update:connections_keys: Update Connections Keys
            read:current_user: Read Current User
            delete:current_user: Delete Current User
            create:current_user_device_credentials: Create Current User Device Credentials
            delete:current_user_device_credentials: Delete Current User Device Credentials
            update:current_user_identities: Update Current User Identities
            update:current_user_metadata: Update Current User Metadata
            create:custom_domains: Create Custom Domains
            read:custom_domains: Read Custom Domains
            update:custom_domains: Update Custom Domains
            delete:custom_domains: Delete Custom Domains
            create:custom_signing_keys: Create Custom Signing Keys
            read:custom_signing_keys: Read Custom Signing Keys
            update:custom_signing_keys: Update Custom Signing Keys
            delete:custom_signing_keys: Delete Custom Signing Keys
            read:device_credentials: Read Device Credentials
            delete:device_credentials: Delete Device Credentials
            create:directory_provisionings: Create Directory Provisionings
            read:directory_provisionings: Read Directory Provisionings
            update:directory_provisionings: Update Directory Provisionings
            delete:directory_provisionings: Delete Directory Provisionings
            create:email_provider: Create Email Provider
            read:email_provider: Read Email Provider
            update:email_provider: Update Email Provider
            delete:email_provider: Delete Email Provider
            create:email_templates: Create Email Templates
            read:email_templates: Read Email Templates
            update:email_templates: Update Email Templates
            create:encryption_keys: Create Encryption Keys
            read:encryption_keys: Read Encryption Keys
            update:encryption_keys: Update Encryption Keys
            delete:encryption_keys: Delete Encryption Keys
            read:event_deliveries: Read Event Deliveries
            update:event_deliveries: Update Event Deliveries
            create:event_streams: Create Event Streams
            read:event_streams: Read Event Streams
            update:event_streams: Update Event Streams
            delete:event_streams: Delete Event Streams
            read:events: Read Events
            create:experimentation: Create Experimentation
            read:experimentation: Read Experimentation
            update:experimentation: Update Experimentation
            delete:experimentation: Delete Experimentation
            read:federated_connections_tokens: Read Federated Connections Tokens
            delete:federated_connections_tokens: Delete Federated Connections Tokens
            create:flows: Create Flows
            read:flows: Read Flows
            update:flows: Update Flows
            delete:flows: Delete Flows
            read:flows_executions: Read Flows Executions
            delete:flows_executions: Delete Flows Executions
            create:flows_vault_connections: Create Flows Vault Connections
            read:flows_vault_connections: Read Flows Vault Connections
            update:flows_vault_connections: Update Flows Vault Connections
            delete:flows_vault_connections: Delete Flows Vault Connections
            create:forms: Create Forms
            read:forms: Read Forms
            update:forms: Update Forms
            delete:forms: Delete Forms
            read:grants: Read Grants
            delete:grants: Delete Grants
            read:group_members: Read Group Members
            create:group_roles: Create Group Roles
            read:group_roles: Read Group Roles
            delete:group_roles: Delete Group Roles
            read:groups: Read Groups
            delete:groups: Delete Groups
            create:guardian_enrollment_tickets: Create Guardian Enrollment Tickets
            read:guardian_enrollments: Read Guardian Enrollments
            delete:guardian_enrollments: Delete Guardian Enrollments
            read:guardian_factors: Read Guardian Factors
            update:guardian_factors: Update Guardian Factors
            create:hooks: Create Hooks
            read:hooks: Read Hooks
            update:hooks: Update Hooks
            delete:hooks: Delete Hooks
            create:log_streams: Create Log Streams
            read:log_streams: Read Log Streams
            update:log_streams: Update Log Streams
            delete:log_streams: Delete Log Streams
            read:logs: Read Logs
            read:logs_users: Read Logs Users
            read:mfa_policies: Read Mfa Policies
            update:mfa_policies: Update Mfa Policies
            create:network_acls: Create Network Acls
            read:network_acls: Read Network Acls
            update:network_acls: Update Network Acls
            delete:network_acls: Delete Network Acls
            create:organization_client_grants: Create Organization Client Grants
            read:organization_client_grants: Read Organization Client Grants
            delete:organization_client_grants: Delete Organization Client Grants
            create:organization_connections: Create Organization Connections
            read:organization_connections: Read Organization Connections
            update:organization_connections: Update Organization Connections
            delete:organization_connections: Delete Organization Connections
            create:organization_discovery_domains: Create Organization Discovery Domains
            read:organization_discovery_domains: Read Organization Discovery Domains
            update:organization_discovery_domains: Update Organization Discovery Domains
            delete:organization_discovery_domains: Delete Organization Discovery Domains
            create:organization_group_roles: Create Organization Group Roles
            read:organization_group_roles: Read Organization Group Roles
            delete:organization_group_roles: Delete Organization Group Roles
            read:organization_groups: Read Organization Groups
            create:organization_invitations: Create Organization Invitations
            read:organization_invitations: Read Organization Invitations
            delete:organization_invitations: Delete Organization Invitations
            read:organization_member_effective_roles: Read Organization Member Effective Roles
            read:organization_member_role_source_groups: Read Organization Member Role Source Groups
            create:organization_member_roles: Create Organization Member Roles
            read:organization_member_roles: Read Organization Member Roles
            delete:organization_member_roles: Delete Organization Member Roles
            create:organization_members: Create Organization Members
            read:organization_members: Read Organization Members
            delete:organization_members: Delete Organization Members
            create:organizations: Create Organizations
            read:organizations: Read Organizations
            update:organizations: Update Organizations
            delete:organizations: Delete Organizations
            read:organizations_summary: Read Organizations Summary
            create:phone_providers: Create Phone Providers
            read:phone_providers: Read Phone Providers
            update:phone_providers: Update Phone Providers
            delete:phone_providers: Delete Phone Providers
            create:phone_templates: Create Phone Templates
            read:phone_templates: Read Phone Templates
            update:phone_templates: Update Phone Templates
            delete:phone_templates: Delete Phone Templates
            read:prompts: Read Prompts
            update:prompts: Update Prompts
            create:rate_limit_policies: Create Rate Limit Policies
            read:rate_limit_policies: Read Rate Limit Policies
            update:rate_limit_policies: Update Rate Limit Policies
            delete:rate_limit_policies: Delete Rate Limit Policies
            read:refresh_tokens: Read Refresh Tokens
            update:refresh_tokens: Update Refresh Tokens
            delete:refresh_tokens: Delete Refresh Tokens
            create:resource_servers: Create Resource Servers
            read:resource_servers: Read Resource Servers
            update:resource_servers: Update Resource Servers
            delete:resource_servers: Delete Resource Servers
            create:role_members: Create Role Members
            read:role_members: Read Role Members
            delete:role_members: Delete Role Members
            create:roles: Create Roles
            read:roles: Read Roles
            update:roles: Update Roles
            delete:roles: Delete Roles
            create:rules: Create Rules
            read:rules: Read Rules
            update:rules: Update Rules
            delete:rules: Delete Rules
            read:rules_configs: Read Rules Configs
            update:rules_configs: Update Rules Configs
            delete:rules_configs: Delete Rules Configs
            create:scim_config: Create Scim Config
            read:scim_config: Read Scim Config
            update:scim_config: Update Scim Config
            delete:scim_config: Delete Scim Config
            create:scim_token: Create Scim Token
            read:scim_token: Read Scim Token
            delete:scim_token: Delete Scim Token
            read:self_service_profile_custom_texts: Read Self Service Profile Custom Texts
            update:self_service_profile_custom_texts: Update Self Service Profile Custom Texts
            create:self_service_profiles: Create Self Service Profiles
            read:self_service_profiles: Read Self Service Profiles
            update:self_service_profiles: Update Self Service Profiles
            delete:self_service_profiles: Delete Self Service Profiles
            read:sessions: Read Sessions
            update:sessions: Update Sessions
            delete:sessions: Delete Sessions
            create:signing_keys: Create Signing Keys
            read:signing_keys: Read Signing Keys
            update:signing_keys: Update Signing Keys
            create:sso_access_tickets: Create Sso Access Tickets
            delete:sso_access_tickets: Delete Sso Access Tickets
            read:stats: Read Stats
            read:tenant_settings: Read Tenant Settings
            update:tenant_settings: Update Tenant Settings
            create:token_exchange_profiles: Create Token Exchange Profiles
            read:token_exchange_profiles: Read Token Exchange Profiles
            update:token_exchange_profiles: Update Token Exchange Profiles
            delete:token_exchange_profiles: Delete Token Exchange Profiles
            create:user_attribute_profiles: Create User Attribute Profiles
            read:user_attribute_profiles: Read User Attribute Profiles
            update:user_attribute_profiles: Update User Attribute Profiles
            delete:user_attribute_profiles: Delete User Attribute Profiles
            read:user_effective_permissions: Read User Effective Permissions
            read:user_effective_roles: Read User Effective Roles
            read:user_idp_tokens: Read User Idp Tokens
            read:user_permission_source_roles: Read User Permission Source Roles
            read:user_role_source_groups: Read User Role Source Groups
            create:user_tickets: Create User Tickets
            create:users: Create Users
            read:users: Read Users
            update:users: Update Users
            delete:users: Delete Users
            update:users_app_metadata: Update Users App Metadata
            create:vdcs_templates: Create Vdcs Templates
            read:vdcs_templates: Read Vdcs Templates
            update:vdcs_templates: Update Vdcs Templates
            delete:vdcs_templates: Delete Vdcs Templates

````