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

# Update a typebot



## OpenAPI

````yaml PATCH /v1/typebots/{typebotId}
openapi: 3.1.1
info:
  title: Builder API
  version: 1.0.0
servers:
  - url: https://app.typebot.com/api
security: []
externalDocs:
  url: https://docs.typebot.com/api-reference
paths:
  /v1/typebots/{typebotId}:
    patch:
      tags:
        - Typebot
      summary: Update a typebot
      operationId: typebot-updateTypebot
      parameters:
        - name: typebotId
          in: path
          required: true
          schema:
            type: string
            description: '[Where to find my bot''s ID?](../how-to#how-to-find-my-typebotid)'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                typebot:
                  anyOf:
                    - type: object
                      properties:
                        version:
                          enum:
                            - '6'
                            - '6.1'
                          type: string
                        name:
                          type: string
                        icon:
                          anyOf:
                            - type: string
                            - type: 'null'
                        selectedThemeTemplateId:
                          anyOf:
                            - type: string
                            - type: 'null'
                        groups:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              title:
                                type: string
                              graphCoordinates:
                                type: object
                                properties:
                                  x:
                                    type: number
                                  'y':
                                    type: number
                                required:
                                  - x
                                  - 'y'
                              blocks:
                                type: array
                                items:
                                  anyOf:
                                    - $ref: '#/components/schemas/Start'
                                    - anyOf:
                                        - $ref: '#/components/schemas/Text'
                                        - $ref: '#/components/schemas/Image'
                                        - $ref: '#/components/schemas/Video'
                                        - $ref: '#/components/schemas/Embed'
                                        - $ref: '#/components/schemas/Audio'
                                    - anyOf:
                                        - $ref: '#/components/schemas/TextInput'
                                        - $ref: '#/components/schemas/EmailInput'
                                        - $ref: '#/components/schemas/NumberInput'
                                        - $ref: '#/components/schemas/UrlInput'
                                        - $ref: '#/components/schemas/PhoneNumberInput'
                                        - $ref: '#/components/schemas/DateInput'
                                        - $ref: '#/components/schemas/TimeInput'
                                        - $ref: '#/components/schemas/PaymentInput'
                                        - $ref: '#/components/schemas/RatingInput'
                                        - $ref: '#/components/schemas/Cards'
                                        - $ref: '#/components/schemas/ChoiceInput'
                                        - $ref: '#/components/schemas/FileInput'
                                        - $ref: '#/components/schemas/PictureChoiceInput'
                                    - anyOf:
                                        - $ref: '#/components/schemas/Code'
                                        - $ref: '#/components/schemas/Redirect'
                                        - $ref: '#/components/schemas/SetVariable'
                                        - $ref: '#/components/schemas/TypebotLink'
                                        - $ref: '#/components/schemas/Wait'
                                        - $ref: '#/components/schemas/Jump'
                                        - $ref: '#/components/schemas/Return'
                                        - $ref: '#/components/schemas/Condition'
                                        - $ref: '#/components/schemas/AbTest'
                                        - $ref: '#/components/schemas/Webhook'
                                    - anyOf:
                                        - $ref: '#/components/schemas/Chatwoot'
                                        - $ref: '#/components/schemas/GoogleAnalytics'
                                        - $ref: '#/components/schemas/Openai'
                                        - $ref: '#/components/schemas/Email'
                                        - $ref: '#/components/schemas/Pixel'
                                        - $ref: '#/components/schemas/GoogleSheets'
                                        - $ref: '#/components/schemas/Make.com'
                                        - $ref: '#/components/schemas/Pabbly'
                                        - type: object
                                          properties:
                                            id:
                                              type: string
                                            outgoingEdgeId:
                                              type: string
                                            type:
                                              enum:
                                                - Webhook
                                              type: string
                                              description: Legacy name for HTTP Request block
                                            options:
                                              type: object
                                              properties:
                                                variablesForTest:
                                                  type: array
                                                  items: {}
                                                responseVariableMapping:
                                                  type: array
                                                  items: {}
                                                isCustomBody:
                                                  type: boolean
                                                isExecutedOnClient:
                                                  type: boolean
                                                webhook:
                                                  type: object
                                                  properties:
                                                    queryParams: {}
                                                    headers: {}
                                                    method: {}
                                                    url: {}
                                                    body: {}
                                                timeout:
                                                  type: number
                                                  minimum: 1
                                                  maximum: 120
                                                proxyCredentialsId:
                                                  type: string
                                          required:
                                            - id
                                            - type
                                        - $ref: '#/components/schemas/Zapier'
                                    - anyOf:
                                        - type: object
                                          properties:
                                            id:
                                              type: string
                                            outgoingEdgeId:
                                              type: string
                                            type:
                                              const: openai
                                            options:
                                              anyOf:
                                                - type: object
                                                  properties:
                                                    baseUrl: {}
                                                    apiVersion: {}
                                                    credentialsId: {}
                                                    action: {}
                                                - type: object
                                                  properties:
                                                    baseUrl: {}
                                                    apiVersion: {}
                                                    credentialsId: {}
                                                    action: {}
                                                    model: {}
                                                    messages: {}
                                                    tools: {}
                                                    temperature: {}
                                                    responseMapping: {}
                                                - $ref: '#/components/schemas/AskAssistant'
                                                - $ref: '#/components/schemas/AskModel'
                                                - $ref: '#/components/schemas/GenerateVariables'
                                                - type: object
                                                  properties:
                                                    baseUrl: {}
                                                    apiVersion: {}
                                                    credentialsId: {}
                                                    action: {}
                                                    model: {}
                                                    input: {}
                                                    instructions: {}
                                                    voice: {}
                                                    saveUrlInVariableId: {}
                                                - $ref: '#/components/schemas/CreateTranscription'
                                          required:
                                            - id
                                            - type
                                        - $ref: '#/components/schemas/CalCom'
                                        - $ref: '#/components/schemas/ChatNode'
                                        - $ref: '#/components/schemas/QrCode'
                                        - $ref: '#/components/schemas/DifyAi'
                                        - $ref: '#/components/schemas/Mistral'
                                        - $ref: '#/components/schemas/Elevenlabs'
                                        - $ref: '#/components/schemas/Anthropic'
                                        - $ref: '#/components/schemas/TogetherAi'
                                        - $ref: '#/components/schemas/OpenRouter'
                                        - $ref: '#/components/schemas/Nocodb'
                                        - $ref: '#/components/schemas/Segment'
                                        - $ref: '#/components/schemas/Groq'
                                        - $ref: '#/components/schemas/Zendesk'
                                        - $ref: '#/components/schemas/Posthog'
                                        - $ref: '#/components/schemas/Perplexity'
                                        - $ref: '#/components/schemas/Deepseek'
                                        - $ref: '#/components/schemas/Blink'
                                        - $ref: '#/components/schemas/Gmail'
                            required:
                              - id
                              - title
                              - graphCoordinates
                              - blocks
                        theme:
                          type: object
                          properties:
                            general:
                              type: object
                              properties:
                                font:
                                  anyOf:
                                    - type: string
                                    - anyOf:
                                        - $ref: '#/components/schemas/Google'
                                        - type: object
                                          properties:
                                            type:
                                              const: Custom
                                            family:
                                              type: string
                                            css:
                                              type: string
                                            url:
                                              type: string
                                              description: Deprecated, use `css` instead
                                          required:
                                            - type
                                background:
                                  type: object
                                  properties:
                                    type:
                                      enum:
                                        - Color
                                        - Image
                                        - None
                                      type: string
                                    content:
                                      type: string
                                progressBar:
                                  type: object
                                  properties:
                                    isEnabled:
                                      type: boolean
                                    color:
                                      type: string
                                    backgroundColor:
                                      type: string
                                    placement:
                                      enum:
                                        - Top
                                        - Bottom
                                      type: string
                                    thickness:
                                      type: number
                                    position:
                                      enum:
                                        - fixed
                                        - absolute
                                      type: string
                            chat:
                              type: object
                              properties:
                                container:
                                  type: object
                                  properties:
                                    maxWidth:
                                      type: string
                                    maxHeight:
                                      type: string
                                    backgroundColor:
                                      type: string
                                    color:
                                      type: string
                                    blur:
                                      type: number
                                    opacity:
                                      type: number
                                      minimum: 0
                                      maximum: 1
                                    shadow:
                                      enum:
                                        - none
                                        - sm
                                        - md
                                        - lg
                                        - xl
                                        - 2xl
                                      type: string
                                    border:
                                      type: object
                                      properties:
                                        thickness:
                                          type: number
                                        color:
                                          type: string
                                        roundeness:
                                          enum:
                                            - none
                                            - medium
                                            - large
                                            - custom
                                          type: string
                                        customRoundeness:
                                          type: number
                                        opacity:
                                          type: number
                                          minimum: 0
                                          maximum: 1
                                hostAvatar:
                                  type: object
                                  properties:
                                    isEnabled:
                                      type: boolean
                                    url:
                                      type: string
                                guestAvatar:
                                  type: object
                                  properties:
                                    isEnabled:
                                      type: boolean
                                    url:
                                      type: string
                                hostBubbles:
                                  type: object
                                  properties:
                                    backgroundColor:
                                      type: string
                                    color:
                                      type: string
                                    blur:
                                      type: number
                                    opacity:
                                      type: number
                                      minimum: 0
                                      maximum: 1
                                    shadow:
                                      enum:
                                        - none
                                        - sm
                                        - md
                                        - lg
                                        - xl
                                        - 2xl
                                      type: string
                                    border:
                                      type: object
                                      properties:
                                        thickness:
                                          type: number
                                        color:
                                          type: string
                                        roundeness:
                                          enum:
                                            - none
                                            - medium
                                            - large
                                            - custom
                                          type: string
                                        customRoundeness:
                                          type: number
                                        opacity:
                                          type: number
                                          minimum: 0
                                          maximum: 1
                                guestBubbles:
                                  type: object
                                  properties:
                                    backgroundColor:
                                      type: string
                                    color:
                                      type: string
                                    blur:
                                      type: number
                                    opacity:
                                      type: number
                                      minimum: 0
                                      maximum: 1
                                    shadow:
                                      enum:
                                        - none
                                        - sm
                                        - md
                                        - lg
                                        - xl
                                        - 2xl
                                      type: string
                                    border:
                                      type: object
                                      properties:
                                        thickness:
                                          type: number
                                        color:
                                          type: string
                                        roundeness:
                                          enum:
                                            - none
                                            - medium
                                            - large
                                            - custom
                                          type: string
                                        customRoundeness:
                                          type: number
                                        opacity:
                                          type: number
                                          minimum: 0
                                          maximum: 1
                                buttons:
                                  type: object
                                  properties:
                                    backgroundColor:
                                      type: string
                                    color:
                                      type: string
                                    blur:
                                      type: number
                                    opacity:
                                      type: number
                                      minimum: 0
                                      maximum: 1
                                    shadow:
                                      enum:
                                        - none
                                        - sm
                                        - md
                                        - lg
                                        - xl
                                        - 2xl
                                      type: string
                                    border:
                                      type: object
                                      properties:
                                        thickness:
                                          type: number
                                        color:
                                          type: string
                                        roundeness:
                                          enum:
                                            - none
                                            - medium
                                            - large
                                            - custom
                                          type: string
                                        customRoundeness:
                                          type: number
                                        opacity:
                                          type: number
                                          minimum: 0
                                          maximum: 1
                                inputs:
                                  type: object
                                  properties:
                                    backgroundColor:
                                      type: string
                                    color:
                                      type: string
                                    blur:
                                      type: number
                                    opacity:
                                      type: number
                                      minimum: 0
                                      maximum: 1
                                    shadow:
                                      enum:
                                        - none
                                        - sm
                                        - md
                                        - lg
                                        - xl
                                        - 2xl
                                      type: string
                                    border:
                                      type: object
                                      properties:
                                        thickness:
                                          type: number
                                        color:
                                          type: string
                                        roundeness:
                                          enum:
                                            - none
                                            - medium
                                            - large
                                            - custom
                                          type: string
                                        customRoundeness:
                                          type: number
                                        opacity:
                                          type: number
                                          minimum: 0
                                          maximum: 1
                                    placeholderColor:
                                      type: string
                                roundness:
                                  enum:
                                    - none
                                    - medium
                                    - large
                                  type: string
                                  description: >-
                                    Deprecated, use
                                    `container.border.roundeness` instead
                                buttonsInput:
                                  type: object
                                  properties:
                                    layout:
                                      enum:
                                        - wrap
                                        - vertical
                                      type: string
                            customCss:
                              type: string
                        settings:
                          type: object
                          properties:
                            general:
                              type: object
                              properties:
                                isBrandingEnabled:
                                  type: boolean
                                isTypingEmulationEnabled:
                                  type: boolean
                                isInputPrefillEnabled:
                                  type: boolean
                                isHideQueryParamsEnabled:
                                  type: boolean
                                isNewResultOnRefreshEnabled:
                                  type: boolean
                                rememberUser:
                                  type: object
                                  properties:
                                    isEnabled:
                                      type: boolean
                                    storage:
                                      enum:
                                        - session
                                        - local
                                      type: string
                                systemMessages:
                                  type: object
                                  properties:
                                    invalidMessage:
                                      type: string
                                    botClosed:
                                      type: string
                                    networkErrorTitle:
                                      type: string
                                    networkErrorMessage:
                                      type: string
                                    popupBlockedTitle:
                                      type: string
                                    popupBlockedDescription:
                                      type: string
                                    popupBlockedButtonLabel:
                                      type: string
                                    fileUploadError:
                                      type: string
                                    fileUploadSizeError:
                                      type: string
                                    whatsAppPictureChoiceSelectLabel:
                                      type: string
                            typingEmulation:
                              type: object
                              properties:
                                enabled:
                                  type: boolean
                                speed:
                                  type: number
                                maxDelay:
                                  type: number
                                delayBetweenBubbles:
                                  type: number
                                  minimum: 0
                                  maximum: 5
                                isDisabledOnFirstMessage:
                                  type: boolean
                            metadata:
                              type: object
                              properties:
                                title:
                                  type: string
                                description:
                                  type: string
                                imageUrl:
                                  type: string
                                favIconUrl:
                                  type: string
                                customHeadCode:
                                  type: string
                                googleTagManagerId:
                                  type: string
                                allowIndexing:
                                  type: boolean
                            whatsApp:
                              type: object
                              properties:
                                isEnabled:
                                  type: boolean
                                startCondition:
                                  type: object
                                  properties:
                                    logicalOperator:
                                      enum:
                                        - OR
                                        - AND
                                      type: string
                                    comparisons:
                                      type: array
                                      items:
                                        type: object
                                        properties:
                                          id:
                                            type: string
                                          comparisonOperator:
                                            enum:
                                              - Equal to
                                              - Not equal
                                              - Contains
                                              - Does not contain
                                              - Greater than
                                              - Greater or equal to
                                              - Less than
                                              - Less or equal to
                                              - Is set
                                              - Is empty
                                              - Starts with
                                              - Ends with
                                              - Matches regex
                                              - Does not match regex
                                            type: string
                                          value:
                                            type: string
                                        required:
                                          - id
                                  required:
                                    - comparisons
                                sessionExpiryTimeout:
                                  type: number
                                  minimum: 0.01
                                  maximum: 48
                                  description: >-
                                    Expiration delay in hours after latest
                                    interaction
                                errorAndMarketingStatusWebhookForwardUrl:
                                  type: string
                                  format: uri
                                isWebhookForwardingEnabled:
                                  type: boolean
                                webhookForwardingEventTypes:
                                  type: array
                                  items:
                                    enum:
                                      - all
                                      - errorStatuses
                                      - marketingStatuses
                                    type: string
                            publicShare:
                              type: object
                              properties:
                                isEnabled:
                                  type: boolean
                            security:
                              type: object
                              properties:
                                allowedOrigins:
                                  type: array
                                  items:
                                    type: string
                        folderId:
                          anyOf:
                            - type: string
                            - type: 'null'
                        variables:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              name:
                                type: string
                              isSessionVariable:
                                type: boolean
                              value:
                                anyOf:
                                  - anyOf:
                                      - type: string
                                      - type: array
                                        items:
                                          anyOf:
                                            - type: string
                                            - type: 'null'
                                  - type: 'null'
                            required:
                              - id
                              - name
                        edges:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              from:
                                anyOf:
                                  - type: object
                                    properties:
                                      blockId:
                                        type: string
                                      itemId:
                                        type: string
                                      pathId:
                                        type: string
                                    required:
                                      - blockId
                                  - type: object
                                    properties:
                                      eventId:
                                        type: string
                                    required:
                                      - eventId
                              to:
                                type: object
                                properties:
                                  groupId:
                                    type: string
                                  blockId:
                                    type: string
                                required:
                                  - groupId
                            required:
                              - id
                              - from
                              - to
                        resultsTablePreferences:
                          anyOf:
                            - type: object
                              properties:
                                columnsOrder:
                                  type: array
                                  items:
                                    type: string
                                columnsVisibility:
                                  type: object
                                  propertyNames:
                                    type: string
                                  additionalProperties:
                                    type: boolean
                                columnsWidth:
                                  type: object
                                  propertyNames:
                                    type: string
                                  additionalProperties:
                                    type: number
                              required:
                                - columnsOrder
                                - columnsVisibility
                                - columnsWidth
                            - type: 'null'
                        publicId:
                          anyOf:
                            - type: string
                            - type: 'null'
                        customDomain:
                          anyOf:
                            - type: string
                            - type: 'null'
                        isClosed:
                          type: boolean
                        whatsAppCredentialsId:
                          anyOf:
                            - type: string
                            - type: 'null'
                        riskLevel:
                          anyOf:
                            - type: number
                            - type: 'null'
                        events:
                          type: array
                          prefixItems:
                            - type: object
                              properties:
                                id:
                                  type: string
                                outgoingEdgeId:
                                  type: string
                                graphCoordinates:
                                  type: object
                                  properties:
                                    x:
                                      type: number
                                    'y':
                                      type: number
                                  required:
                                    - x
                                    - 'y'
                                type:
                                  const: start
                              required:
                                - id
                                - graphCoordinates
                                - type
                          items:
                            anyOf:
                              - type: object
                                properties:
                                  id:
                                    type: string
                                  outgoingEdgeId:
                                    type: string
                                  graphCoordinates:
                                    type: object
                                    properties:
                                      x:
                                        type: number
                                      'y':
                                        type: number
                                    required:
                                      - x
                                      - 'y'
                                  type:
                                    const: command
                                  options:
                                    type: object
                                    properties:
                                      command:
                                        type: string
                                      resumeAfter:
                                        type: boolean
                                required:
                                  - id
                                  - graphCoordinates
                                  - type
                              - type: object
                                properties:
                                  id:
                                    type: string
                                  outgoingEdgeId:
                                    type: string
                                  graphCoordinates:
                                    type: object
                                    properties:
                                      x:
                                        type: number
                                      'y':
                                        type: number
                                    required:
                                      - x
                                      - 'y'
                                  type:
                                    const: reply
                                  options:
                                    type: object
                                    properties:
                                      contentVariableId:
                                        type: string
                                      inputNameVariableId:
                                        type: string
                                      inputTypeVariableId:
                                        type: string
                                required:
                                  - id
                                  - graphCoordinates
                                  - type
                              - type: object
                                properties:
                                  id:
                                    type: string
                                  outgoingEdgeId:
                                    type: string
                                  graphCoordinates:
                                    type: object
                                    properties:
                                      x:
                                        type: number
                                      'y':
                                        type: number
                                    required:
                                      - x
                                      - 'y'
                                  type:
                                    const: invalidReply
                                  options:
                                    type: object
                                    properties:
                                      contentVariableId:
                                        type: string
                                      inputNameVariableId:
                                        type: string
                                      inputTypeVariableId:
                                        type: string
                                required:
                                  - id
                                  - graphCoordinates
                                  - type
                        updatedAt:
                          type: string
                          format: date-time
                          x-native-type: date
                        spaceId:
                          anyOf:
                            - type: string
                            - type: 'null'
                    - type: object
                      properties:
                        version:
                          enum:
                            - '3'
                            - '4'
                            - '5'
                          type: string
                        name:
                          type: string
                        icon:
                          anyOf:
                            - type: string
                            - type: 'null'
                        selectedThemeTemplateId:
                          anyOf:
                            - type: string
                            - type: 'null'
                        groups:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              title:
                                type: string
                              graphCoordinates:
                                type: object
                                properties:
                                  x:
                                    type: number
                                  'y':
                                    type: number
                                required:
                                  - x
                                  - 'y'
                              blocks:
                                type: array
                                items:
                                  anyOf:
                                    - $ref: '#/components/schemas/Start'
                                    - anyOf:
                                        - $ref: '#/components/schemas/Text'
                                        - $ref: '#/components/schemas/Image'
                                        - $ref: '#/components/schemas/Video'
                                        - $ref: '#/components/schemas/Embed'
                                        - $ref: '#/components/schemas/Audio'
                                    - anyOf:
                                        - $ref: '#/components/schemas/TextInput'
                                        - $ref: '#/components/schemas/EmailInput'
                                        - $ref: '#/components/schemas/NumberInput'
                                        - $ref: '#/components/schemas/UrlInput'
                                        - $ref: '#/components/schemas/PhoneNumberInput'
                                        - $ref: '#/components/schemas/DateInput'
                                        - $ref: '#/components/schemas/TimeInput'
                                        - $ref: '#/components/schemas/PaymentInput'
                                        - $ref: '#/components/schemas/RatingInput'
                                        - $ref: '#/components/schemas/Cards'
                                        - type: object
                                          properties:
                                            id:
                                              type: string
                                            outgoingEdgeId:
                                              type: string
                                            type:
                                              enum:
                                                - choice input
                                              type: string
                                            items:
                                              type: array
                                              items:
                                                type: object
                                                properties:
                                                  id: {}
                                                  blockId: {}
                                                  outgoingEdgeId: {}
                                                  content: {}
                                                  value: {}
                                                  displayCondition: {}
                                            options:
                                              type: object
                                              properties:
                                                variableId:
                                                  type: string
                                                isMultipleChoice:
                                                  type: boolean
                                                buttonLabel:
                                                  type: string
                                                dynamicVariableId:
                                                  type: string
                                                isSearchable:
                                                  type: boolean
                                                searchInputPlaceholder:
                                                  type: string
                                                areInitialSearchButtonsVisible:
                                                  type: boolean
                                          required:
                                            - id
                                            - type
                                            - items
                                        - type: object
                                          properties:
                                            id:
                                              type: string
                                            outgoingEdgeId:
                                              type: string
                                            type:
                                              const: file input
                                            options:
                                              type: object
                                              properties:
                                                variableId:
                                                  type: string
                                                isRequired:
                                                  type: boolean
                                                isMultipleAllowed:
                                                  type: boolean
                                                labels:
                                                  type: object
                                                  properties:
                                                    placeholder: {}
                                                    button: {}
                                                    clear: {}
                                                    skip: {}
                                                    success: {}
                                                allowedFileTypes:
                                                  type: object
                                                  properties:
                                                    isEnabled: {}
                                                    types: {}
                                                capture:
                                                  enum:
                                                    - environment
                                                    - user
                                                  type: string
                                                sizeLimit:
                                                  type: number
                                                visibility:
                                                  enum:
                                                    - Auto
                                                    - Public
                                                    - Private
                                                  type: string
                                          required:
                                            - id
                                            - type
                                        - type: object
                                          properties:
                                            id:
                                              type: string
                                            outgoingEdgeId:
                                              type: string
                                            type:
                                              enum:
                                                - picture choice input
                                              type: string
                                            items:
                                              type: array
                                              items:
                                                type: object
                                                properties:
                                                  id: {}
                                                  blockId: {}
                                                  outgoingEdgeId: {}
                                                  pictureSrc: {}
                                                  title: {}
                                                  description: {}
                                                  value: {}
                                                  displayCondition: {}
                                            options:
                                              type: object
                                              properties:
                                                variableId:
                                                  type: string
                                                isMultipleChoice:
                                                  type: boolean
                                                isSearchable:
                                                  type: boolean
                                                buttonLabel:
                                                  type: string
                                                searchInputPlaceholder:
                                                  type: string
                                                dynamicItems:
                                                  type: object
                                                  properties:
                                                    isEnabled: {}
                                                    titlesVariableId: {}
                                                    descriptionsVariableId: {}
                                                    pictureSrcsVariableId: {}
                                          required:
                                            - id
                                            - type
                                            - items
                                    - anyOf:
                                        - $ref: '#/components/schemas/Code'
                                        - $ref: '#/components/schemas/Redirect'
                                        - $ref: '#/components/schemas/SetVariable'
                                        - $ref: '#/components/schemas/TypebotLink'
                                        - $ref: '#/components/schemas/Wait'
                                        - $ref: '#/components/schemas/Jump'
                                        - $ref: '#/components/schemas/Return'
                                        - type: object
                                          properties:
                                            id:
                                              type: string
                                            outgoingEdgeId:
                                              type: string
                                            type:
                                              enum:
                                                - Condition
                                              type: string
                                            items:
                                              type: array
                                              items:
                                                type: object
                                                properties:
                                                  id: {}
                                                  blockId: {}
                                                  outgoingEdgeId: {}
                                                  content: {}
                                            options:
                                              not: {}
                                          required:
                                            - id
                                            - type
                                            - items
                                        - type: object
                                          properties:
                                            id:
                                              type: string
                                            outgoingEdgeId:
                                              type: string
                                            type:
                                              enum:
                                                - AB test
                                              type: string
                                            items:
                                              type: array
                                              prefixItems:
                                                - type: object
                                                  properties:
                                                    id: {}
                                                    blockId: {}
                                                    outgoingEdgeId: {}
                                                    path: {}
                                                - type: object
                                                  properties:
                                                    id: {}
                                                    blockId: {}
                                                    outgoingEdgeId: {}
                                                    path: {}
                                            options:
                                              type: object
                                              properties:
                                                aPercent:
                                                  type: number
                                                  minimum: 0
                                                  maximum: 100
                                          required:
                                            - id
                                            - type
                                            - items
                                    - anyOf:
                                        - $ref: '#/components/schemas/Chatwoot'
                                        - $ref: '#/components/schemas/GoogleAnalytics'
                                        - $ref: '#/components/schemas/Openai'
                                        - $ref: '#/components/schemas/Email'
                                        - $ref: '#/components/schemas/Pixel'
                                        - type: object
                                          properties:
                                            id:
                                              type: string
                                            outgoingEdgeId:
                                              type: string
                                            type:
                                              enum:
                                                - Google Sheets
                                              type: string
                                            options:
                                              anyOf:
                                                - type: object
                                                  properties:
                                                    credentialsId: {}
                                                    sheetId: {}
                                                    spreadsheetId: {}
                                                    action: {}
                                                    referenceCell: {}
                                                    filter: {}
                                                    cellsToExtract: {}
                                                    totalRowsToExtract: {}
                                                - $ref: '#/components/schemas/InsertARow'
                                                - type: object
                                                  properties:
                                                    credentialsId: {}
                                                    sheetId: {}
                                                    spreadsheetId: {}
                                                    action: {}
                                                    cellsToUpsert: {}
                                                    referenceCell: {}
                                                    filter: {}
                                                - type: object
                                                  properties:
                                                    credentialsId: {}
                                                    sheetId: {}
                                                    spreadsheetId: {}
                                                    action: {}
                                          required:
                                            - id
                                            - type
                                        - type: object
                                          properties:
                                            id:
                                              type: string
                                            outgoingEdgeId:
                                              type: string
                                            type:
                                              enum:
                                                - Make.com
                                              type: string
                                            options:
                                              type: object
                                              properties:
                                                variablesForTest:
                                                  type: array
                                                  items: {}
                                                responseVariableMapping:
                                                  type: array
                                                  items: {}
                                                isCustomBody:
                                                  type: boolean
                                                isExecutedOnClient:
                                                  type: boolean
                                                webhook:
                                                  type: object
                                                  properties:
                                                    id: {}
                                                    queryParams: {}
                                                    headers: {}
                                                    method: {}
                                                    url: {}
                                                    body: {}
                                                timeout:
                                                  type: number
                                                  minimum: 1
                                                  maximum: 120
                                                proxyCredentialsId:
                                                  type: string
                                            webhookId:
                                              type: string
                                          required:
                                            - id
                                            - type
                                        - type: object
                                          properties:
                                            id:
                                              type: string
                                            outgoingEdgeId:
                                              type: string
                                            type:
                                              enum:
                                                - Pabbly
                                              type: string
                                            options:
                                              type: object
                                              properties:
                                                variablesForTest:
                                                  type: array
                                                  items: {}
                                                responseVariableMapping:
                                                  type: array
                                                  items: {}
                                                isCustomBody:
                                                  type: boolean
                                                isExecutedOnClient:
                                                  type: boolean
                                                webhook:
                                                  type: object
                                                  properties:
                                                    id: {}
                                                    queryParams: {}
                                                    headers: {}
                                                    method: {}
                                                    url: {}
                                                    body: {}
                                                timeout:
                                                  type: number
                                                  minimum: 1
                                                  maximum: 120
                                                proxyCredentialsId:
                                                  type: string
                                            webhookId:
                                              type: string
                                          required:
                                            - id
                                            - type
                                        - type: object
                                          properties:
                                            id:
                                              type: string
                                            outgoingEdgeId:
                                              type: string
                                            type:
                                              enum:
                                                - Webhook
                                              type: string
                                              description: Legacy name for HTTP Request block
                                            options:
                                              type: object
                                              properties:
                                                variablesForTest:
                                                  type: array
                                                  items: {}
                                                responseVariableMapping:
                                                  type: array
                                                  items: {}
                                                isCustomBody:
                                                  type: boolean
                                                isExecutedOnClient:
                                                  type: boolean
                                                webhook:
                                                  type: object
                                                  properties:
                                                    id: {}
                                                    queryParams: {}
                                                    headers: {}
                                                    method: {}
                                                    url: {}
                                                    body: {}
                                                timeout:
                                                  type: number
                                                  minimum: 1
                                                  maximum: 120
                                                proxyCredentialsId:
                                                  type: string
                                            webhookId:
                                              type: string
                                          required:
                                            - id
                                            - type
                                        - type: object
                                          properties:
                                            id:
                                              type: string
                                            outgoingEdgeId:
                                              type: string
                                            type:
                                              enum:
                                                - Zapier
                                              type: string
                                            options:
                                              type: object
                                              properties:
                                                variablesForTest:
                                                  type: array
                                                  items: {}
                                                responseVariableMapping:
                                                  type: array
                                                  items: {}
                                                isCustomBody:
                                                  type: boolean
                                                isExecutedOnClient:
                                                  type: boolean
                                                webhook:
                                                  type: object
                                                  properties:
                                                    id: {}
                                                    queryParams: {}
                                                    headers: {}
                                                    method: {}
                                                    url: {}
                                                    body: {}
                                                timeout:
                                                  type: number
                                                  minimum: 1
                                                  maximum: 120
                                                proxyCredentialsId:
                                                  type: string
                                            webhookId:
                                              type: string
                                          required:
                                            - id
                                            - type
                            required:
                              - id
                              - title
                              - graphCoordinates
                              - blocks
                        theme:
                          type: object
                          properties:
                            general:
                              type: object
                              properties:
                                font:
                                  anyOf:
                                    - type: string
                                    - anyOf:
                                        - $ref: '#/components/schemas/Google'
                                        - type: object
                                          properties:
                                            type:
                                              const: Custom
                                            family:
                                              type: string
                                            css:
                                              type: string
                                            url:
                                              type: string
                                              description: Deprecated, use `css` instead
                                          required:
                                            - type
                                background:
                                  type: object
                                  properties:
                                    type:
                                      enum:
                                        - Color
                                        - Image
                                        - None
                                      type: string
                                    content:
                                      type: string
                                progressBar:
                                  type: object
                                  properties:
                                    isEnabled:
                                      type: boolean
                                    color:
                                      type: string
                                    backgroundColor:
                                      type: string
                                    placement:
                                      enum:
                                        - Top
                                        - Bottom
                                      type: string
                                    thickness:
                                      type: number
                                    position:
                                      enum:
                                        - fixed
                                        - absolute
                                      type: string
                            chat:
                              type: object
                              properties:
                                container:
                                  type: object
                                  properties:
                                    maxWidth:
                                      type: string
                                    maxHeight:
                                      type: string
                                    backgroundColor:
                                      type: string
                                    color:
                                      type: string
                                    blur:
                                      type: number
                                    opacity:
                                      type: number
                                      minimum: 0
                                      maximum: 1
                                    shadow:
                                      enum:
                                        - none
                                        - sm
                                        - md
                                        - lg
                                        - xl
                                        - 2xl
                                      type: string
                                    border:
                                      type: object
                                      properties:
                                        thickness:
                                          type: number
                                        color:
                                          type: string
                                        roundeness:
                                          enum:
                                            - none
                                            - medium
                                            - large
                                            - custom
                                          type: string
                                        customRoundeness:
                                          type: number
                                        opacity:
                                          type: number
                                          minimum: 0
                                          maximum: 1
                                hostAvatar:
                                  type: object
                                  properties:
                                    isEnabled:
                                      type: boolean
                                    url:
                                      type: string
                                guestAvatar:
                                  type: object
                                  properties:
                                    isEnabled:
                                      type: boolean
                                    url:
                                      type: string
                                hostBubbles:
                                  type: object
                                  properties:
                                    backgroundColor:
                                      type: string
                                    color:
                                      type: string
                                    blur:
                                      type: number
                                    opacity:
                                      type: number
                                      minimum: 0
                                      maximum: 1
                                    shadow:
                                      enum:
                                        - none
                                        - sm
                                        - md
                                        - lg
                                        - xl
                                        - 2xl
                                      type: string
                                    border:
                                      type: object
                                      properties:
                                        thickness:
                                          type: number
                                        color:
                                          type: string
                                        roundeness:
                                          enum:
                                            - none
                                            - medium
                                            - large
                                            - custom
                                          type: string
                                        customRoundeness:
                                          type: number
                                        opacity:
                                          type: number
                                          minimum: 0
                                          maximum: 1
                                guestBubbles:
                                  type: object
                                  properties:
                                    backgroundColor:
                                      type: string
                                    color:
                                      type: string
                                    blur:
                                      type: number
                                    opacity:
                                      type: number
                                      minimum: 0
                                      maximum: 1
                                    shadow:
                                      enum:
                                        - none
                                        - sm
                                        - md
                                        - lg
                                        - xl
                                        - 2xl
                                      type: string
                                    border:
                                      type: object
                                      properties:
                                        thickness:
                                          type: number
                                        color:
                                          type: string
                                        roundeness:
                                          enum:
                                            - none
                                            - medium
                                            - large
                                            - custom
                                          type: string
                                        customRoundeness:
                                          type: number
                                        opacity:
                                          type: number
                                          minimum: 0
                                          maximum: 1
                                buttons:
                                  type: object
                                  properties:
                                    backgroundColor:
                                      type: string
                                    color:
                                      type: string
                                    blur:
                                      type: number
                                    opacity:
                                      type: number
                                      minimum: 0
                                      maximum: 1
                                    shadow:
                                      enum:
                                        - none
                                        - sm
                                        - md
                                        - lg
                                        - xl
                                        - 2xl
                                      type: string
                                    border:
                                      type: object
                                      properties:
                                        thickness:
                                          type: number
                                        color:
                                          type: string
                                        roundeness:
                                          enum:
                                            - none
                                            - medium
                                            - large
                                            - custom
                                          type: string
                                        customRoundeness:
                                          type: number
                                        opacity:
                                          type: number
                                          minimum: 0
                                          maximum: 1
                                inputs:
                                  type: object
                                  properties:
                                    backgroundColor:
                                      type: string
                                    color:
                                      type: string
                                    blur:
                                      type: number
                                    opacity:
                                      type: number
                                      minimum: 0
                                      maximum: 1
                                    shadow:
                                      enum:
                                        - none
                                        - sm
                                        - md
                                        - lg
                                        - xl
                                        - 2xl
                                      type: string
                                    border:
                                      type: object
                                      properties:
                                        thickness:
                                          type: number
                                        color:
                                          type: string
                                        roundeness:
                                          enum:
                                            - none
                                            - medium
                                            - large
                                            - custom
                                          type: string
                                        customRoundeness:
                                          type: number
                                        opacity:
                                          type: number
                                          minimum: 0
                                          maximum: 1
                                    placeholderColor:
                                      type: string
                                roundness:
                                  enum:
                                    - none
                                    - medium
                                    - large
                                  type: string
                                  description: >-
                                    Deprecated, use
                                    `container.border.roundeness` instead
                                buttonsInput:
                                  type: object
                                  properties:
                                    layout:
                                      enum:
                                        - wrap
                                        - vertical
                                      type: string
                            customCss:
                              type: string
                        settings:
                          type: object
                          properties:
                            general:
                              type: object
                              properties:
                                isBrandingEnabled:
                                  type: boolean
                                isTypingEmulationEnabled:
                                  type: boolean
                                isInputPrefillEnabled:
                                  type: boolean
                                isHideQueryParamsEnabled:
                                  type: boolean
                                isNewResultOnRefreshEnabled:
                                  type: boolean
                                rememberUser:
                                  type: object
                                  properties:
                                    isEnabled:
                                      type: boolean
                                    storage:
                                      enum:
                                        - session
                                        - local
                                      type: string
                                systemMessages:
                                  type: object
                                  properties:
                                    invalidMessage:
                                      type: string
                                    botClosed:
                                      type: string
                                    networkErrorTitle:
                                      type: string
                                    networkErrorMessage:
                                      type: string
                                    popupBlockedTitle:
                                      type: string
                                    popupBlockedDescription:
                                      type: string
                                    popupBlockedButtonLabel:
                                      type: string
                                    fileUploadError:
                                      type: string
                                    fileUploadSizeError:
                                      type: string
                                    whatsAppPictureChoiceSelectLabel:
                                      type: string
                            typingEmulation:
                              type: object
                              properties:
                                enabled:
                                  type: boolean
                                speed:
                                  type: number
                                maxDelay:
                                  type: number
                                delayBetweenBubbles:
                                  type: number
                                  minimum: 0
                                  maximum: 5
                                isDisabledOnFirstMessage:
                                  type: boolean
                            metadata:
                              type: object
                              properties:
                                title:
                                  type: string
                                description:
                                  type: string
                                imageUrl:
                                  type: string
                                favIconUrl:
                                  type: string
                                customHeadCode:
                                  type: string
                                googleTagManagerId:
                                  type: string
                                allowIndexing:
                                  type: boolean
                            whatsApp:
                              type: object
                              properties:
                                isEnabled:
                                  type: boolean
                                startCondition:
                                  type: object
                                  properties:
                                    logicalOperator:
                                      enum:
                                        - OR
                                        - AND
                                      type: string
                                    comparisons:
                                      type: array
                                      items:
                                        type: object
                                        properties:
                                          id:
                                            type: string
                                          comparisonOperator:
                                            enum:
                                              - Equal to
                                              - Not equal
                                              - Contains
                                              - Does not contain
                                              - Greater than
                                              - Greater or equal to
                                              - Less than
                                              - Less or equal to
                                              - Is set
                                              - Is empty
                                              - Starts with
                                              - Ends with
                                              - Matches regex
                                              - Does not match regex
                                            type: string
                                          value:
                                            type: string
                                        required:
                                          - id
                                  required:
                                    - comparisons
                                sessionExpiryTimeout:
                                  type: number
                                  minimum: 0.01
                                  maximum: 48
                                  description: >-
                                    Expiration delay in hours after latest
                                    interaction
                                errorAndMarketingStatusWebhookForwardUrl:
                                  type: string
                                  format: uri
                                isWebhookForwardingEnabled:
                                  type: boolean
                                webhookForwardingEventTypes:
                                  type: array
                                  items:
                                    enum:
                                      - all
                                      - errorStatuses
                                      - marketingStatuses
                                    type: string
                            publicShare:
                              type: object
                              properties:
                                isEnabled:
                                  type: boolean
                            security:
                              type: object
                              properties:
                                allowedOrigins:
                                  type: array
                                  items:
                                    type: string
                        folderId:
                          anyOf:
                            - type: string
                            - type: 'null'
                        variables:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              name:
                                type: string
                              isSessionVariable:
                                type: boolean
                              value:
                                anyOf:
                                  - anyOf:
                                      - type: string
                                      - type: array
                                        items:
                                          anyOf:
                                            - type: string
                                            - type: 'null'
                                  - type: 'null'
                            required:
                              - id
                              - name
                        edges:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              from:
                                anyOf:
                                  - type: object
                                    properties:
                                      blockId:
                                        type: string
                                      itemId:
                                        type: string
                                      pathId:
                                        type: string
                                    required:
                                      - blockId
                                  - type: object
                                    properties:
                                      eventId:
                                        type: string
                                    required:
                                      - eventId
                              to:
                                type: object
                                properties:
                                  groupId:
                                    type: string
                                  blockId:
                                    type: string
                                required:
                                  - groupId
                            required:
                              - id
                              - from
                              - to
                        resultsTablePreferences:
                          anyOf:
                            - type: object
                              properties:
                                columnsOrder:
                                  type: array
                                  items:
                                    type: string
                                columnsVisibility:
                                  type: object
                                  propertyNames:
                                    type: string
                                  additionalProperties:
                                    type: boolean
                                columnsWidth:
                                  type: object
                                  propertyNames:
                                    type: string
                                  additionalProperties:
                                    type: number
                              required:
                                - columnsOrder
                                - columnsVisibility
                                - columnsWidth
                            - type: 'null'
                        publicId:
                          anyOf:
                            - type: string
                            - type: 'null'
                        customDomain:
                          anyOf:
                            - type: string
                            - type: 'null'
                        isClosed:
                          type: boolean
                        whatsAppCredentialsId:
                          anyOf:
                            - type: string
                            - type: 'null'
                        riskLevel:
                          anyOf:
                            - type: number
                            - type: 'null'
                        events:
                          type: 'null'
                        updatedAt:
                          type: string
                          format: date-time
                          x-native-type: date
                        spaceId:
                          anyOf:
                            - type: string
                            - type: 'null'
                overwrite:
                  type: boolean
                  description: >-
                    If true, even if we detect a conflict, we will overwrite
                    push the updates to the typebot
              required:
                - typebot
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  typebot:
                    type: object
                    properties:
                      version:
                        enum:
                          - '6'
                          - '6.1'
                        type: string
                      id:
                        type: string
                      name:
                        type: string
                      events:
                        type: array
                        prefixItems:
                          - type: object
                            properties:
                              id:
                                type: string
                              outgoingEdgeId:
                                type: string
                              graphCoordinates:
                                type: object
                                properties:
                                  x:
                                    type: number
                                  'y':
                                    type: number
                                required:
                                  - x
                                  - 'y'
                              type:
                                const: start
                            required:
                              - id
                              - graphCoordinates
                              - type
                        items:
                          anyOf:
                            - type: object
                              properties:
                                id:
                                  type: string
                                outgoingEdgeId:
                                  type: string
                                graphCoordinates:
                                  type: object
                                  properties:
                                    x:
                                      type: number
                                    'y':
                                      type: number
                                  required:
                                    - x
                                    - 'y'
                                type:
                                  const: command
                                options:
                                  type: object
                                  properties:
                                    command:
                                      type: string
                                    resumeAfter:
                                      type: boolean
                              required:
                                - id
                                - graphCoordinates
                                - type
                            - type: object
                              properties:
                                id:
                                  type: string
                                outgoingEdgeId:
                                  type: string
                                graphCoordinates:
                                  type: object
                                  properties:
                                    x:
                                      type: number
                                    'y':
                                      type: number
                                  required:
                                    - x
                                    - 'y'
                                type:
                                  const: reply
                                options:
                                  type: object
                                  properties:
                                    contentVariableId:
                                      type: string
                                    inputNameVariableId:
                                      type: string
                                    inputTypeVariableId:
                                      type: string
                              required:
                                - id
                                - graphCoordinates
                                - type
                            - type: object
                              properties:
                                id:
                                  type: string
                                outgoingEdgeId:
                                  type: string
                                graphCoordinates:
                                  type: object
                                  properties:
                                    x:
                                      type: number
                                    'y':
                                      type: number
                                  required:
                                    - x
                                    - 'y'
                                type:
                                  const: invalidReply
                                options:
                                  type: object
                                  properties:
                                    contentVariableId:
                                      type: string
                                    inputNameVariableId:
                                      type: string
                                    inputTypeVariableId:
                                      type: string
                              required:
                                - id
                                - graphCoordinates
                                - type
                      groups:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                            title:
                              type: string
                            graphCoordinates:
                              type: object
                              properties:
                                x:
                                  type: number
                                'y':
                                  type: number
                              required:
                                - x
                                - 'y'
                            blocks:
                              type: array
                              items:
                                anyOf:
                                  - $ref: '#/components/schemas/Start'
                                  - anyOf:
                                      - type: object
                                        properties:
                                          id:
                                            type: string
                                          outgoingEdgeId:
                                            type: string
                                          type:
                                            enum:
                                              - text
                                            type: string
                                          content:
                                            type: object
                                            properties:
                                              html:
                                                type: string
                                              richText:
                                                type: array
                                                items:
                                                  anyOf:
                                                    - {}
                                                    - type: 'null'
                                              plainText:
                                                type: string
                                        required:
                                          - id
                                          - type
                                      - $ref: '#/components/schemas/Image'
                                      - type: object
                                        properties:
                                          id:
                                            type: string
                                          outgoingEdgeId:
                                            type: string
                                          type:
                                            enum:
                                              - video
                                            type: string
                                          content:
                                            type: object
                                            properties:
                                              url:
                                                type: string
                                              id:
                                                type: string
                                              type:
                                                enum:
                                                  - url
                                                  - youtube
                                                  - vimeo
                                                  - tiktok
                                                  - gumlet
                                                type: string
                                              height: {}
                                              aspectRatio:
                                                type: string
                                              maxWidth:
                                                type: string
                                              queryParamsStr:
                                                type: string
                                              areControlsDisplayed:
                                                type: boolean
                                              isAutoplayEnabled:
                                                type: boolean
                                        required:
                                          - id
                                          - type
                                      - type: object
                                        properties:
                                          id:
                                            type: string
                                          outgoingEdgeId:
                                            type: string
                                          type:
                                            enum:
                                              - embed
                                            type: string
                                          content:
                                            type: object
                                            properties:
                                              url:
                                                type: string
                                              height: {}
                                              waitForEvent:
                                                type: object
                                                properties:
                                                  isEnabled:
                                                    type: boolean
                                                  name:
                                                    type: string
                                                  saveDataInVariableId:
                                                    type: string
                                        required:
                                          - id
                                          - type
                                      - $ref: '#/components/schemas/Audio'
                                  - anyOf:
                                      - $ref: '#/components/schemas/TextInput'
                                      - $ref: '#/components/schemas/EmailInput'
                                      - type: object
                                        properties:
                                          id:
                                            type: string
                                          outgoingEdgeId:
                                            type: string
                                          type:
                                            enum:
                                              - number input
                                            type: string
                                          options:
                                            type: object
                                            properties:
                                              variableId:
                                                type: string
                                              labels:
                                                type: object
                                                properties:
                                                  placeholder:
                                                    type: string
                                                  button:
                                                    type: string
                                              min: {}
                                              max: {}
                                              step: {}
                                              locale:
                                                type: string
                                                pattern: ^[a-z]{2}(-[A-Z]{2})?$
                                              style:
                                                enum:
                                                  - decimal
                                                  - currency
                                                  - percent
                                                  - unit
                                                type: string
                                              currency:
                                                type: string
                                              unit:
                                                enum:
                                                  - acre
                                                  - bit
                                                  - byte
                                                  - celsius
                                                  - centimeter
                                                  - day
                                                  - degree
                                                  - fahrenheit
                                                  - fluid-ounce
                                                  - foot
                                                  - gallon
                                                  - gigabit
                                                  - gigabyte
                                                  - gram
                                                  - hectare
                                                  - hour
                                                  - inch
                                                  - kilobit
                                                  - kilobyte
                                                  - kilogram
                                                  - kilometer
                                                  - liter
                                                  - megabit
                                                  - megabyte
                                                  - meter
                                                  - microsecond
                                                  - mile
                                                  - mile-scandinavian
                                                  - milliliter
                                                  - millimeter
                                                  - millisecond
                                                  - minute
                                                  - month
                                                  - nanosecond
                                                  - ounce
                                                  - percent
                                                  - petabyte
                                                  - pound
                                                  - second
                                                  - stone
                                                  - terabit
                                                  - terabyte
                                                  - week
                                                  - yard
                                                  - year
                                                type: string
                                        required:
                                          - id
                                          - type
                                      - $ref: '#/components/schemas/UrlInput'
                                      - $ref: '#/components/schemas/PhoneNumberInput'
                                      - $ref: '#/components/schemas/DateInput'
                                      - $ref: '#/components/schemas/TimeInput'
                                      - $ref: '#/components/schemas/PaymentInput'
                                      - type: object
                                        properties:
                                          id:
                                            type: string
                                          outgoingEdgeId:
                                            type: string
                                          type:
                                            const: rating input
                                          options:
                                            type: object
                                            properties:
                                              variableId:
                                                type: string
                                              buttonType:
                                                anyOf:
                                                  - const: Icons
                                                  - const: Numbers
                                              length:
                                                type: number
                                              startsAt: {}
                                              labels:
                                                type: object
                                                properties:
                                                  left:
                                                    type: string
                                                  right:
                                                    type: string
                                                  button:
                                                    type: string
                                              customIcon:
                                                type: object
                                                properties:
                                                  isEnabled:
                                                    type: boolean
                                                  svg:
                                                    type: string
                                              isOneClickSubmitEnabled:
                                                type: boolean
                                        required:
                                          - id
                                          - type
                                      - $ref: '#/components/schemas/Cards'
                                      - $ref: '#/components/schemas/ChoiceInput'
                                      - $ref: '#/components/schemas/FileInput'
                                      - $ref: '#/components/schemas/PictureChoiceInput'
                                  - anyOf:
                                      - $ref: '#/components/schemas/Code'
                                      - $ref: '#/components/schemas/Redirect'
                                      - $ref: '#/components/schemas/SetVariable'
                                      - $ref: '#/components/schemas/TypebotLink'
                                      - $ref: '#/components/schemas/Wait'
                                      - $ref: '#/components/schemas/Jump'
                                      - $ref: '#/components/schemas/Return'
                                      - $ref: '#/components/schemas/Condition'
                                      - $ref: '#/components/schemas/AbTest'
                                      - $ref: '#/components/schemas/Webhook'
                                  - anyOf:
                                      - $ref: '#/components/schemas/Chatwoot'
                                      - type: object
                                        properties:
                                          id:
                                            type: string
                                          outgoingEdgeId:
                                            type: string
                                          type:
                                            enum:
                                              - Google Analytics
                                            type: string
                                          options:
                                            type: object
                                            properties:
                                              trackingId:
                                                type: string
                                              category:
                                                type: string
                                              action:
                                                type: string
                                              label:
                                                type: string
                                              value: {}
                                              sendTo:
                                                type: string
                                        required:
                                          - id
                                          - type
                                      - type: object
                                        properties:
                                          id:
                                            type: string
                                          outgoingEdgeId:
                                            type: string
                                          type:
                                            enum:
                                              - OpenAI
                                            type: string
                                          options:
                                            anyOf:
                                              - type: object
                                                properties:
                                                  task:
                                                    not: {}
                                                  credentialsId:
                                                    type: string
                                                  baseUrl:
                                                    type: string
                                                  apiVersion:
                                                    type: string
                                              - type: object
                                                properties:
                                                  task:
                                                    const: Create chat completion
                                                  model:
                                                    type: string
                                                  messages:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                  advancedSettings:
                                                    type: object
                                                    properties:
                                                      temperature: {}
                                                  responseMapping:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                  credentialsId:
                                                    type: string
                                                  baseUrl:
                                                    type: string
                                                  apiVersion:
                                                    type: string
                                                required:
                                                  - task
                                              - $ref: '#/components/schemas/CreateImage'
                                              - $ref: '#/components/schemas/CreateSpeech'
                                        required:
                                          - id
                                          - type
                                      - $ref: '#/components/schemas/Email'
                                      - $ref: '#/components/schemas/Pixel'
                                      - $ref: '#/components/schemas/GoogleSheets'
                                      - $ref: '#/components/schemas/Make.com'
                                      - $ref: '#/components/schemas/Pabbly'
                                      - type: object
                                        properties:
                                          id:
                                            type: string
                                          outgoingEdgeId:
                                            type: string
                                          type:
                                            enum:
                                              - Webhook
                                            type: string
                                            description: Legacy name for HTTP Request block
                                          options:
                                            type: object
                                            properties:
                                              variablesForTest:
                                                type: array
                                                items:
                                                  type: object
                                                  properties:
                                                    id: {}
                                                    variableId: {}
                                                    value: {}
                                              responseVariableMapping:
                                                type: array
                                                items:
                                                  type: object
                                                  properties:
                                                    id: {}
                                                    variableId: {}
                                                    bodyPath: {}
                                              isCustomBody:
                                                type: boolean
                                              isExecutedOnClient:
                                                type: boolean
                                              webhook:
                                                type: object
                                                properties:
                                                  queryParams:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                  headers:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                  method:
                                                    enum:
                                                      - POST
                                                      - GET
                                                      - PUT
                                                      - DELETE
                                                      - PATCH
                                                      - HEAD
                                                      - CONNECT
                                                      - OPTIONS
                                                      - TRACE
                                                    type: string
                                                  url:
                                                    type: string
                                                  body:
                                                    type: string
                                              timeout:
                                                type: number
                                                minimum: 1
                                                maximum: 120
                                              proxyCredentialsId:
                                                type: string
                                        required:
                                          - id
                                          - type
                                      - $ref: '#/components/schemas/Zapier'
                                  - anyOf:
                                      - type: object
                                        properties:
                                          id:
                                            type: string
                                          outgoingEdgeId:
                                            type: string
                                          type:
                                            const: openai
                                          options:
                                            anyOf:
                                              - type: object
                                                properties:
                                                  baseUrl:
                                                    type: string
                                                  apiVersion:
                                                    type: string
                                                  credentialsId:
                                                    type: string
                                                  action:
                                                    not: {}
                                              - type: object
                                                properties:
                                                  baseUrl:
                                                    type: string
                                                  apiVersion:
                                                    type: string
                                                  credentialsId:
                                                    type: string
                                                  action:
                                                    const: Create chat completion
                                                  model:
                                                    type: string
                                                  messages:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                  tools:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                  temperature: {}
                                                  responseMapping:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                required:
                                                  - action
                                              - $ref: '#/components/schemas/AskAssistant'
                                              - type: object
                                                properties:
                                                  baseUrl:
                                                    type: string
                                                  apiVersion:
                                                    type: string
                                                  credentialsId:
                                                    type: string
                                                  action:
                                                    const: Ask Model
                                                  model:
                                                    type: string
                                                  message:
                                                    type: string
                                                  instructions:
                                                    type: string
                                                  responseIdVariableId:
                                                    type: string
                                                  fileSearchVectorStoreIds:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                  fileSearchMaxNumResults: {}
                                                  fileSearchScoreThreshold: {}
                                                  webSearchEnabled:
                                                    type: boolean
                                                  codeInterpreterEnabled:
                                                    type: boolean
                                                  functions:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                  temperature: {}
                                                  responseMapping:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                required:
                                                  - action
                                              - type: object
                                                properties:
                                                  baseUrl:
                                                    type: string
                                                  apiVersion:
                                                    type: string
                                                  credentialsId:
                                                    type: string
                                                  action:
                                                    const: Generate variables
                                                  model:
                                                    type: string
                                                  prompt:
                                                    type: string
                                                  variablesToExtract:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                required:
                                                  - action
                                              - type: object
                                                properties:
                                                  baseUrl:
                                                    type: string
                                                  apiVersion:
                                                    type: string
                                                  credentialsId:
                                                    type: string
                                                  action:
                                                    const: Create speech
                                                  model:
                                                    type: string
                                                  input:
                                                    type: string
                                                  instructions:
                                                    type: string
                                                  voice:
                                                    enum:
                                                      - alloy
                                                      - echo
                                                      - fable
                                                      - onyx
                                                      - nova
                                                      - shimmer
                                                    type: string
                                                  saveUrlInVariableId:
                                                    type: string
                                                required:
                                                  - action
                                              - $ref: '#/components/schemas/CreateTranscription'
                                        required:
                                          - id
                                          - type
                                      - $ref: '#/components/schemas/CalCom'
                                      - $ref: '#/components/schemas/ChatNode'
                                      - $ref: '#/components/schemas/QrCode'
                                      - type: object
                                        properties:
                                          id:
                                            type: string
                                          outgoingEdgeId:
                                            type: string
                                          type:
                                            const: dify-ai
                                          options:
                                            anyOf:
                                              - type: object
                                                properties:
                                                  credentialsId:
                                                    type: string
                                                  action:
                                                    not: {}
                                              - type: object
                                                properties:
                                                  credentialsId:
                                                    type: string
                                                  action:
                                                    const: Create Chat Message
                                                  query:
                                                    type: string
                                                  conversationVariableId:
                                                    type: string
                                                  user:
                                                    type: string
                                                  inputs:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                  responseMapping: {}
                                                required:
                                                  - action
                                              - $ref: '#/components/schemas/QueryKnowledgeBase'
                                        required:
                                          - id
                                          - type
                                      - type: object
                                        properties:
                                          id:
                                            type: string
                                          outgoingEdgeId:
                                            type: string
                                          type:
                                            const: mistral
                                          options:
                                            anyOf:
                                              - type: object
                                                properties:
                                                  credentialsId:
                                                    type: string
                                                  action:
                                                    not: {}
                                              - type: object
                                                properties:
                                                  credentialsId:
                                                    type: string
                                                  action:
                                                    const: Create chat completion
                                                  model:
                                                    type: string
                                                  messages:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                  tools:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                  temperature: {}
                                                  responseMapping:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                required:
                                                  - action
                                              - type: object
                                                properties:
                                                  credentialsId:
                                                    type: string
                                                  action:
                                                    const: Generate variables
                                                  model:
                                                    type: string
                                                  prompt:
                                                    type: string
                                                  variablesToExtract:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                required:
                                                  - action
                                        required:
                                          - id
                                          - type
                                      - $ref: '#/components/schemas/Elevenlabs'
                                      - type: object
                                        properties:
                                          id:
                                            type: string
                                          outgoingEdgeId:
                                            type: string
                                          type:
                                            const: anthropic
                                          options:
                                            anyOf:
                                              - type: object
                                                properties:
                                                  credentialsId:
                                                    type: string
                                                  action:
                                                    not: {}
                                              - type: object
                                                properties:
                                                  credentialsId:
                                                    type: string
                                                  action:
                                                    const: Create Chat Message
                                                  model:
                                                    type: string
                                                  messages:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                  tools:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                  systemMessage:
                                                    type: string
                                                  temperature: {}
                                                  maxTokens: {}
                                                  responseMapping:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                required:
                                                  - action
                                              - type: object
                                                properties:
                                                  credentialsId:
                                                    type: string
                                                  action:
                                                    const: Generate variables
                                                  model:
                                                    type: string
                                                  prompt:
                                                    type: string
                                                  variablesToExtract:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                required:
                                                  - action
                                        required:
                                          - id
                                          - type
                                      - type: object
                                        properties:
                                          id:
                                            type: string
                                          outgoingEdgeId:
                                            type: string
                                          type:
                                            const: together-ai
                                          options:
                                            anyOf:
                                              - type: object
                                                properties:
                                                  credentialsId:
                                                    type: string
                                                  action:
                                                    not: {}
                                              - type: object
                                                properties:
                                                  credentialsId:
                                                    type: string
                                                  action:
                                                    const: Create chat completion
                                                  model:
                                                    type: string
                                                  messages:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                  tools:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                  temperature: {}
                                                  responseMapping:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                required:
                                                  - action
                                        required:
                                          - id
                                          - type
                                      - type: object
                                        properties:
                                          id:
                                            type: string
                                          outgoingEdgeId:
                                            type: string
                                          type:
                                            const: open-router
                                          options:
                                            anyOf:
                                              - type: object
                                                properties:
                                                  credentialsId:
                                                    type: string
                                                  action:
                                                    not: {}
                                              - type: object
                                                properties:
                                                  credentialsId:
                                                    type: string
                                                  action:
                                                    const: Create chat completion
                                                  model:
                                                    type: string
                                                  messages:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                  tools:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                  temperature: {}
                                                  responseMapping:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                required:
                                                  - action
                                        required:
                                          - id
                                          - type
                                      - $ref: '#/components/schemas/Nocodb'
                                      - $ref: '#/components/schemas/Segment'
                                      - type: object
                                        properties:
                                          id:
                                            type: string
                                          outgoingEdgeId:
                                            type: string
                                          type:
                                            const: groq
                                          options:
                                            anyOf:
                                              - type: object
                                                properties:
                                                  credentialsId:
                                                    type: string
                                                  action:
                                                    not: {}
                                              - type: object
                                                properties:
                                                  credentialsId:
                                                    type: string
                                                  action:
                                                    const: Create chat completion
                                                  model:
                                                    type: string
                                                  messages:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                  tools:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                  temperature: {}
                                                  responseMapping:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                required:
                                                  - action
                                        required:
                                          - id
                                          - type
                                      - $ref: '#/components/schemas/Zendesk'
                                      - $ref: '#/components/schemas/Posthog'
                                      - type: object
                                        properties:
                                          id:
                                            type: string
                                          outgoingEdgeId:
                                            type: string
                                          type:
                                            const: perplexity
                                          options:
                                            anyOf:
                                              - type: object
                                                properties:
                                                  credentialsId:
                                                    type: string
                                                  action:
                                                    not: {}
                                              - type: object
                                                properties:
                                                  credentialsId:
                                                    type: string
                                                  action:
                                                    const: Create chat completion
                                                  model:
                                                    type: string
                                                  messages:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                  tools:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                  temperature: {}
                                                  responseMapping:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                required:
                                                  - action
                                        required:
                                          - id
                                          - type
                                      - type: object
                                        properties:
                                          id:
                                            type: string
                                          outgoingEdgeId:
                                            type: string
                                          type:
                                            const: deepseek
                                          options:
                                            anyOf:
                                              - type: object
                                                properties:
                                                  credentialsId:
                                                    type: string
                                                  action:
                                                    not: {}
                                              - type: object
                                                properties:
                                                  credentialsId:
                                                    type: string
                                                  action:
                                                    const: Create chat completion
                                                  model:
                                                    type: string
                                                  messages:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                  tools:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                  temperature: {}
                                                  responseMapping:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                required:
                                                  - action
                                        required:
                                          - id
                                          - type
                                      - type: object
                                        properties:
                                          id:
                                            type: string
                                          outgoingEdgeId:
                                            type: string
                                          type:
                                            const: blink
                                          options:
                                            anyOf:
                                              - type: object
                                                properties:
                                                  credentialsId:
                                                    type: string
                                                  action:
                                                    not: {}
                                              - $ref: '#/components/schemas/GetUsers'
                                              - type: object
                                                properties:
                                                  credentialsId:
                                                    type: string
                                                  action:
                                                    const: Send Feed Event
                                                  categoryId:
                                                    type: string
                                                  ribbonColor:
                                                    type: string
                                                  sections:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                  allowComments:
                                                    type: boolean
                                                  allowReactions:
                                                    type: boolean
                                                  userIds:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                  groupIds:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                  pushNotification:
                                                    type: object
                                                    properties:
                                                      title: {}
                                                      text: {}
                                                  responseMapping:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - {}
                                                        - type: 'null'
                                                required:
                                                  - action
                                              - type: object
                                                properties:
                                                  credentialsId:
                                                    type: string
                                                  action:
                                                    const: Redirect
                                                  url:
                                                    type: string
                                                required:
                                                  - action
                                        required:
                                          - id
                                          - type
                                      - $ref: '#/components/schemas/Gmail'
                          required:
                            - id
                            - title
                            - graphCoordinates
                            - blocks
                      edges:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                            from:
                              anyOf:
                                - type: object
                                  properties:
                                    blockId:
                                      type: string
                                    itemId:
                                      type: string
                                    pathId:
                                      type: string
                                  required:
                                    - blockId
                                - type: object
                                  properties:
                                    eventId:
                                      type: string
                                  required:
                                    - eventId
                            to:
                              type: object
                              properties:
                                groupId:
                                  type: string
                                blockId:
                                  type: string
                              required:
                                - groupId
                          required:
                            - id
                            - from
                            - to
                      variables:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                            name:
                              type: string
                            isSessionVariable:
                              type: boolean
                            value:
                              anyOf:
                                - anyOf:
                                    - type: string
                                    - type: array
                                      items:
                                        anyOf:
                                          - type: string
                                          - type: 'null'
                                - type: 'null'
                          required:
                            - id
                            - name
                      theme:
                        type: object
                        properties:
                          general:
                            type: object
                            properties:
                              font:
                                anyOf:
                                  - type: string
                                  - anyOf:
                                      - $ref: '#/components/schemas/Google'
                                      - type: object
                                        properties:
                                          type:
                                            const: Custom
                                          family:
                                            type: string
                                          css:
                                            type: string
                                          url:
                                            type: string
                                            description: Deprecated, use `css` instead
                                        required:
                                          - type
                              background:
                                type: object
                                properties:
                                  type:
                                    enum:
                                      - Color
                                      - Image
                                      - None
                                    type: string
                                  content:
                                    type: string
                              progressBar:
                                type: object
                                properties:
                                  isEnabled:
                                    type: boolean
                                  color:
                                    type: string
                                  backgroundColor:
                                    type: string
                                  placement:
                                    enum:
                                      - Top
                                      - Bottom
                                    type: string
                                  thickness:
                                    type: number
                                  position:
                                    enum:
                                      - fixed
                                      - absolute
                                    type: string
                          chat:
                            type: object
                            properties:
                              container:
                                type: object
                                properties:
                                  maxWidth:
                                    type: string
                                  maxHeight:
                                    type: string
                                  backgroundColor:
                                    type: string
                                  color:
                                    type: string
                                  blur:
                                    type: number
                                  opacity:
                                    type: number
                                    minimum: 0
                                    maximum: 1
                                  shadow:
                                    enum:
                                      - none
                                      - sm
                                      - md
                                      - lg
                                      - xl
                                      - 2xl
                                    type: string
                                  border:
                                    type: object
                                    properties:
                                      thickness:
                                        type: number
                                      color:
                                        type: string
                                      roundeness:
                                        enum:
                                          - none
                                          - medium
                                          - large
                                          - custom
                                        type: string
                                      customRoundeness:
                                        type: number
                                      opacity:
                                        type: number
                                        minimum: 0
                                        maximum: 1
                              hostAvatar:
                                type: object
                                properties:
                                  isEnabled:
                                    type: boolean
                                  url:
                                    type: string
                              guestAvatar:
                                type: object
                                properties:
                                  isEnabled:
                                    type: boolean
                                  url:
                                    type: string
                              hostBubbles:
                                type: object
                                properties:
                                  backgroundColor:
                                    type: string
                                  color:
                                    type: string
                                  blur:
                                    type: number
                                  opacity:
                                    type: number
                                    minimum: 0
                                    maximum: 1
                                  shadow:
                                    enum:
                                      - none
                                      - sm
                                      - md
                                      - lg
                                      - xl
                                      - 2xl
                                    type: string
                                  border:
                                    type: object
                                    properties:
                                      thickness:
                                        type: number
                                      color:
                                        type: string
                                      roundeness:
                                        enum:
                                          - none
                                          - medium
                                          - large
                                          - custom
                                        type: string
                                      customRoundeness:
                                        type: number
                                      opacity:
                                        type: number
                                        minimum: 0
                                        maximum: 1
                              guestBubbles:
                                type: object
                                properties:
                                  backgroundColor:
                                    type: string
                                  color:
                                    type: string
                                  blur:
                                    type: number
                                  opacity:
                                    type: number
                                    minimum: 0
                                    maximum: 1
                                  shadow:
                                    enum:
                                      - none
                                      - sm
                                      - md
                                      - lg
                                      - xl
                                      - 2xl
                                    type: string
                                  border:
                                    type: object
                                    properties:
                                      thickness:
                                        type: number
                                      color:
                                        type: string
                                      roundeness:
                                        enum:
                                          - none
                                          - medium
                                          - large
                                          - custom
                                        type: string
                                      customRoundeness:
                                        type: number
                                      opacity:
                                        type: number
                                        minimum: 0
                                        maximum: 1
                              buttons:
                                type: object
                                properties:
                                  backgroundColor:
                                    type: string
                                  color:
                                    type: string
                                  blur:
                                    type: number
                                  opacity:
                                    type: number
                                    minimum: 0
                                    maximum: 1
                                  shadow:
                                    enum:
                                      - none
                                      - sm
                                      - md
                                      - lg
                                      - xl
                                      - 2xl
                                    type: string
                                  border:
                                    type: object
                                    properties:
                                      thickness:
                                        type: number
                                      color:
                                        type: string
                                      roundeness:
                                        enum:
                                          - none
                                          - medium
                                          - large
                                          - custom
                                        type: string
                                      customRoundeness:
                                        type: number
                                      opacity:
                                        type: number
                                        minimum: 0
                                        maximum: 1
                              inputs:
                                type: object
                                properties:
                                  backgroundColor:
                                    type: string
                                  color:
                                    type: string
                                  blur:
                                    type: number
                                  opacity:
                                    type: number
                                    minimum: 0
                                    maximum: 1
                                  shadow:
                                    enum:
                                      - none
                                      - sm
                                      - md
                                      - lg
                                      - xl
                                      - 2xl
                                    type: string
                                  border:
                                    type: object
                                    properties:
                                      thickness:
                                        type: number
                                      color:
                                        type: string
                                      roundeness:
                                        enum:
                                          - none
                                          - medium
                                          - large
                                          - custom
                                        type: string
                                      customRoundeness:
                                        type: number
                                      opacity:
                                        type: number
                                        minimum: 0
                                        maximum: 1
                                  placeholderColor:
                                    type: string
                              roundness:
                                enum:
                                  - none
                                  - medium
                                  - large
                                type: string
                                description: >-
                                  Deprecated, use `container.border.roundeness`
                                  instead
                              buttonsInput:
                                type: object
                                properties:
                                  layout:
                                    enum:
                                      - wrap
                                      - vertical
                                    type: string
                          customCss:
                            type: string
                      selectedThemeTemplateId:
                        anyOf:
                          - type: string
                          - type: 'null'
                      settings:
                        type: object
                        properties:
                          general:
                            type: object
                            properties:
                              isBrandingEnabled:
                                type: boolean
                              isTypingEmulationEnabled:
                                type: boolean
                              isInputPrefillEnabled:
                                type: boolean
                              isHideQueryParamsEnabled:
                                type: boolean
                              isNewResultOnRefreshEnabled:
                                type: boolean
                              rememberUser:
                                type: object
                                properties:
                                  isEnabled:
                                    type: boolean
                                  storage:
                                    enum:
                                      - session
                                      - local
                                    type: string
                              systemMessages:
                                type: object
                                properties:
                                  invalidMessage:
                                    type: string
                                  botClosed:
                                    type: string
                                  networkErrorTitle:
                                    type: string
                                  networkErrorMessage:
                                    type: string
                                  popupBlockedTitle:
                                    type: string
                                  popupBlockedDescription:
                                    type: string
                                  popupBlockedButtonLabel:
                                    type: string
                                  fileUploadError:
                                    type: string
                                  fileUploadSizeError:
                                    type: string
                                  whatsAppPictureChoiceSelectLabel:
                                    type: string
                          typingEmulation:
                            type: object
                            properties:
                              enabled:
                                type: boolean
                              speed:
                                type: number
                              maxDelay:
                                type: number
                              delayBetweenBubbles:
                                type: number
                                minimum: 0
                                maximum: 5
                              isDisabledOnFirstMessage:
                                type: boolean
                          metadata:
                            type: object
                            properties:
                              title:
                                type: string
                              description:
                                type: string
                              imageUrl:
                                type: string
                              favIconUrl:
                                type: string
                              customHeadCode:
                                type: string
                              googleTagManagerId:
                                type: string
                              allowIndexing:
                                type: boolean
                          whatsApp: {}
                          publicShare:
                            type: object
                            properties:
                              isEnabled:
                                type: boolean
                          security:
                            type: object
                            properties:
                              allowedOrigins:
                                type: array
                                items:
                                  type: string
                      createdAt:
                        type: string
                        format: date-time
                        x-native-type: date
                      updatedAt:
                        type: string
                        format: date-time
                        x-native-type: date
                      icon:
                        anyOf:
                          - type: string
                          - type: 'null'
                      folderId:
                        anyOf:
                          - type: string
                          - type: 'null'
                      publicId:
                        anyOf:
                          - type: string
                          - type: 'null'
                      customDomain:
                        anyOf:
                          - type: string
                          - type: 'null'
                      workspaceId:
                        type: string
                        minLength: 1
                      resultsTablePreferences:
                        anyOf:
                          - type: object
                            properties:
                              columnsOrder:
                                type: array
                                items:
                                  type: string
                              columnsVisibility:
                                type: object
                                propertyNames:
                                  type: string
                                additionalProperties:
                                  type: boolean
                              columnsWidth:
                                type: object
                                propertyNames:
                                  type: string
                                additionalProperties:
                                  type: number
                            required:
                              - columnsOrder
                              - columnsVisibility
                              - columnsWidth
                          - type: 'null'
                      isArchived:
                        type: boolean
                      isClosed:
                        type: boolean
                      whatsAppCredentialsId:
                        anyOf:
                          - type: string
                          - type: 'null'
                      riskLevel:
                        anyOf:
                          - type: number
                          - type: 'null'
                      spaceId:
                        anyOf:
                          - type: string
                          - type: 'null'
                    required:
                      - version
                      - id
                      - name
                      - events
                      - groups
                      - edges
                      - variables
                      - theme
                      - selectedThemeTemplateId
                      - settings
                      - createdAt
                      - updatedAt
                      - icon
                      - folderId
                      - publicId
                      - customDomain
                      - workspaceId
                      - resultsTablePreferences
                      - isArchived
                      - isClosed
                      - whatsAppCredentialsId
                      - riskLevel
                      - spaceId
                required:
                  - typebot
        '400':
          description: '400'
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      defined:
                        const: true
                      code:
                        const: BAD_REQUEST
                      status:
                        const: 400
                      message:
                        type: string
                        default: Bad Request
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
                  - type: object
                    properties:
                      defined:
                        const: false
                      code:
                        type: string
                      status:
                        type: number
                      message:
                        type: string
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
        '401':
          description: '401'
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      defined:
                        const: true
                      code:
                        const: UNAUTHORIZED
                      status:
                        const: 401
                      message:
                        type: string
                        default: Unauthorized
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
                  - type: object
                    properties:
                      defined:
                        const: false
                      code:
                        type: string
                      status:
                        type: number
                      message:
                        type: string
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
        '403':
          description: '403'
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      defined:
                        const: true
                      code:
                        const: FORBIDDEN
                      status:
                        const: 403
                      message:
                        type: string
                        default: Forbidden
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
                  - type: object
                    properties:
                      defined:
                        const: false
                      code:
                        type: string
                      status:
                        type: number
                      message:
                        type: string
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
        '404':
          description: '404'
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      defined:
                        const: true
                      code:
                        const: NOT_FOUND
                      status:
                        const: 404
                      message:
                        type: string
                        default: Not Found
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
                  - type: object
                    properties:
                      defined:
                        const: false
                      code:
                        type: string
                      status:
                        type: number
                      message:
                        type: string
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
        '500':
          description: '500'
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      defined:
                        const: true
                      code:
                        const: INTERNAL_SERVER_ERROR
                      status:
                        const: 500
                      message:
                        type: string
                        default: Internal Server Error
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
                  - type: object
                    properties:
                      defined:
                        const: false
                      code:
                        type: string
                      status:
                        type: number
                      message:
                        type: string
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
      security:
        - Authorization: []
components:
  schemas:
    Start:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          const: start
        label:
          type: string
      required:
        - id
        - type
        - label
    Text:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - text
          type: string
        content:
          type: object
          properties:
            html:
              type: string
            richText:
              type: array
              items: {}
            plainText:
              type: string
      required:
        - id
        - type
    Image:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - image
          type: string
        content:
          type: object
          properties:
            url:
              type: string
            clickLink:
              type: object
              properties:
                url:
                  type: string
                alt:
                  type: string
      required:
        - id
        - type
    Video:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - video
          type: string
        content:
          type: object
          properties:
            url:
              type: string
            id:
              type: string
            type:
              enum:
                - url
                - youtube
                - vimeo
                - tiktok
                - gumlet
              type: string
            height:
              anyOf:
                - type: string
                - type: number
            aspectRatio:
              type: string
            maxWidth:
              type: string
            queryParamsStr:
              type: string
            areControlsDisplayed:
              type: boolean
            isAutoplayEnabled:
              type: boolean
      required:
        - id
        - type
    Embed:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - embed
          type: string
        content:
          type: object
          properties:
            url:
              type: string
            height:
              anyOf:
                - type: string
                - type: number
            waitForEvent:
              type: object
              properties:
                isEnabled:
                  type: boolean
                name:
                  type: string
                saveDataInVariableId:
                  type: string
      required:
        - id
        - type
    Audio:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - audio
          type: string
        content:
          type: object
          properties:
            url:
              type: string
            isAutoplayEnabled:
              type: boolean
      required:
        - id
        - type
    TextInput:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - text input
          type: string
        options:
          type: object
          properties:
            labels:
              type: object
              properties:
                placeholder:
                  type: string
                button:
                  type: string
            variableId:
              type: string
            isLong:
              type: boolean
            inputMode:
              enum:
                - text
                - decimal
                - numeric
                - tel
                - search
                - email
                - url
              type: string
            audioClip:
              type: object
              properties:
                isEnabled:
                  type: boolean
                saveVariableId:
                  type: string
                visibility:
                  enum:
                    - Auto
                    - Public
                    - Private
                  type: string
            attachments:
              type: object
              properties:
                isEnabled:
                  type: boolean
                saveVariableId:
                  type: string
                visibility:
                  enum:
                    - Auto
                    - Public
                    - Private
                  type: string
      required:
        - id
        - type
    EmailInput:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - email input
          type: string
        options:
          type: object
          properties:
            variableId:
              type: string
            labels:
              type: object
              properties:
                placeholder:
                  type: string
                button:
                  type: string
            retryMessageContent:
              type: string
      required:
        - id
        - type
    NumberInput:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - number input
          type: string
        options:
          type: object
          properties:
            variableId:
              type: string
            labels:
              type: object
              properties:
                placeholder:
                  type: string
                button:
                  type: string
            min:
              anyOf:
                - type: string
                - type: number
            max:
              anyOf:
                - type: string
                - type: number
            step:
              anyOf:
                - type: string
                - type: number
            locale:
              type: string
              pattern: ^[a-z]{2}(-[A-Z]{2})?$
            style:
              enum:
                - decimal
                - currency
                - percent
                - unit
              type: string
            currency:
              type: string
            unit:
              enum:
                - acre
                - bit
                - byte
                - celsius
                - centimeter
                - day
                - degree
                - fahrenheit
                - fluid-ounce
                - foot
                - gallon
                - gigabit
                - gigabyte
                - gram
                - hectare
                - hour
                - inch
                - kilobit
                - kilobyte
                - kilogram
                - kilometer
                - liter
                - megabit
                - megabyte
                - meter
                - microsecond
                - mile
                - mile-scandinavian
                - milliliter
                - millimeter
                - millisecond
                - minute
                - month
                - nanosecond
                - ounce
                - percent
                - petabyte
                - pound
                - second
                - stone
                - terabit
                - terabyte
                - week
                - yard
                - year
              type: string
      required:
        - id
        - type
    UrlInput:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - url input
          type: string
        options:
          type: object
          properties:
            variableId:
              type: string
            labels:
              type: object
              properties:
                placeholder:
                  type: string
                button:
                  type: string
            retryMessageContent:
              type: string
      required:
        - id
        - type
    PhoneNumberInput:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - phone number input
          type: string
        options:
          type: object
          properties:
            variableId:
              type: string
            labels:
              type: object
              properties:
                placeholder:
                  type: string
                button:
                  type: string
            retryMessageContent:
              type: string
            defaultCountryCode:
              type: string
      required:
        - id
        - type
    DateInput:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - date input
          type: string
        options:
          type: object
          properties:
            variableId:
              type: string
            labels:
              type: object
              properties:
                button:
                  type: string
                from:
                  type: string
                to:
                  type: string
                separator:
                  type: string
                  description: >-
                    Word joining the start and end date in the submitted range
                    value, e.g. the 'to' in '01/01/2024 to 05/01/2024'
            hasTime:
              type: boolean
            isRange:
              type: boolean
            format:
              type: string
              description: 'Format of the string is based on Unicode Technical Standard #35'
            min:
              type: string
            max:
              type: string
      required:
        - id
        - type
    TimeInput:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - time input
          type: string
        options:
          type: object
          properties:
            variableId:
              type: string
            labels:
              type: object
              properties:
                button:
                  type: string
            format:
              type: string
              description: 'Format of the string is based on Unicode Technical Standard #35'
      required:
        - id
        - type
    PaymentInput:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - payment input
          type: string
        options:
          type: object
          properties:
            variableId:
              type: string
            provider:
              enum:
                - Stripe
              type: string
            labels:
              type: object
              properties:
                button:
                  type: string
                success:
                  type: string
            additionalInformation:
              type: object
              properties:
                description:
                  type: string
                name:
                  type: string
                email:
                  type: string
                phoneNumber:
                  type: string
                address:
                  type: object
                  properties:
                    country:
                      type: string
                    line1:
                      type: string
                    line2:
                      type: string
                    state:
                      type: string
                    city:
                      type: string
                    postalCode:
                      type: string
            credentialsId:
              type: string
            currency:
              type: string
            amount:
              type: string
            retryMessageContent:
              type: string
      required:
        - id
        - type
    RatingInput:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          const: rating input
        options:
          type: object
          properties:
            variableId:
              type: string
            buttonType:
              anyOf:
                - const: Icons
                - const: Numbers
            length:
              type: number
            startsAt:
              anyOf:
                - type: string
                - type: number
            labels:
              type: object
              properties:
                left:
                  type: string
                right:
                  type: string
                button:
                  type: string
            customIcon:
              type: object
              properties:
                isEnabled:
                  type: boolean
                svg:
                  type: string
            isOneClickSubmitEnabled:
              type: boolean
      required:
        - id
        - type
    Cards:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          const: cards
        items:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              outgoingEdgeId:
                type: string
              options:
                type: object
                properties:
                  displayCondition:
                    type: object
                    properties:
                      isEnabled:
                        type: boolean
                      condition:
                        type: object
                        properties:
                          logicalOperator:
                            enum:
                              - OR
                              - AND
                            type: string
                          comparisons:
                            type: array
                            items:
                              type: object
                              properties:
                                id:
                                  type: string
                                variableId:
                                  type: string
                                comparisonOperator:
                                  enum:
                                    - Equal to
                                    - Not equal
                                    - Contains
                                    - Does not contain
                                    - Greater than
                                    - Greater or equal to
                                    - Less than
                                    - Less or equal to
                                    - Is set
                                    - Is empty
                                    - Starts with
                                    - Ends with
                                    - Matches regex
                                    - Does not match regex
                                  type: string
                                value:
                                  type: string
                              required:
                                - id
                  internalValue:
                    anyOf:
                      - type: string
                      - type: 'null'
              imageUrl:
                anyOf:
                  - type: string
                  - type: 'null'
              title:
                anyOf:
                  - type: string
                  - type: 'null'
              description:
                anyOf:
                  - type: string
                  - type: 'null'
              paths:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                    text:
                      type: string
                    outgoingEdgeId:
                      type: string
                  required:
                    - id
            required:
              - id
        options:
          type: object
          properties:
            variableId:
              type: string
            saveResponseMapping:
              type: array
              items:
                type: object
                properties:
                  field:
                    enum:
                      - Image URL
                      - Title
                      - Description
                      - Button
                      - Internal Value
                    type: string
                  variableId:
                    type: string
      required:
        - id
        - type
        - items
    ChoiceInput:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - choice input
          type: string
        items:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              outgoingEdgeId:
                type: string
              content:
                type: string
              value:
                type: string
              displayCondition:
                type: object
                properties:
                  isEnabled:
                    type: boolean
                  condition:
                    type: object
                    properties:
                      logicalOperator:
                        enum:
                          - OR
                          - AND
                        type: string
                      comparisons:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                            variableId:
                              type: string
                            comparisonOperator:
                              enum:
                                - Equal to
                                - Not equal
                                - Contains
                                - Does not contain
                                - Greater than
                                - Greater or equal to
                                - Less than
                                - Less or equal to
                                - Is set
                                - Is empty
                                - Starts with
                                - Ends with
                                - Matches regex
                                - Does not match regex
                              type: string
                            value:
                              type: string
                          required:
                            - id
            required:
              - id
        options:
          type: object
          properties:
            variableId:
              type: string
            isMultipleChoice:
              type: boolean
            buttonLabel:
              type: string
            dynamicVariableId:
              type: string
            isSearchable:
              type: boolean
            searchInputPlaceholder:
              type: string
            areInitialSearchButtonsVisible:
              type: boolean
      required:
        - id
        - type
        - items
    FileInput:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          const: file input
        options:
          type: object
          properties:
            variableId:
              type: string
            isRequired:
              type: boolean
            isMultipleAllowed:
              type: boolean
            labels:
              type: object
              properties:
                placeholder:
                  type: string
                button:
                  type: string
                clear:
                  type: string
                skip:
                  type: string
                success:
                  type: object
                  properties:
                    single:
                      type: string
                    multiple:
                      type: string
            allowedFileTypes:
              type: object
              properties:
                isEnabled:
                  type: boolean
                types:
                  type: array
                  items:
                    type: string
            capture:
              enum:
                - environment
                - user
              type: string
            visibility:
              enum:
                - Auto
                - Public
                - Private
              type: string
      required:
        - id
        - type
    PictureChoiceInput:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - picture choice input
          type: string
        items:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              outgoingEdgeId:
                type: string
              pictureSrc:
                type: string
              title:
                type: string
              description:
                type: string
              value:
                type: string
              displayCondition:
                type: object
                properties:
                  isEnabled:
                    type: boolean
                  condition:
                    type: object
                    properties:
                      logicalOperator:
                        enum:
                          - OR
                          - AND
                        type: string
                      comparisons:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                            variableId:
                              type: string
                            comparisonOperator:
                              enum:
                                - Equal to
                                - Not equal
                                - Contains
                                - Does not contain
                                - Greater than
                                - Greater or equal to
                                - Less than
                                - Less or equal to
                                - Is set
                                - Is empty
                                - Starts with
                                - Ends with
                                - Matches regex
                                - Does not match regex
                              type: string
                            value:
                              type: string
                          required:
                            - id
            required:
              - id
        options:
          type: object
          properties:
            variableId:
              type: string
            isMultipleChoice:
              type: boolean
            isSearchable:
              type: boolean
            buttonLabel:
              type: string
            searchInputPlaceholder:
              type: string
            dynamicItems:
              type: object
              properties:
                isEnabled:
                  type: boolean
                titlesVariableId:
                  type: string
                descriptionsVariableId:
                  type: string
                pictureSrcsVariableId:
                  type: string
      required:
        - id
        - type
        - items
    Code:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - Code
          type: string
        options:
          type: object
          properties:
            name:
              type: string
            content:
              type: string
            isExecutedOnClient:
              type: boolean
            isUnsafe:
              type: boolean
              description: >-
                Enabled by default for imported bots to prevent code to be
                executed in preview with priviledged access
            shouldExecuteInParentContext:
              type: boolean
      required:
        - id
        - type
    Redirect:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - Redirect
          type: string
        options:
          type: object
          properties:
            url:
              type: string
            isNewTab:
              type: boolean
      required:
        - id
        - type
    SetVariable:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - Set variable
          type: string
        options:
          anyOf:
            - type: object
              properties:
                variableId:
                  type: string
                isExecutedOnClient:
                  type: boolean
                isUnsafe:
                  type: boolean
                  description: >-
                    Enabled by default for imported bots to prevent code to be
                    executed in preview with priviledged access
                expressionToEvaluate:
                  type: string
                isCode:
                  type: boolean
                expressionDescription:
                  type: string
                saveErrorInVariableId:
                  type: string
                type:
                  not: {}
            - $ref: '#/components/schemas/Custom'
            - $ref: '#/components/schemas/Now'
            - $ref: '#/components/schemas/Today'
            - $ref: '#/components/schemas/MapItemWithSameIndex'
            - $ref: '#/components/schemas/AppendValues'
            - $ref: '#/components/schemas/Pop'
      required:
        - id
        - type
    TypebotLink:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - Typebot link
          type: string
        options:
          type: object
          properties:
            typebotId:
              type: string
            groupId:
              type: string
            mergeResults:
              type: boolean
      required:
        - id
        - type
    Wait:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - Wait
          type: string
        options:
          type: object
          properties:
            secondsToWaitFor:
              type: string
            shouldPause:
              type: boolean
      required:
        - id
        - type
    Jump:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - Jump
          type: string
        options:
          type: object
          properties:
            groupId:
              type: string
            blockId:
              type: string
      required:
        - id
        - type
    Return:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - Return
          type: string
      required:
        - id
        - type
    Condition:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - Condition
          type: string
        items:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              outgoingEdgeId:
                type: string
              content:
                type: object
                properties:
                  logicalOperator:
                    enum:
                      - OR
                      - AND
                    type: string
                  comparisons:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        variableId:
                          type: string
                        comparisonOperator:
                          enum:
                            - Equal to
                            - Not equal
                            - Contains
                            - Does not contain
                            - Greater than
                            - Greater or equal to
                            - Less than
                            - Less or equal to
                            - Is set
                            - Is empty
                            - Starts with
                            - Ends with
                            - Matches regex
                            - Does not match regex
                          type: string
                        value:
                          type: string
                      required:
                        - id
            required:
              - id
        options:
          not: {}
      required:
        - id
        - type
        - items
    AbTest:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - AB test
          type: string
        items:
          type: array
          prefixItems:
            - type: object
              properties:
                id:
                  type: string
                outgoingEdgeId:
                  type: string
                path:
                  const: a
              required:
                - id
                - path
            - type: object
              properties:
                id:
                  type: string
                outgoingEdgeId:
                  type: string
                path:
                  const: b
              required:
                - id
                - path
        options:
          type: object
          properties:
            aPercent:
              type: number
              minimum: 0
              maximum: 100
      required:
        - id
        - type
        - items
    Webhook:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - webhook
          type: string
        options:
          type: object
          properties:
            responseVariableMapping:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                  variableId:
                    type: string
                  bodyPath:
                    type: string
                required:
                  - id
      required:
        - id
        - type
    Chatwoot:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - Chatwoot
          type: string
        options:
          type: object
          properties:
            task:
              enum:
                - Show widget
                - Close widget
              type: string
            baseUrl:
              type: string
            websiteToken:
              type: string
            user:
              type: object
              properties:
                id:
                  type: string
                email:
                  type: string
                name:
                  type: string
                avatarUrl:
                  type: string
                phoneNumber:
                  type: string
      required:
        - id
        - type
    GoogleAnalytics:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - Google Analytics
          type: string
        options:
          type: object
          properties:
            trackingId:
              type: string
            category:
              type: string
            action:
              type: string
            label:
              type: string
            value:
              anyOf:
                - type: string
                - type: number
            sendTo:
              type: string
      required:
        - id
        - type
    Openai:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - OpenAI
          type: string
        options:
          anyOf:
            - type: object
              properties:
                task:
                  not: {}
                credentialsId:
                  type: string
                baseUrl:
                  type: string
                apiVersion:
                  type: string
            - $ref: '#/components/schemas/CreateChatCompletion'
            - $ref: '#/components/schemas/CreateImage'
            - $ref: '#/components/schemas/CreateSpeech'
      required:
        - id
        - type
    Email:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - Email
          type: string
        options:
          type: object
          properties:
            credentialsId:
              type: string
            isCustomBody:
              type: boolean
            isBodyCode:
              type: boolean
            recipients:
              type: array
              items:
                type: string
            subject:
              type: string
            body:
              type: string
            replyTo:
              type: string
            cc:
              type: array
              items:
                type: string
            bcc:
              type: array
              items:
                type: string
            attachmentsVariableId:
              type: string
      required:
        - id
        - type
    Pixel:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - Pixel
          type: string
        options:
          anyOf:
            - type: object
              properties:
                pixelId:
                  type: string
                isInitSkip:
                  type: boolean
                params:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                      key:
                        type: string
                      value: {}
                    required:
                      - id
                eventType:
                  not: {}
            - $ref: '#/components/schemas/Lead'
            - type: object
              properties:
                pixelId:
                  type: string
                isInitSkip:
                  type: boolean
                params:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                      key:
                        type: string
                      value: {}
                    required:
                      - id
                eventType:
                  enum:
                    - Custom
                  type: string
                name:
                  type: string
              required:
                - eventType
      required:
        - id
        - type
    GoogleSheets:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - Google Sheets
          type: string
        options:
          anyOf:
            - $ref: '#/components/schemas/GetDataFromSheet'
            - $ref: '#/components/schemas/InsertARow'
            - $ref: '#/components/schemas/UpdateARow'
            - type: object
              properties:
                credentialsId:
                  type: string
                sheetId:
                  type: string
                spreadsheetId:
                  type: string
                action:
                  not: {}
      required:
        - id
        - type
    Make.com:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - Make.com
          type: string
        options:
          type: object
          properties:
            variablesForTest:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                  variableId:
                    type: string
                  value:
                    type: string
                required:
                  - id
            responseVariableMapping:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                  variableId:
                    type: string
                  bodyPath:
                    type: string
                required:
                  - id
            isCustomBody:
              type: boolean
            isExecutedOnClient:
              type: boolean
            webhook:
              type: object
              properties:
                queryParams:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                      key:
                        type: string
                      value:
                        type: string
                    required:
                      - id
                headers:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                      key:
                        type: string
                      value:
                        type: string
                    required:
                      - id
                method:
                  enum:
                    - POST
                    - GET
                    - PUT
                    - DELETE
                    - PATCH
                    - HEAD
                    - CONNECT
                    - OPTIONS
                    - TRACE
                  type: string
                url:
                  type: string
                body:
                  type: string
            timeout:
              type: number
              minimum: 1
              maximum: 120
            proxyCredentialsId:
              type: string
      required:
        - id
        - type
    Pabbly:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - Pabbly
          type: string
        options:
          type: object
          properties:
            variablesForTest:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                  variableId:
                    type: string
                  value:
                    type: string
                required:
                  - id
            responseVariableMapping:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                  variableId:
                    type: string
                  bodyPath:
                    type: string
                required:
                  - id
            isCustomBody:
              type: boolean
            isExecutedOnClient:
              type: boolean
            webhook:
              type: object
              properties:
                queryParams:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                      key:
                        type: string
                      value:
                        type: string
                    required:
                      - id
                headers:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                      key:
                        type: string
                      value:
                        type: string
                    required:
                      - id
                method:
                  enum:
                    - POST
                    - GET
                    - PUT
                    - DELETE
                    - PATCH
                    - HEAD
                    - CONNECT
                    - OPTIONS
                    - TRACE
                  type: string
                url:
                  type: string
                body:
                  type: string
            timeout:
              type: number
              minimum: 1
              maximum: 120
            proxyCredentialsId:
              type: string
      required:
        - id
        - type
    Zapier:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          enum:
            - Zapier
          type: string
        options:
          type: object
          properties:
            variablesForTest:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                  variableId:
                    type: string
                  value:
                    type: string
                required:
                  - id
            responseVariableMapping:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                  variableId:
                    type: string
                  bodyPath:
                    type: string
                required:
                  - id
            isCustomBody:
              type: boolean
            isExecutedOnClient:
              type: boolean
            webhook:
              type: object
              properties:
                queryParams:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                      key:
                        type: string
                      value:
                        type: string
                    required:
                      - id
                headers:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                      key:
                        type: string
                      value:
                        type: string
                    required:
                      - id
                method:
                  enum:
                    - POST
                    - GET
                    - PUT
                    - DELETE
                    - PATCH
                    - HEAD
                    - CONNECT
                    - OPTIONS
                    - TRACE
                  type: string
                url:
                  type: string
                body:
                  type: string
            timeout:
              type: number
              minimum: 1
              maximum: 120
            proxyCredentialsId:
              type: string
      required:
        - id
        - type
    AskAssistant:
      type: object
      properties:
        baseUrl:
          type: string
        apiVersion:
          type: string
        credentialsId:
          type: string
        action:
          const: Ask Assistant
        assistantId:
          type: string
        threadVariableId:
          type: string
        message:
          type: string
        functions:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              code:
                type: string
        additionalInstructions:
          type: string
        responseMapping:
          type: array
          items:
            type: object
            properties:
              item:
                enum:
                  - Message
                  - Thread ID
                type: string
              variableId:
                type: string
        threadId:
          type: string
      required:
        - action
    AskModel:
      type: object
      properties:
        baseUrl:
          type: string
        apiVersion:
          type: string
        credentialsId:
          type: string
        action:
          const: Ask Model
        model:
          type: string
        message:
          type: string
        instructions:
          type: string
        responseIdVariableId:
          type: string
        fileSearchVectorStoreIds:
          type: array
          items:
            type: string
        fileSearchMaxNumResults:
          anyOf:
            - type: string
            - type: number
        fileSearchScoreThreshold:
          anyOf:
            - type: string
            - type: number
        webSearchEnabled:
          type: boolean
        codeInterpreterEnabled:
          type: boolean
        functions:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              description:
                type: string
              parameters:
                type: array
                items:
                  anyOf:
                    - type: object
                      properties:
                        type:
                          not: {}
                    - type: object
                      properties:
                        type:
                          const: string
                        name:
                          type: string
                        description:
                          type: string
                        required:
                          type: boolean
                      required:
                        - type
                    - type: object
                      properties:
                        type:
                          const: number
                        name:
                          type: string
                        description:
                          type: string
                        required:
                          type: boolean
                      required:
                        - type
                    - type: object
                      properties:
                        type:
                          const: boolean
                        name:
                          type: string
                        description:
                          type: string
                        required:
                          type: boolean
                      required:
                        - type
                    - type: object
                      properties:
                        type:
                          const: enum
                        values:
                          type: array
                          items:
                            type: string
                        name:
                          type: string
                        description:
                          type: string
                        required:
                          type: boolean
                      required:
                        - type
              code:
                type: string
        temperature:
          anyOf:
            - type: string
            - type: number
        responseMapping:
          type: array
          items:
            type: object
            properties:
              item:
                enum:
                  - Message
                  - Response ID
                type: string
              variableId:
                type: string
      required:
        - action
    GenerateVariables:
      type: object
      properties:
        baseUrl:
          type: string
        apiVersion:
          type: string
        credentialsId:
          type: string
        action:
          const: Generate variables
        model:
          type: string
        prompt:
          type: string
        variablesToExtract:
          type: array
          items:
            anyOf:
              - type: object
                properties:
                  type:
                    not: {}
              - type: object
                properties:
                  type:
                    const: string
                  variableId:
                    type: string
                  description:
                    type: string
                  isRequired:
                    type: boolean
                required:
                  - type
              - type: object
                properties:
                  type:
                    const: number
                  variableId:
                    type: string
                  description:
                    type: string
                  isRequired:
                    type: boolean
                required:
                  - type
              - type: object
                properties:
                  type:
                    const: boolean
                  variableId:
                    type: string
                  description:
                    type: string
                  isRequired:
                    type: boolean
                required:
                  - type
              - type: object
                properties:
                  type:
                    const: array
                  variableId:
                    type: string
                  description:
                    type: string
                  isRequired:
                    type: boolean
                required:
                  - type
              - type: object
                properties:
                  type:
                    const: enum
                  values:
                    type: array
                    items:
                      type: string
                  variableId:
                    type: string
                  description:
                    type: string
                  isRequired:
                    type: boolean
                required:
                  - type
      required:
        - action
    CreateTranscription:
      type: object
      properties:
        baseUrl:
          type: string
        apiVersion:
          type: string
        credentialsId:
          type: string
        action:
          const: Create transcription
        url:
          type: string
        model:
          type: string
        prompt:
          type: string
        transcriptionVariableId:
          type: string
      required:
        - action
    CalCom:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          const: cal-com
        options:
          anyOf:
            - type: object
              properties:
                baseUrl:
                  type: string
                credentialsId:
                  type: string
                action:
                  not: {}
            - $ref: '#/components/schemas/BookEvent'
      required:
        - id
        - type
    ChatNode:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          const: chat-node
        options:
          anyOf:
            - type: object
              properties:
                credentialsId:
                  type: string
                action:
                  not: {}
            - $ref: '#/components/schemas/SendMessage'
      required:
        - id
        - type
    QrCode:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          const: qr-code
        options:
          anyOf:
            - type: object
              properties:
                credentialsId:
                  type: string
                action:
                  not: {}
            - $ref: '#/components/schemas/GenerateAQrCode'
      required:
        - id
        - type
    DifyAi:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          const: dify-ai
        options:
          anyOf:
            - type: object
              properties:
                credentialsId:
                  type: string
                action:
                  not: {}
            - $ref: '#/components/schemas/CreateChatMessage'
            - $ref: '#/components/schemas/QueryKnowledgeBase'
      required:
        - id
        - type
    Mistral:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          const: mistral
        options:
          anyOf:
            - type: object
              properties:
                credentialsId:
                  type: string
                action:
                  not: {}
            - type: object
              properties:
                credentialsId:
                  type: string
                action:
                  const: Create chat completion
                model:
                  type: string
                messages:
                  type: array
                  items:
                    anyOf:
                      - type: object
                        properties:
                          role:
                            not: {}
                      - type: object
                        properties:
                          role:
                            const: system
                          content:
                            type: string
                        required:
                          - role
                      - type: object
                        properties:
                          role:
                            const: user
                          content:
                            type: string
                        required:
                          - role
                      - type: object
                        properties:
                          role:
                            const: assistant
                          content:
                            type: string
                        required:
                          - role
                      - type: object
                        properties:
                          role:
                            const: Dialogue
                          dialogueVariableId:
                            type: string
                          startsBy:
                            enum:
                              - user
                              - assistant
                            type: string
                        required:
                          - role
                tools:
                  type: array
                  items:
                    anyOf:
                      - type: object
                        properties:
                          type:
                            not: {}
                      - type: object
                        properties:
                          type:
                            const: function
                          name:
                            type: string
                          description:
                            type: string
                          parameters:
                            type: array
                            items:
                              anyOf:
                                - type: object
                                  properties:
                                    type:
                                      not: {}
                                - type: object
                                  properties:
                                    type:
                                      const: string
                                    name:
                                      type: string
                                    description:
                                      type: string
                                    required:
                                      type: boolean
                                  required:
                                    - type
                                - type: object
                                  properties:
                                    type:
                                      const: number
                                    name:
                                      type: string
                                    description:
                                      type: string
                                    required:
                                      type: boolean
                                  required:
                                    - type
                                - type: object
                                  properties:
                                    type:
                                      const: boolean
                                    name:
                                      type: string
                                    description:
                                      type: string
                                    required:
                                      type: boolean
                                  required:
                                    - type
                                - type: object
                                  properties:
                                    type:
                                      const: enum
                                    values:
                                      type: array
                                      items:
                                        type: string
                                    name:
                                      type: string
                                    description:
                                      type: string
                                    required:
                                      type: boolean
                                  required:
                                    - type
                          code:
                            type: string
                        required:
                          - type
                temperature:
                  anyOf:
                    - type: string
                    - type: number
                responseMapping:
                  type: array
                  items:
                    type: object
                    properties:
                      item:
                        enum:
                          - Message content
                          - Total tokens
                          - Prompt tokens
                          - Completion tokens
                        type: string
                      variableId:
                        type: string
              required:
                - action
            - type: object
              properties:
                credentialsId:
                  type: string
                action:
                  const: Generate variables
                model:
                  type: string
                prompt:
                  type: string
                variablesToExtract:
                  type: array
                  items:
                    anyOf:
                      - type: object
                        properties:
                          type:
                            not: {}
                      - type: object
                        properties:
                          type:
                            const: string
                          variableId:
                            type: string
                          description:
                            type: string
                          isRequired:
                            type: boolean
                        required:
                          - type
                      - type: object
                        properties:
                          type:
                            const: number
                          variableId:
                            type: string
                          description:
                            type: string
                          isRequired:
                            type: boolean
                        required:
                          - type
                      - type: object
                        properties:
                          type:
                            const: boolean
                          variableId:
                            type: string
                          description:
                            type: string
                          isRequired:
                            type: boolean
                        required:
                          - type
                      - type: object
                        properties:
                          type:
                            const: array
                          variableId:
                            type: string
                          description:
                            type: string
                          isRequired:
                            type: boolean
                        required:
                          - type
                      - type: object
                        properties:
                          type:
                            const: enum
                          values:
                            type: array
                            items:
                              type: string
                          variableId:
                            type: string
                          description:
                            type: string
                          isRequired:
                            type: boolean
                        required:
                          - type
              required:
                - action
      required:
        - id
        - type
    Elevenlabs:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          const: elevenlabs
        options:
          anyOf:
            - type: object
              properties:
                credentialsId:
                  type: string
                action:
                  not: {}
            - $ref: '#/components/schemas/ConvertTextToSpeech'
      required:
        - id
        - type
    Anthropic:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          const: anthropic
        options:
          anyOf:
            - type: object
              properties:
                credentialsId:
                  type: string
                action:
                  not: {}
            - type: object
              properties:
                credentialsId:
                  type: string
                action:
                  const: Create Chat Message
                model:
                  type: string
                messages:
                  type: array
                  items:
                    anyOf:
                      - type: object
                        properties:
                          role:
                            not: {}
                      - type: object
                        properties:
                          role:
                            const: user
                          content:
                            type: string
                        required:
                          - role
                      - type: object
                        properties:
                          role:
                            const: assistant
                          content:
                            type: string
                        required:
                          - role
                      - type: object
                        properties:
                          role:
                            const: Dialogue
                          dialogueVariableId:
                            type: string
                          startsBy:
                            enum:
                              - user
                              - assistant
                            type: string
                        required:
                          - role
                tools:
                  type: array
                  items:
                    anyOf:
                      - type: object
                        properties:
                          type:
                            not: {}
                      - type: object
                        properties:
                          type:
                            const: function
                          name:
                            type: string
                          description:
                            type: string
                          parameters:
                            type: array
                            items:
                              anyOf:
                                - type: object
                                  properties:
                                    type:
                                      not: {}
                                - type: object
                                  properties:
                                    type:
                                      const: string
                                    name:
                                      type: string
                                    description:
                                      type: string
                                    required:
                                      type: boolean
                                  required:
                                    - type
                                - type: object
                                  properties:
                                    type:
                                      const: number
                                    name:
                                      type: string
                                    description:
                                      type: string
                                    required:
                                      type: boolean
                                  required:
                                    - type
                                - type: object
                                  properties:
                                    type:
                                      const: boolean
                                    name:
                                      type: string
                                    description:
                                      type: string
                                    required:
                                      type: boolean
                                  required:
                                    - type
                                - type: object
                                  properties:
                                    type:
                                      const: enum
                                    values:
                                      type: array
                                      items:
                                        type: string
                                    name:
                                      type: string
                                    description:
                                      type: string
                                    required:
                                      type: boolean
                                  required:
                                    - type
                          code:
                            type: string
                        required:
                          - type
                systemMessage:
                  type: string
                temperature:
                  anyOf:
                    - type: string
                    - type: number
                maxTokens:
                  anyOf:
                    - type: string
                    - type: number
                responseMapping:
                  type: array
                  items:
                    type: object
                    properties:
                      item:
                        enum:
                          - Message content
                        type: string
                      variableId:
                        type: string
              required:
                - action
            - type: object
              properties:
                credentialsId:
                  type: string
                action:
                  const: Generate variables
                model:
                  type: string
                prompt:
                  type: string
                variablesToExtract:
                  type: array
                  items:
                    anyOf:
                      - type: object
                        properties:
                          type:
                            not: {}
                      - type: object
                        properties:
                          type:
                            const: string
                          variableId:
                            type: string
                          description:
                            type: string
                          isRequired:
                            type: boolean
                        required:
                          - type
                      - type: object
                        properties:
                          type:
                            const: number
                          variableId:
                            type: string
                          description:
                            type: string
                          isRequired:
                            type: boolean
                        required:
                          - type
                      - type: object
                        properties:
                          type:
                            const: boolean
                          variableId:
                            type: string
                          description:
                            type: string
                          isRequired:
                            type: boolean
                        required:
                          - type
                      - type: object
                        properties:
                          type:
                            const: array
                          variableId:
                            type: string
                          description:
                            type: string
                          isRequired:
                            type: boolean
                        required:
                          - type
                      - type: object
                        properties:
                          type:
                            const: enum
                          values:
                            type: array
                            items:
                              type: string
                          variableId:
                            type: string
                          description:
                            type: string
                          isRequired:
                            type: boolean
                        required:
                          - type
              required:
                - action
      required:
        - id
        - type
    TogetherAi:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          const: together-ai
        options:
          anyOf:
            - type: object
              properties:
                credentialsId:
                  type: string
                action:
                  not: {}
            - type: object
              properties:
                credentialsId:
                  type: string
                action:
                  const: Create chat completion
                model:
                  type: string
                messages:
                  type: array
                  items:
                    anyOf:
                      - type: object
                        properties:
                          role:
                            not: {}
                      - type: object
                        properties:
                          role:
                            const: system
                          content:
                            type: string
                        required:
                          - role
                      - type: object
                        properties:
                          role:
                            const: user
                          content:
                            type: string
                        required:
                          - role
                      - type: object
                        properties:
                          role:
                            const: assistant
                          content:
                            type: string
                        required:
                          - role
                      - type: object
                        properties:
                          role:
                            const: Dialogue
                          dialogueVariableId:
                            type: string
                          startsBy:
                            enum:
                              - user
                              - assistant
                            type: string
                        required:
                          - role
                tools:
                  type: array
                  items:
                    anyOf:
                      - type: object
                        properties:
                          type:
                            not: {}
                      - type: object
                        properties:
                          type:
                            const: function
                          name:
                            type: string
                          description:
                            type: string
                          parameters:
                            type: array
                            items:
                              anyOf:
                                - type: object
                                  properties:
                                    type:
                                      not: {}
                                - type: object
                                  properties:
                                    type:
                                      const: string
                                    name:
                                      type: string
                                    description:
                                      type: string
                                    required:
                                      type: boolean
                                  required:
                                    - type
                                - type: object
                                  properties:
                                    type:
                                      const: number
                                    name:
                                      type: string
                                    description:
                                      type: string
                                    required:
                                      type: boolean
                                  required:
                                    - type
                                - type: object
                                  properties:
                                    type:
                                      const: boolean
                                    name:
                                      type: string
                                    description:
                                      type: string
                                    required:
                                      type: boolean
                                  required:
                                    - type
                                - type: object
                                  properties:
                                    type:
                                      const: enum
                                    values:
                                      type: array
                                      items:
                                        type: string
                                    name:
                                      type: string
                                    description:
                                      type: string
                                    required:
                                      type: boolean
                                  required:
                                    - type
                          code:
                            type: string
                        required:
                          - type
                temperature:
                  anyOf:
                    - type: string
                    - type: number
                responseMapping:
                  type: array
                  items:
                    type: object
                    properties:
                      item:
                        enum:
                          - Message content
                          - Total tokens
                          - Prompt tokens
                          - Completion tokens
                        type: string
                      variableId:
                        type: string
              required:
                - action
      required:
        - id
        - type
    OpenRouter:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          const: open-router
        options:
          anyOf:
            - type: object
              properties:
                credentialsId:
                  type: string
                action:
                  not: {}
            - type: object
              properties:
                credentialsId:
                  type: string
                action:
                  const: Create chat completion
                model:
                  type: string
                messages:
                  type: array
                  items:
                    anyOf:
                      - type: object
                        properties:
                          role:
                            not: {}
                      - type: object
                        properties:
                          role:
                            const: system
                          content:
                            type: string
                        required:
                          - role
                      - type: object
                        properties:
                          role:
                            const: user
                          content:
                            type: string
                        required:
                          - role
                      - type: object
                        properties:
                          role:
                            const: assistant
                          content:
                            type: string
                        required:
                          - role
                      - type: object
                        properties:
                          role:
                            const: Dialogue
                          dialogueVariableId:
                            type: string
                          startsBy:
                            enum:
                              - user
                              - assistant
                            type: string
                        required:
                          - role
                tools:
                  type: array
                  items:
                    anyOf:
                      - type: object
                        properties:
                          type:
                            not: {}
                      - type: object
                        properties:
                          type:
                            const: function
                          name:
                            type: string
                          description:
                            type: string
                          parameters:
                            type: array
                            items:
                              anyOf:
                                - type: object
                                  properties:
                                    type:
                                      not: {}
                                - type: object
                                  properties:
                                    type:
                                      const: string
                                    name:
                                      type: string
                                    description:
                                      type: string
                                    required:
                                      type: boolean
                                  required:
                                    - type
                                - type: object
                                  properties:
                                    type:
                                      const: number
                                    name:
                                      type: string
                                    description:
                                      type: string
                                    required:
                                      type: boolean
                                  required:
                                    - type
                                - type: object
                                  properties:
                                    type:
                                      const: boolean
                                    name:
                                      type: string
                                    description:
                                      type: string
                                    required:
                                      type: boolean
                                  required:
                                    - type
                                - type: object
                                  properties:
                                    type:
                                      const: enum
                                    values:
                                      type: array
                                      items:
                                        type: string
                                    name:
                                      type: string
                                    description:
                                      type: string
                                    required:
                                      type: boolean
                                  required:
                                    - type
                          code:
                            type: string
                        required:
                          - type
                temperature:
                  anyOf:
                    - type: string
                    - type: number
                responseMapping:
                  type: array
                  items:
                    type: object
                    properties:
                      item:
                        enum:
                          - Message content
                          - Total tokens
                          - Prompt tokens
                          - Completion tokens
                        type: string
                      variableId:
                        type: string
              required:
                - action
      required:
        - id
        - type
    Nocodb:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          const: nocodb
        options:
          anyOf:
            - type: object
              properties:
                credentialsId:
                  type: string
                action:
                  not: {}
            - $ref: '#/components/schemas/SearchRecords'
            - $ref: '#/components/schemas/CreateRecord'
            - $ref: '#/components/schemas/UpdateExistingRecord'
      required:
        - id
        - type
    Segment:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          const: segment
        options:
          anyOf:
            - type: object
              properties:
                credentialsId:
                  type: string
                action:
                  not: {}
            - $ref: '#/components/schemas/Alias'
            - $ref: '#/components/schemas/IdentifyUser'
            - $ref: '#/components/schemas/Page'
            - $ref: '#/components/schemas/Track'
      required:
        - id
        - type
    Groq:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          const: groq
        options:
          anyOf:
            - type: object
              properties:
                credentialsId:
                  type: string
                action:
                  not: {}
            - type: object
              properties:
                credentialsId:
                  type: string
                action:
                  const: Create chat completion
                model:
                  type: string
                messages:
                  type: array
                  items:
                    anyOf:
                      - type: object
                        properties:
                          role:
                            not: {}
                      - type: object
                        properties:
                          role:
                            const: system
                          content:
                            type: string
                        required:
                          - role
                      - type: object
                        properties:
                          role:
                            const: user
                          content:
                            type: string
                        required:
                          - role
                      - type: object
                        properties:
                          role:
                            const: assistant
                          content:
                            type: string
                        required:
                          - role
                      - type: object
                        properties:
                          role:
                            const: Dialogue
                          dialogueVariableId:
                            type: string
                          startsBy:
                            enum:
                              - user
                              - assistant
                            type: string
                        required:
                          - role
                tools:
                  type: array
                  items:
                    anyOf:
                      - type: object
                        properties:
                          type:
                            not: {}
                      - type: object
                        properties:
                          type:
                            const: function
                          name:
                            type: string
                          description:
                            type: string
                          parameters:
                            type: array
                            items:
                              anyOf:
                                - type: object
                                  properties:
                                    type:
                                      not: {}
                                - type: object
                                  properties:
                                    type:
                                      const: string
                                    name:
                                      type: string
                                    description:
                                      type: string
                                    required:
                                      type: boolean
                                  required:
                                    - type
                                - type: object
                                  properties:
                                    type:
                                      const: number
                                    name:
                                      type: string
                                    description:
                                      type: string
                                    required:
                                      type: boolean
                                  required:
                                    - type
                                - type: object
                                  properties:
                                    type:
                                      const: boolean
                                    name:
                                      type: string
                                    description:
                                      type: string
                                    required:
                                      type: boolean
                                  required:
                                    - type
                                - type: object
                                  properties:
                                    type:
                                      const: enum
                                    values:
                                      type: array
                                      items:
                                        type: string
                                    name:
                                      type: string
                                    description:
                                      type: string
                                    required:
                                      type: boolean
                                  required:
                                    - type
                          code:
                            type: string
                        required:
                          - type
                temperature:
                  anyOf:
                    - type: string
                    - type: number
                responseMapping:
                  type: array
                  items:
                    type: object
                    properties:
                      item:
                        enum:
                          - Message content
                          - Total tokens
                          - Prompt tokens
                          - Completion tokens
                        type: string
                      variableId:
                        type: string
              required:
                - action
      required:
        - id
        - type
    Zendesk:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          const: zendesk
        options:
          anyOf:
            - type: object
              properties:
                credentialsId:
                  type: string
                action:
                  not: {}
            - $ref: '#/components/schemas/OpenWebWidget'
      required:
        - id
        - type
    Posthog:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          const: posthog
        options:
          anyOf:
            - type: object
              properties:
                credentialsId:
                  type: string
                action:
                  not: {}
            - $ref: '#/components/schemas/Capture'
            - $ref: '#/components/schemas/IdentifyGroup'
      required:
        - id
        - type
    Perplexity:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          const: perplexity
        options:
          anyOf:
            - type: object
              properties:
                credentialsId:
                  type: string
                action:
                  not: {}
            - type: object
              properties:
                credentialsId:
                  type: string
                action:
                  const: Create chat completion
                model:
                  type: string
                messages:
                  type: array
                  items:
                    anyOf:
                      - type: object
                        properties:
                          role:
                            not: {}
                      - type: object
                        properties:
                          role:
                            const: system
                          content:
                            type: string
                        required:
                          - role
                      - type: object
                        properties:
                          role:
                            const: user
                          content:
                            type: string
                        required:
                          - role
                      - type: object
                        properties:
                          role:
                            const: assistant
                          content:
                            type: string
                        required:
                          - role
                      - type: object
                        properties:
                          role:
                            const: Dialogue
                          dialogueVariableId:
                            type: string
                          startsBy:
                            enum:
                              - user
                              - assistant
                            type: string
                        required:
                          - role
                tools:
                  type: array
                  items:
                    anyOf:
                      - type: object
                        properties:
                          type:
                            not: {}
                      - type: object
                        properties:
                          type:
                            const: function
                          name:
                            type: string
                          description:
                            type: string
                          parameters:
                            type: array
                            items:
                              anyOf:
                                - type: object
                                  properties:
                                    type:
                                      not: {}
                                - type: object
                                  properties:
                                    type:
                                      const: string
                                    name:
                                      type: string
                                    description:
                                      type: string
                                    required:
                                      type: boolean
                                  required:
                                    - type
                                - type: object
                                  properties:
                                    type:
                                      const: number
                                    name:
                                      type: string
                                    description:
                                      type: string
                                    required:
                                      type: boolean
                                  required:
                                    - type
                                - type: object
                                  properties:
                                    type:
                                      const: boolean
                                    name:
                                      type: string
                                    description:
                                      type: string
                                    required:
                                      type: boolean
                                  required:
                                    - type
                                - type: object
                                  properties:
                                    type:
                                      const: enum
                                    values:
                                      type: array
                                      items:
                                        type: string
                                    name:
                                      type: string
                                    description:
                                      type: string
                                    required:
                                      type: boolean
                                  required:
                                    - type
                          code:
                            type: string
                        required:
                          - type
                temperature:
                  anyOf:
                    - type: string
                    - type: number
                responseMapping:
                  type: array
                  items:
                    type: object
                    properties:
                      item:
                        enum:
                          - Message content
                          - Total tokens
                          - Prompt tokens
                          - Completion tokens
                        type: string
                      variableId:
                        type: string
              required:
                - action
      required:
        - id
        - type
    Deepseek:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          const: deepseek
        options:
          anyOf:
            - type: object
              properties:
                credentialsId:
                  type: string
                action:
                  not: {}
            - type: object
              properties:
                credentialsId:
                  type: string
                action:
                  const: Create chat completion
                model:
                  type: string
                messages:
                  type: array
                  items:
                    anyOf:
                      - type: object
                        properties:
                          role:
                            not: {}
                      - type: object
                        properties:
                          role:
                            const: system
                          content:
                            type: string
                        required:
                          - role
                      - type: object
                        properties:
                          role:
                            const: user
                          content:
                            type: string
                        required:
                          - role
                      - type: object
                        properties:
                          role:
                            const: assistant
                          content:
                            type: string
                        required:
                          - role
                      - type: object
                        properties:
                          role:
                            const: Dialogue
                          dialogueVariableId:
                            type: string
                          startsBy:
                            enum:
                              - user
                              - assistant
                            type: string
                        required:
                          - role
                tools:
                  type: array
                  items:
                    anyOf:
                      - type: object
                        properties:
                          type:
                            not: {}
                      - type: object
                        properties:
                          type:
                            const: function
                          name:
                            type: string
                          description:
                            type: string
                          parameters:
                            type: array
                            items:
                              anyOf:
                                - type: object
                                  properties:
                                    type:
                                      not: {}
                                - type: object
                                  properties:
                                    type:
                                      const: string
                                    name:
                                      type: string
                                    description:
                                      type: string
                                    required:
                                      type: boolean
                                  required:
                                    - type
                                - type: object
                                  properties:
                                    type:
                                      const: number
                                    name:
                                      type: string
                                    description:
                                      type: string
                                    required:
                                      type: boolean
                                  required:
                                    - type
                                - type: object
                                  properties:
                                    type:
                                      const: boolean
                                    name:
                                      type: string
                                    description:
                                      type: string
                                    required:
                                      type: boolean
                                  required:
                                    - type
                                - type: object
                                  properties:
                                    type:
                                      const: enum
                                    values:
                                      type: array
                                      items:
                                        type: string
                                    name:
                                      type: string
                                    description:
                                      type: string
                                    required:
                                      type: boolean
                                  required:
                                    - type
                          code:
                            type: string
                        required:
                          - type
                temperature:
                  anyOf:
                    - type: string
                    - type: number
                responseMapping:
                  type: array
                  items:
                    type: object
                    properties:
                      item:
                        enum:
                          - Message content
                          - Total tokens
                          - Prompt tokens
                          - Completion tokens
                        type: string
                      variableId:
                        type: string
              required:
                - action
      required:
        - id
        - type
    Blink:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          const: blink
        options:
          anyOf:
            - type: object
              properties:
                credentialsId:
                  type: string
                action:
                  not: {}
            - $ref: '#/components/schemas/GetUsers'
            - $ref: '#/components/schemas/SendFeedEvent'
            - type: object
              properties:
                credentialsId:
                  type: string
                action:
                  const: Redirect
                url:
                  type: string
              required:
                - action
      required:
        - id
        - type
    Gmail:
      type: object
      properties:
        id:
          type: string
        outgoingEdgeId:
          type: string
        type:
          const: gmail
        options:
          anyOf:
            - type: object
              properties:
                credentialsId:
                  type: string
                action:
                  not: {}
            - $ref: '#/components/schemas/SendEmail'
      required:
        - id
        - type
    Google:
      type: object
      properties:
        type:
          const: Google
        family:
          type: string
      required:
        - type
    InsertARow:
      type: object
      properties:
        credentialsId:
          type: string
        sheetId:
          type: string
        spreadsheetId:
          type: string
        action:
          enum:
            - Insert a row
          type: string
        cellsToInsert:
          type: array
          items:
            type: object
            properties:
              column:
                type: string
              value:
                type: string
              id:
                type: string
            required:
              - id
      required:
        - action
    CreateImage:
      type: object
      properties:
        task:
          const: Create image
        prompt:
          type: string
        advancedOptions:
          type: object
          properties:
            size:
              enum:
                - 256x256
                - 512x512
                - 1024x1024
              type: string
        responseMapping:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              valueToExtract:
                enum:
                  - Image URL
                type: string
              variableId:
                type: string
            required:
              - id
              - valueToExtract
        credentialsId:
          type: string
        baseUrl:
          type: string
        apiVersion:
          type: string
      required:
        - task
        - advancedOptions
        - responseMapping
    CreateSpeech:
      type: object
      properties:
        credentialsId:
          type: string
        baseUrl:
          type: string
        apiVersion:
          type: string
        task:
          const: Create speech
        model:
          type: string
        input:
          type: string
        voice:
          enum:
            - alloy
            - echo
            - fable
            - onyx
            - nova
            - shimmer
          type: string
        saveUrlInVariableId:
          type: string
      required:
        - task
    QueryKnowledgeBase:
      type: object
      properties:
        credentialsId:
          type: string
        action:
          const: Query Knowledge Base
        datasetId:
          type: string
        query:
          type: string
        responseMapping:
          type: array
          items:
            type: object
            properties:
              item:
                enum:
                  - Retrieved chunks
                type: string
              variableId:
                type: string
      required:
        - action
    GetUsers:
      type: object
      properties:
        credentialsId:
          type: string
        action:
          const: Get Users
        filter:
          anyOf:
            - type: object
              properties:
                type:
                  not: {}
            - type: object
              properties:
                type:
                  const: User ID
                userId:
                  type: string
              required:
                - type
            - $ref: '#/components/schemas/EmployeeId'
        responseMapping:
          type: array
          items:
            type: object
            properties:
              item:
                enum:
                  - Emails
                  - Company Names
                  - First Names
                  - Second Names
                  - Display Names
                  - Initials
                  - Job Titles
                  - Profile Photo IDs
                  - Timezones
                  - Manager IDs
                  - Department Names
                  - Account Statuses
                  - User IDs
                  - Employee IDs
                type: string
              variableId:
                type: string
      required:
        - action
    Custom:
      type: object
      properties:
        variableId:
          type: string
        isExecutedOnClient:
          type: boolean
        isUnsafe:
          type: boolean
          description: >-
            Enabled by default for imported bots to prevent code to be executed
            in preview with priviledged access
        expressionToEvaluate:
          type: string
        isCode:
          type: boolean
        expressionDescription:
          type: string
        saveErrorInVariableId:
          type: string
        type:
          const: Custom
      required:
        - type
    Now:
      type: object
      properties:
        variableId:
          type: string
        isExecutedOnClient:
          type: boolean
        isUnsafe:
          type: boolean
          description: >-
            Enabled by default for imported bots to prevent code to be executed
            in preview with priviledged access
        type:
          enum:
            - Now
            - Yesterday
            - Tomorrow
          type: string
        timeZone:
          type: string
      required:
        - type
    Today:
      type: object
      properties:
        variableId:
          type: string
        isExecutedOnClient:
          type: boolean
        isUnsafe:
          type: boolean
          description: >-
            Enabled by default for imported bots to prevent code to be executed
            in preview with priviledged access
        type:
          enum:
            - Today
            - Moment of the day
            - Empty
            - Environment name
            - User ID
            - Result ID
            - Random ID
            - Phone number
            - Contact name
            - Transcript
            - Referral Click ID
            - Referral Source ID
            - Device type
          type: string
      required:
        - type
    MapItemWithSameIndex:
      type: object
      properties:
        variableId:
          type: string
        isExecutedOnClient:
          type: boolean
        isUnsafe:
          type: boolean
          description: >-
            Enabled by default for imported bots to prevent code to be executed
            in preview with priviledged access
        type:
          const: Map item with same index
        mapListItemParams:
          type: object
          properties:
            baseItemVariableId:
              type: string
            baseListVariableId:
              type: string
            targetListVariableId:
              type: string
      required:
        - type
    AppendValues:
      type: object
      properties:
        variableId:
          type: string
        isExecutedOnClient:
          type: boolean
        isUnsafe:
          type: boolean
          description: >-
            Enabled by default for imported bots to prevent code to be executed
            in preview with priviledged access
        type:
          const: Append value(s)
        item:
          type: string
      required:
        - type
    Pop:
      type: object
      properties:
        variableId:
          type: string
        isExecutedOnClient:
          type: boolean
        isUnsafe:
          type: boolean
          description: >-
            Enabled by default for imported bots to prevent code to be executed
            in preview with priviledged access
        type:
          enum:
            - Pop
            - Shift
          type: string
        saveItemInVariableId:
          type: string
      required:
        - type
    CreateChatCompletion:
      type: object
      properties:
        task:
          const: Create chat completion
        model:
          type: string
        messages:
          type: array
          items:
            anyOf:
              - type: object
                properties:
                  id:
                    type: string
                  role:
                    enum:
                      - system
                      - user
                      - assistant
                    type: string
                  content:
                    type: string
                  name:
                    type: string
                required:
                  - id
              - type: object
                properties:
                  id:
                    type: string
                  role:
                    const: Messages sequence ✨
                  content:
                    type: object
                    properties:
                      assistantMessagesVariableId:
                        type: string
                      userMessagesVariableId:
                        type: string
                required:
                  - id
                  - role
              - type: object
                properties:
                  id:
                    type: string
                  role:
                    const: Dialogue
                  dialogueVariableId:
                    type: string
                  startsBy:
                    enum:
                      - user
                      - assistant
                    type: string
                required:
                  - id
                  - role
        advancedSettings:
          type: object
          properties:
            temperature:
              anyOf:
                - type: string
                - type: number
        responseMapping:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              valueToExtract:
                enum:
                  - Message content
                  - Total tokens
                  - Prompt tokens
                  - Completion tokens
                type: string
              variableId:
                type: string
            required:
              - id
              - valueToExtract
        credentialsId:
          type: string
        baseUrl:
          type: string
        apiVersion:
          type: string
      required:
        - task
    Lead:
      type: object
      properties:
        pixelId:
          type: string
        isInitSkip:
          type: boolean
        params:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              key:
                type: string
              value: {}
            required:
              - id
        eventType:
          enum:
            - Lead
            - Contact
            - CompleteRegistration
            - Schedule
            - SubmitApplication
            - ViewContent
            - AddPaymentInfo
            - AddToCart
            - AddToWishlist
            - CustomizeProduct
            - Donate
            - FindLocation
            - InitiateCheckout
            - Purchase
            - Search
            - StartTrial
            - Subscribe
          type: string
      required:
        - eventType
    GetDataFromSheet:
      type: object
      properties:
        credentialsId:
          type: string
        sheetId:
          type: string
        spreadsheetId:
          type: string
        action:
          enum:
            - Get data from sheet
          type: string
        filter:
          type: object
          properties:
            comparisons:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                  column:
                    type: string
                  comparisonOperator:
                    enum:
                      - Equal to
                      - Not equal
                      - Contains
                      - Does not contain
                      - Greater than
                      - Greater or equal to
                      - Less than
                      - Less or equal to
                      - Is set
                      - Is empty
                      - Starts with
                      - Ends with
                      - Matches regex
                      - Does not match regex
                    type: string
                  value:
                    type: string
                required:
                  - id
            logicalOperator:
              enum:
                - OR
                - AND
              type: string
        cellsToExtract:
          type: array
          items:
            type: object
            properties:
              column:
                type: string
              id:
                type: string
              variableId:
                type: string
            required:
              - id
        totalRowsToExtract:
          enum:
            - All
            - First
            - Last
            - Random
          type: string
      required:
        - action
    UpdateARow:
      type: object
      properties:
        credentialsId:
          type: string
        sheetId:
          type: string
        spreadsheetId:
          type: string
        action:
          enum:
            - Update a row
          type: string
        cellsToUpsert:
          type: array
          items:
            type: object
            properties:
              column:
                type: string
              value:
                type: string
              id:
                type: string
            required:
              - id
        filter:
          type: object
          properties:
            comparisons:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                  column:
                    type: string
                  comparisonOperator:
                    enum:
                      - Equal to
                      - Not equal
                      - Contains
                      - Does not contain
                      - Greater than
                      - Greater or equal to
                      - Less than
                      - Less or equal to
                      - Is set
                      - Is empty
                      - Starts with
                      - Ends with
                      - Matches regex
                      - Does not match regex
                    type: string
                  value:
                    type: string
                required:
                  - id
            logicalOperator:
              enum:
                - OR
                - AND
              type: string
      required:
        - action
    BookEvent:
      type: object
      properties:
        baseUrl:
          type: string
        credentialsId:
          type: string
        action:
          const: Book event
        link:
          type: string
        layout:
          enum:
            - Month
            - Weekly
            - Columns
          type: string
        name:
          type: string
        email:
          type: string
        additionalNotes:
          type: string
        phone:
          type: string
        anyPrefilledInformations:
          type: array
          items:
            type: object
            properties:
              questionId:
                type: string
              value:
                type: string
        saveBookedDateInVariableId:
          type: string
      required:
        - action
    SendMessage:
      type: object
      properties:
        credentialsId:
          type: string
        action:
          const: Send Message
        botId:
          type: string
        threadId:
          type: string
        message:
          type: string
        responseMapping:
          type: array
          items:
            type: object
            properties:
              item:
                enum:
                  - Message
                  - Thread ID
                type: string
              variableId:
                type: string
      required:
        - action
    GenerateAQrCode:
      type: object
      properties:
        credentialsId:
          type: string
        action:
          const: Generate a QR Code
        data:
          type: string
        saveUrlInVariableId:
          type: string
      required:
        - action
    CreateChatMessage:
      type: object
      properties:
        credentialsId:
          type: string
        action:
          const: Create Chat Message
        query:
          type: string
        conversationVariableId:
          type: string
        user:
          type: string
        inputs:
          type: array
          items:
            type: object
            properties:
              key:
                type: string
              value:
                type: string
        responseMapping:
          type: array
          items:
            type: object
            properties:
              item:
                enum:
                  - Answer
                  - Total Tokens
                  - Message content
                  - Total tokens
                  - Prompt tokens
                  - Completion tokens
                type: string
              variableId:
                type: string
      required:
        - action
    ConvertTextToSpeech:
      type: object
      properties:
        credentialsId:
          type: string
        action:
          const: Convert text to speech
        text:
          type: string
        voiceId:
          type: string
        modelId:
          type: string
        saveUrlInVariableId:
          type: string
      required:
        - action
    SearchRecords:
      type: object
      properties:
        credentialsId:
          type: string
        action:
          const: Search Records
        tableId:
          type: string
        viewId:
          type: string
        returnType:
          enum:
            - All
            - First
            - Last
            - Random
          type: string
        filter:
          type: object
          properties:
            comparisons:
              type: array
              items:
                type: object
                properties:
                  input:
                    type: string
                  operator:
                    enum:
                      - Equal to
                      - Not equal
                      - Contains
                      - Greater than
                      - Less than
                      - Is set
                      - Is empty
                      - Starts with
                      - Ends with
                    type: string
                  value:
                    type: string
            joiner:
              enum:
                - AND
                - OR
              type: string
          required:
            - comparisons
        responseMapping:
          type: array
          items:
            type: object
            properties:
              fieldName:
                type: string
              variableId:
                type: string
      required:
        - action
    CreateRecord:
      type: object
      properties:
        credentialsId:
          type: string
        action:
          const: Create Record
        tableId:
          type: string
        fields:
          type: array
          items:
            type: object
            properties:
              key:
                type: string
              value:
                type: string
      required:
        - action
    UpdateExistingRecord:
      type: object
      properties:
        credentialsId:
          type: string
        action:
          const: Update Existing Record
        tableId:
          type: string
        viewId:
          type: string
        filter:
          type: object
          properties:
            comparisons:
              type: array
              items:
                type: object
                properties:
                  input:
                    type: string
                  operator:
                    enum:
                      - Equal to
                      - Not equal
                      - Contains
                      - Greater than
                      - Less than
                      - Is set
                      - Is empty
                      - Starts with
                      - Ends with
                    type: string
                  value:
                    type: string
            joiner:
              enum:
                - AND
                - OR
              type: string
          required:
            - comparisons
        updates:
          type: array
          items:
            type: object
            properties:
              fieldName:
                type: string
              value:
                type: string
      required:
        - action
    Alias:
      type: object
      properties:
        credentialsId:
          type: string
        action:
          const: Alias
        userId:
          type: string
        previousId:
          type: string
      required:
        - action
    IdentifyUser:
      type: object
      properties:
        credentialsId:
          type: string
        action:
          const: Identify User
        userId:
          type: string
        email:
          type: string
        traits:
          type: array
          items:
            type: object
            properties:
              key:
                type: string
              value:
                type: string
      required:
        - action
    Page:
      type: object
      properties:
        credentialsId:
          type: string
        action:
          const: Page
        userId:
          type: string
        name:
          type: string
        category:
          type: string
        properties:
          type: array
          items:
            type: object
            properties:
              key:
                type: string
              value:
                type: string
      required:
        - action
    Track:
      type: object
      properties:
        credentialsId:
          type: string
        action:
          const: Track
        eventName:
          type: string
        userId:
          type: string
        properties:
          type: array
          items:
            type: object
            properties:
              key:
                type: string
              value:
                type: string
      required:
        - action
    OpenWebWidget:
      type: object
      properties:
        credentialsId:
          type: string
        action:
          const: Open Web Widget
        userId:
          type: string
        name:
          type: string
        email:
          type: string
        webWidgetKey:
          type: string
      required:
        - action
    Capture:
      type: object
      properties:
        credentialsId:
          type: string
        action:
          const: Capture
        isAnonymous:
          type: boolean
        distinctId:
          type: string
        event:
          type: string
        properties:
          type: array
          items:
            type: object
            properties:
              key:
                type: string
              value:
                type: string
        personProperties:
          type: array
          items:
            type: object
            properties:
              key:
                type: string
              value:
                type: string
        groups:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
              key:
                type: string
      required:
        - action
    IdentifyGroup:
      type: object
      properties:
        credentialsId:
          type: string
        action:
          const: Identify Group
        distinctId:
          type: string
        groupType:
          type: string
        groupKey:
          type: string
        properties:
          type: array
          items:
            type: object
            properties:
              key:
                type: string
              value:
                type: string
      required:
        - action
    SendFeedEvent:
      type: object
      properties:
        credentialsId:
          type: string
        action:
          const: Send Feed Event
        categoryId:
          type: string
        ribbonColor:
          type: string
        sections:
          type: array
          items:
            anyOf:
              - type: object
                properties:
                  type:
                    not: {}
              - type: object
                properties:
                  type:
                    const: Header
                  title:
                    type: string
                  iconUrl:
                    type: string
                required:
                  - type
              - type: object
                properties:
                  type:
                    const: Text
                  value:
                    type: string
                required:
                  - type
              - type: object
                properties:
                  type:
                    const: Labelled Text
                  label:
                    type: string
                  value:
                    type: string
                  iconUrl:
                    type: string
                required:
                  - type
              - type: object
                properties:
                  type:
                    const: Image
                  imageUrl:
                    type: string
                  fitImage:
                    type: boolean
                  width:
                    anyOf:
                      - type: string
                      - type: number
                  height:
                    anyOf:
                      - type: string
                      - type: number
                required:
                  - type
              - type: object
                properties:
                  type:
                    const: Image gallery
                  imageUrls:
                    type: array
                    items:
                      type: string
                required:
                  - type
              - type: object
                properties:
                  type:
                    const: YouTube
                  link:
                    type: string
                required:
                  - type
              - type: object
                properties:
                  type:
                    const: Link
                  url:
                    type: string
                  title:
                    type: string
                  description:
                    type: string
                  imageUrl:
                    type: string
                  imagePlacement:
                    enum:
                      - left
                      - right
                      - top
                    type: string
                required:
                  - type
              - type: object
                properties:
                  type:
                    const: Buttons
                  buttons:
                    type: array
                    items:
                      type: object
                      properties:
                        clientAction:
                          anyOf:
                            - type: object
                              properties:
                                type:
                                  not: {}
                            - type: object
                              properties:
                                type:
                                  const: Open Link
                                url:
                                  type: string
                              required:
                                - type
                            - type: object
                              properties:
                                type:
                                  const: Open Webview
                                url:
                                  type: string
                              required:
                                - type
                        label:
                          type: string
                        iconUrl:
                          type: string
                      required:
                        - clientAction
                required:
                  - type
              - type: object
                properties:
                  type:
                    const: Attachment
                  url:
                    type: string
                required:
                  - type
              - type: object
                properties:
                  type:
                    const: Event
                  title:
                    type: string
                  description:
                    type: string
                  start:
                    type: string
                  end:
                    type: string
                  allDay:
                    type: boolean
                required:
                  - type
              - type: object
                properties:
                  type:
                    const: Horizontal Bar Chart
                  total:
                    anyOf:
                      - type: string
                      - type: number
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                        value:
                          anyOf:
                            - type: string
                            - type: number
                        label:
                          type: string
                required:
                  - type
        allowComments:
          type: boolean
        allowReactions:
          type: boolean
        userIds:
          type: array
          items:
            type: string
        groupIds:
          type: array
          items:
            type: string
        pushNotification:
          type: object
          properties:
            title:
              type: string
            text:
              type: string
        responseMapping:
          type: array
          items:
            type: object
            properties:
              item:
                enum:
                  - Event ID
                type: string
              variableId:
                type: string
      required:
        - action
    SendEmail:
      type: object
      properties:
        credentialsId:
          type: string
        action:
          const: Send email
        to:
          type: string
        subject:
          type: string
        body:
          type: string
        attachments:
          type: string
        label:
          type: string
        from:
          type: string
        threadId:
          type: string
        replyTo:
          type: string
        responseMapping:
          type: array
          items:
            type: object
            properties:
              item:
                enum:
                  - Thread ID
                type: string
              variableId:
                type: string
      required:
        - action
    EmployeeId:
      type: object
      properties:
        type:
          const: Employee ID
        employeeId:
          type: string
      required:
        - type
  securitySchemes:
    Authorization:
      type: http
      scheme: bearer

````