{
  "openapi": "3.0.3",
  "info": {
    "title": "Viewer API",
    "version": "3.0.0"
  },
  "servers": [
    {
      "url": "https://quick.bot/api"
    }
  ],
  "externalDocs": {
    "url": "https://docs.quick.bot/api"
  },
  "paths": {
    "/v1/conversations/preview": {
      "post": {
        "operationId": "preview-createConversationPreview",
        "summary": "Create preview conversation",
        "description": "Initiates a preview conversation for testing purposes. Responses are not saved, and action blocks (e.g., \"Send email\") are skipped.",
        "tags": [
          "Conversations"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "botId": {
                    "type": "string",
                    "description": "[Where to find my bot's ID?](https://docs.quick.bot/api/general#how-to-find-my-botid)"
                  },
                  "message": {
                    "oneOf": [
                      {
                        "type": "object",
                        "properties": {
                          "type": {
                            "type": "string",
                            "enum": [
                              "text"
                            ]
                          },
                          "text": {
                            "type": "string"
                          },
                          "value": {
                            "type": "string"
                          },
                          "attachedFileUrls": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "Can only be provided if current input block is a text input block that allows attachments"
                          },
                          "createdAt": {
                            "type": "number"
                          }
                        },
                        "required": [
                          "type",
                          "text"
                        ]
                      },
                      {
                        "type": "object",
                        "properties": {
                          "type": {
                            "type": "string",
                            "enum": [
                              "audio"
                            ]
                          },
                          "url": {
                            "type": "string"
                          },
                          "createdAt": {
                            "type": "number"
                          }
                        },
                        "required": [
                          "type",
                          "url"
                        ],
                        "description": "Can only be provided if current input block is a text input that allows audio clips"
                      }
                    ]
                  },
                  "bot": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/bot"
                      },
                      {
                        "description": "If set, it will override the bot that is used to start the chat."
                      }
                    ]
                  },
                  "startFrom": {
                    "oneOf": [
                      {
                        "type": "object",
                        "properties": {
                          "type": {
                            "type": "string",
                            "enum": [
                              "group"
                            ]
                          },
                          "groupId": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "type",
                          "groupId"
                        ]
                      },
                      {
                        "type": "object",
                        "properties": {
                          "type": {
                            "type": "string",
                            "enum": [
                              "event"
                            ]
                          },
                          "eventId": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "type",
                          "eventId"
                        ]
                      }
                    ]
                  },
                  "prefilledVariables": {
                    "type": "object",
                    "additionalProperties": {},
                    "description": "[More info about prefilled variables.](https://docs.quick.bot/builder/editor/variables#prefilled-variables)",
                    "example": {
                      "First name": "John",
                      "Email": "john@gmail.com"
                    }
                  }
                },
                "required": [
                  "botId"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "bot": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "theme": {
                          "$ref": "#/components/schemas/theme"
                        },
                        "settings": {
                          "$ref": "#/components/schemas/settings"
                        },
                        "publishedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "theme",
                        "settings"
                      ]
                    },
                    "actor": {
                      "type": "object",
                      "properties": {
                        "role": {
                          "type": "string",
                          "enum": [
                            "host"
                          ]
                        },
                        "actor": {
                          "type": "string",
                          "enum": [
                            "bot",
                            "member"
                          ]
                        },
                        "name": {
                          "type": "string"
                        },
                        "avatarUrl": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "role",
                        "actor"
                      ]
                    },
                    "messages": {
                      "type": "array",
                      "items": {
                        "allOf": [
                          {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "id"
                            ]
                          },
                          {
                            "oneOf": [
                              {
                                "$ref": "#/components/schemas/textMessage"
                              },
                              {
                                "$ref": "#/components/schemas/imageMessage"
                              },
                              {
                                "$ref": "#/components/schemas/videoMessage"
                              },
                              {
                                "$ref": "#/components/schemas/audioMessage"
                              },
                              {
                                "$ref": "#/components/schemas/embedMessage"
                              }
                            ],
                            "discriminator": {
                              "propertyName": "type",
                              "mapping": {
                                "text": "#/components/schemas/textMessage",
                                "image": "#/components/schemas/imageMessage",
                                "video": "#/components/schemas/videoMessage",
                                "audio": "#/components/schemas/audioMessage",
                                "embed": "#/components/schemas/embedMessage"
                              }
                            }
                          }
                        ]
                      }
                    },
                    "input": {
                      "allOf": [
                        {
                          "oneOf": [
                            {
                              "$ref": "#/components/schemas/textInput"
                            },
                            {
                              "$ref": "#/components/schemas/buttonsInput"
                            },
                            {
                              "$ref": "#/components/schemas/email"
                            },
                            {
                              "$ref": "#/components/schemas/numberInput"
                            },
                            {
                              "$ref": "#/components/schemas/url"
                            },
                            {
                              "$ref": "#/components/schemas/phoneNumberInput"
                            },
                            {
                              "$ref": "#/components/schemas/dateInput"
                            },
                            {
                              "$ref": "#/components/schemas/paymentInput"
                            },
                            {
                              "$ref": "#/components/schemas/mercadoPagoPaymentInput"
                            },
                            {
                              "$ref": "#/components/schemas/rating"
                            },
                            {
                              "$ref": "#/components/schemas/fileInput"
                            }
                          ],
                          "discriminator": {
                            "propertyName": "type",
                            "mapping": {
                              "text input": "#/components/schemas/textInput",
                              "buttons input": "#/components/schemas/buttonsInput",
                              "email input": "#/components/schemas/email",
                              "number input": "#/components/schemas/numberInput",
                              "url input": "#/components/schemas/url",
                              "phone number input": "#/components/schemas/phoneNumberInput",
                              "date input": "#/components/schemas/dateInput",
                              "stripe": "#/components/schemas/paymentInput",
                              "mercadopago payment": "#/components/schemas/mercadoPagoPaymentInput",
                              "rating input": "#/components/schemas/rating",
                              "file input": "#/components/schemas/fileInput"
                            }
                          }
                        },
                        {
                          "type": "object",
                          "properties": {
                            "prefilledValue": {
                              "type": "string"
                            },
                            "runtimeOptions": {
                              "anyOf": [
                                {
                                  "type": "object",
                                  "properties": {
                                    "paymentIntentSecret": {
                                      "type": "string"
                                    },
                                    "amountLabel": {
                                      "type": "string"
                                    },
                                    "publicKey": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "paymentIntentSecret",
                                    "amountLabel",
                                    "publicKey"
                                  ]
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "preferenceId": {
                                      "type": "string"
                                    },
                                    "publicKey": {
                                      "type": "string"
                                    },
                                    "amount": {
                                      "type": "number"
                                    },
                                    "amountLabel": {
                                      "type": "string"
                                    },
                                    "currency": {
                                      "type": "string"
                                    },
                                    "initPoint": {
                                      "type": "string"
                                    },
                                    "locale": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "preferenceId",
                                    "publicKey",
                                    "amount",
                                    "amountLabel",
                                    "currency"
                                  ]
                                }
                              ]
                            }
                          }
                        }
                      ]
                    },
                    "clientSideActions": {
                      "type": "array",
                      "items": {
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/csaScriptToExecute"
                          },
                          {
                            "$ref": "#/components/schemas/csaRedirect"
                          },
                          {
                            "$ref": "#/components/schemas/csaWait"
                          },
                          {
                            "$ref": "#/components/schemas/csaSetVariable"
                          },
                          {
                            "$ref": "#/components/schemas/csaInjectStartProps"
                          },
                          {
                            "$ref": "#/components/schemas/csaCodeToExecute"
                          }
                        ],
                        "discriminator": {
                          "propertyName": "type",
                          "mapping": {
                            "scriptToExecute": "#/components/schemas/csaScriptToExecute",
                            "redirect": "#/components/schemas/csaRedirect",
                            "wait": "#/components/schemas/csaWait",
                            "setVariable": "#/components/schemas/csaSetVariable",
                            "startPropsToInject": "#/components/schemas/csaInjectStartProps",
                            "codeToExecute": "#/components/schemas/csaCodeToExecute"
                          }
                        }
                      },
                      "description": "Actions to execute on the client side"
                    },
                    "logs": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "status": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string"
                          },
                          "details": {}
                        },
                        "required": [
                          "status",
                          "description"
                        ]
                      },
                      "description": "Logs that were saved during the last execution"
                    },
                    "progress": {
                      "type": "number",
                      "description": "If progress bar is enabled, this field will return a number between 0 and 100 indicating the current progress based on the longest remaining path of the flow."
                    },
                    "guestDisplayText": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "bot",
                    "actor",
                    "messages"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid input data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.BAD_REQUEST"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR"
                }
              }
            }
          }
        }
      }
    },
    "/v1/conversations": {
      "post": {
        "operationId": "web-createConversation",
        "summary": "Create conversation",
        "description": "Initiates a new conversation with a bot. Returns session information needed for subsequent interactions.",
        "tags": [
          "Conversations"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "message": {
                    "oneOf": [
                      {
                        "type": "object",
                        "properties": {
                          "type": {
                            "type": "string",
                            "enum": [
                              "text"
                            ]
                          },
                          "text": {
                            "type": "string"
                          },
                          "value": {
                            "type": "string"
                          },
                          "attachedFileUrls": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "Can only be provided if current input block is a text input block that allows attachments"
                          },
                          "createdAt": {
                            "type": "number"
                          }
                        },
                        "required": [
                          "type",
                          "text"
                        ]
                      },
                      {
                        "type": "object",
                        "properties": {
                          "type": {
                            "type": "string",
                            "enum": [
                              "audio"
                            ]
                          },
                          "url": {
                            "type": "string"
                          },
                          "createdAt": {
                            "type": "number"
                          }
                        },
                        "required": [
                          "type",
                          "url"
                        ],
                        "description": "Can only be provided if current input block is a text input that allows audio clips"
                      }
                    ]
                  },
                  "prefilledVariables": {
                    "type": "object",
                    "additionalProperties": {},
                    "example": {
                      "First name": "John",
                      "Email": "john@gmail.com"
                    }
                  },
                  "publicId": {
                    "type": "string",
                    "description": "Published bot's public ID. [Where to find it?](https://docs.quick.bot/api/general#how-to-find-my-publicid)"
                  },
                  "conversationId": {
                    "type": "string",
                    "description": "Resume an existing conversation instead of starting a new one."
                  }
                },
                "required": [
                  "publicId"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "conversationId": {
                      "type": "string"
                    },
                    "bot": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "theme": {
                          "$ref": "#/components/schemas/theme"
                        },
                        "settings": {
                          "$ref": "#/components/schemas/settings"
                        },
                        "publishedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "theme",
                        "settings"
                      ]
                    },
                    "actor": {
                      "type": "object",
                      "properties": {
                        "role": {
                          "type": "string",
                          "enum": [
                            "host"
                          ]
                        },
                        "actor": {
                          "type": "string",
                          "enum": [
                            "bot",
                            "member"
                          ]
                        },
                        "name": {
                          "type": "string"
                        },
                        "avatarUrl": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "role",
                        "actor"
                      ]
                    },
                    "messages": {
                      "type": "array",
                      "items": {
                        "allOf": [
                          {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "id"
                            ]
                          },
                          {
                            "oneOf": [
                              {
                                "$ref": "#/components/schemas/textMessage"
                              },
                              {
                                "$ref": "#/components/schemas/imageMessage"
                              },
                              {
                                "$ref": "#/components/schemas/videoMessage"
                              },
                              {
                                "$ref": "#/components/schemas/audioMessage"
                              },
                              {
                                "$ref": "#/components/schemas/embedMessage"
                              }
                            ],
                            "discriminator": {
                              "propertyName": "type",
                              "mapping": {
                                "text": "#/components/schemas/textMessage",
                                "image": "#/components/schemas/imageMessage",
                                "video": "#/components/schemas/videoMessage",
                                "audio": "#/components/schemas/audioMessage",
                                "embed": "#/components/schemas/embedMessage"
                              }
                            }
                          }
                        ]
                      }
                    },
                    "input": {
                      "allOf": [
                        {
                          "oneOf": [
                            {
                              "$ref": "#/components/schemas/textInput"
                            },
                            {
                              "$ref": "#/components/schemas/buttonsInput"
                            },
                            {
                              "$ref": "#/components/schemas/email"
                            },
                            {
                              "$ref": "#/components/schemas/numberInput"
                            },
                            {
                              "$ref": "#/components/schemas/url"
                            },
                            {
                              "$ref": "#/components/schemas/phoneNumberInput"
                            },
                            {
                              "$ref": "#/components/schemas/dateInput"
                            },
                            {
                              "$ref": "#/components/schemas/paymentInput"
                            },
                            {
                              "$ref": "#/components/schemas/mercadoPagoPaymentInput"
                            },
                            {
                              "$ref": "#/components/schemas/rating"
                            },
                            {
                              "$ref": "#/components/schemas/fileInput"
                            }
                          ],
                          "discriminator": {
                            "propertyName": "type",
                            "mapping": {
                              "text input": "#/components/schemas/textInput",
                              "buttons input": "#/components/schemas/buttonsInput",
                              "email input": "#/components/schemas/email",
                              "number input": "#/components/schemas/numberInput",
                              "url input": "#/components/schemas/url",
                              "phone number input": "#/components/schemas/phoneNumberInput",
                              "date input": "#/components/schemas/dateInput",
                              "stripe": "#/components/schemas/paymentInput",
                              "mercadopago payment": "#/components/schemas/mercadoPagoPaymentInput",
                              "rating input": "#/components/schemas/rating",
                              "file input": "#/components/schemas/fileInput"
                            }
                          }
                        },
                        {
                          "type": "object",
                          "properties": {
                            "prefilledValue": {
                              "type": "string"
                            },
                            "runtimeOptions": {
                              "anyOf": [
                                {
                                  "type": "object",
                                  "properties": {
                                    "paymentIntentSecret": {
                                      "type": "string"
                                    },
                                    "amountLabel": {
                                      "type": "string"
                                    },
                                    "publicKey": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "paymentIntentSecret",
                                    "amountLabel",
                                    "publicKey"
                                  ]
                                },
                                {
                                  "type": "object",
                                  "properties": {
                                    "preferenceId": {
                                      "type": "string"
                                    },
                                    "publicKey": {
                                      "type": "string"
                                    },
                                    "amount": {
                                      "type": "number"
                                    },
                                    "amountLabel": {
                                      "type": "string"
                                    },
                                    "currency": {
                                      "type": "string"
                                    },
                                    "initPoint": {
                                      "type": "string"
                                    },
                                    "locale": {
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "preferenceId",
                                    "publicKey",
                                    "amount",
                                    "amountLabel",
                                    "currency"
                                  ]
                                }
                              ]
                            }
                          }
                        }
                      ]
                    },
                    "clientSideActions": {
                      "type": "array",
                      "items": {
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/csaScriptToExecute"
                          },
                          {
                            "$ref": "#/components/schemas/csaRedirect"
                          },
                          {
                            "$ref": "#/components/schemas/csaWait"
                          },
                          {
                            "$ref": "#/components/schemas/csaSetVariable"
                          },
                          {
                            "$ref": "#/components/schemas/csaInjectStartProps"
                          },
                          {
                            "$ref": "#/components/schemas/csaCodeToExecute"
                          }
                        ],
                        "discriminator": {
                          "propertyName": "type",
                          "mapping": {
                            "scriptToExecute": "#/components/schemas/csaScriptToExecute",
                            "redirect": "#/components/schemas/csaRedirect",
                            "wait": "#/components/schemas/csaWait",
                            "setVariable": "#/components/schemas/csaSetVariable",
                            "startPropsToInject": "#/components/schemas/csaInjectStartProps",
                            "codeToExecute": "#/components/schemas/csaCodeToExecute"
                          }
                        }
                      },
                      "description": "Actions to execute on the client side"
                    },
                    "logs": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "status": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string"
                          },
                          "details": {}
                        },
                        "required": [
                          "status",
                          "description"
                        ]
                      },
                      "description": "Logs that were saved during the last execution"
                    },
                    "progress": {
                      "type": "number",
                      "description": "If progress bar is enabled, this field will return a number between 0 and 100 indicating the current progress based on the longest remaining path of the flow."
                    },
                    "guestDisplayText": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "bot",
                    "actor",
                    "messages"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid input data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.BAD_REQUEST"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR"
                }
              }
            }
          }
        }
      }
    },
    "/v1/generate-upload-url": {
      "post": {
        "operationId": "web-generateUploadUrl",
        "summary": "Generate upload URL",
        "description": "Used to upload anything from the client to S3 bucket",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "fileName": {
                    "type": "string"
                  },
                  "fileType": {
                    "type": "string"
                  }
                },
                "required": [
                  "fileName"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "presignedUrl": {
                      "type": "string"
                    },
                    "formData": {
                      "type": "object",
                      "additionalProperties": {}
                    },
                    "fileUrl": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "presignedUrl",
                    "formData",
                    "fileUrl"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid input data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.BAD_REQUEST"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR"
                }
              }
            }
          }
        }
      }
    },
    "/v1/workspaces/{workspaceId}/whatsapp/{credentialsId}/webhook": {
      "get": {
        "operationId": "whatsapp-subscribeWebhook",
        "summary": "Subscribe webhook",
        "tags": [
          "WhatsApp"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "workspaceId",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "in": "path",
            "name": "credentialsId",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "in": "query",
            "name": "hub.challenge",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "in": "query",
            "name": "hub.verify_token",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "number"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.BAD_REQUEST"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.NOT_FOUND"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "whatsapp-receiveMessage",
        "summary": "Message webhook",
        "tags": [
          "WhatsApp"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "workspaceId",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "in": "path",
            "name": "credentialsId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "entry": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "changes": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "value": {
                                "type": "object",
                                "properties": {
                                  "metadata": {
                                    "type": "object",
                                    "properties": {
                                      "phone_number_id": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "phone_number_id"
                                    ]
                                  },
                                  "contacts": {
                                    "type": "array",
                                    "items": {
                                      "type": "object",
                                      "properties": {
                                        "profile": {
                                          "type": "object",
                                          "properties": {
                                            "name": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "name"
                                          ]
                                        }
                                      }
                                    }
                                  },
                                  "statuses": {
                                    "type": "array",
                                    "items": {
                                      "type": "object",
                                      "properties": {
                                        "id": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "id"
                                      ]
                                    }
                                  },
                                  "messages": {
                                    "type": "array",
                                    "items": {
                                      "oneOf": [
                                        {
                                          "type": "object",
                                          "properties": {
                                            "from": {
                                              "type": "string"
                                            },
                                            "id": {
                                              "type": "string"
                                            },
                                            "referral": {
                                              "type": "object",
                                              "properties": {
                                                "ctwa_clid": {
                                                  "type": "string"
                                                }
                                              }
                                            },
                                            "timestamp": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "text"
                                              ]
                                            },
                                            "text": {
                                              "type": "object",
                                              "properties": {
                                                "body": {
                                                  "type": "string"
                                                }
                                              },
                                              "required": [
                                                "body"
                                              ]
                                            }
                                          },
                                          "required": [
                                            "from",
                                            "id",
                                            "timestamp",
                                            "type",
                                            "text"
                                          ]
                                        },
                                        {
                                          "type": "object",
                                          "properties": {
                                            "from": {
                                              "type": "string"
                                            },
                                            "id": {
                                              "type": "string"
                                            },
                                            "referral": {
                                              "type": "object",
                                              "properties": {
                                                "ctwa_clid": {
                                                  "type": "string"
                                                }
                                              }
                                            },
                                            "timestamp": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "button"
                                              ]
                                            },
                                            "button": {
                                              "type": "object",
                                              "properties": {
                                                "text": {
                                                  "type": "string"
                                                },
                                                "payload": {
                                                  "type": "string"
                                                }
                                              },
                                              "required": [
                                                "text",
                                                "payload"
                                              ]
                                            }
                                          },
                                          "required": [
                                            "from",
                                            "id",
                                            "timestamp",
                                            "type",
                                            "button"
                                          ]
                                        },
                                        {
                                          "type": "object",
                                          "properties": {
                                            "from": {
                                              "type": "string"
                                            },
                                            "id": {
                                              "type": "string"
                                            },
                                            "referral": {
                                              "type": "object",
                                              "properties": {
                                                "ctwa_clid": {
                                                  "type": "string"
                                                }
                                              }
                                            },
                                            "timestamp": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "interactive"
                                              ]
                                            },
                                            "interactive": {
                                              "type": "object",
                                              "properties": {
                                                "button_reply": {
                                                  "type": "object",
                                                  "properties": {
                                                    "id": {
                                                      "type": "string"
                                                    },
                                                    "title": {
                                                      "type": "string"
                                                    }
                                                  },
                                                  "required": [
                                                    "id",
                                                    "title"
                                                  ]
                                                },
                                                "list_reply": {
                                                  "type": "object",
                                                  "properties": {
                                                    "id": {
                                                      "type": "string"
                                                    },
                                                    "title": {
                                                      "type": "string"
                                                    },
                                                    "description": {
                                                      "type": "string"
                                                    }
                                                  },
                                                  "required": [
                                                    "id",
                                                    "title"
                                                  ]
                                                },
                                                "nfm_reply": {
                                                  "type": "object",
                                                  "properties": {
                                                    "response_json": {
                                                      "type": "string"
                                                    },
                                                    "body": {
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "type": "string"
                                                    }
                                                  },
                                                  "required": [
                                                    "response_json",
                                                    "body",
                                                    "name"
                                                  ]
                                                }
                                              }
                                            }
                                          },
                                          "required": [
                                            "from",
                                            "id",
                                            "timestamp",
                                            "type",
                                            "interactive"
                                          ]
                                        },
                                        {
                                          "type": "object",
                                          "properties": {
                                            "from": {
                                              "type": "string"
                                            },
                                            "id": {
                                              "type": "string"
                                            },
                                            "referral": {
                                              "type": "object",
                                              "properties": {
                                                "ctwa_clid": {
                                                  "type": "string"
                                                }
                                              }
                                            },
                                            "timestamp": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "image"
                                              ]
                                            },
                                            "image": {
                                              "type": "object",
                                              "properties": {
                                                "id": {
                                                  "type": "string"
                                                },
                                                "caption": {
                                                  "type": "string"
                                                }
                                              },
                                              "required": [
                                                "id"
                                              ]
                                            }
                                          },
                                          "required": [
                                            "from",
                                            "id",
                                            "timestamp",
                                            "type",
                                            "image"
                                          ]
                                        },
                                        {
                                          "type": "object",
                                          "properties": {
                                            "from": {
                                              "type": "string"
                                            },
                                            "id": {
                                              "type": "string"
                                            },
                                            "referral": {
                                              "type": "object",
                                              "properties": {
                                                "ctwa_clid": {
                                                  "type": "string"
                                                }
                                              }
                                            },
                                            "timestamp": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "video"
                                              ]
                                            },
                                            "video": {
                                              "type": "object",
                                              "properties": {
                                                "id": {
                                                  "type": "string"
                                                },
                                                "caption": {
                                                  "type": "string"
                                                }
                                              },
                                              "required": [
                                                "id"
                                              ]
                                            }
                                          },
                                          "required": [
                                            "from",
                                            "id",
                                            "timestamp",
                                            "type",
                                            "video"
                                          ]
                                        },
                                        {
                                          "type": "object",
                                          "properties": {
                                            "from": {
                                              "type": "string"
                                            },
                                            "id": {
                                              "type": "string"
                                            },
                                            "referral": {
                                              "type": "object",
                                              "properties": {
                                                "ctwa_clid": {
                                                  "type": "string"
                                                }
                                              }
                                            },
                                            "timestamp": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "audio"
                                              ]
                                            },
                                            "audio": {
                                              "type": "object",
                                              "properties": {
                                                "id": {
                                                  "type": "string"
                                                }
                                              },
                                              "required": [
                                                "id"
                                              ]
                                            }
                                          },
                                          "required": [
                                            "from",
                                            "id",
                                            "timestamp",
                                            "type",
                                            "audio"
                                          ]
                                        },
                                        {
                                          "type": "object",
                                          "properties": {
                                            "from": {
                                              "type": "string"
                                            },
                                            "id": {
                                              "type": "string"
                                            },
                                            "referral": {
                                              "type": "object",
                                              "properties": {
                                                "ctwa_clid": {
                                                  "type": "string"
                                                }
                                              }
                                            },
                                            "timestamp": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "sticker"
                                              ]
                                            },
                                            "sticker": {
                                              "type": "object",
                                              "properties": {
                                                "id": {
                                                  "type": "string"
                                                },
                                                "animated": {
                                                  "type": "boolean"
                                                }
                                              },
                                              "required": [
                                                "id"
                                              ]
                                            }
                                          },
                                          "required": [
                                            "from",
                                            "id",
                                            "timestamp",
                                            "type",
                                            "sticker"
                                          ]
                                        },
                                        {
                                          "type": "object",
                                          "properties": {
                                            "from": {
                                              "type": "string"
                                            },
                                            "id": {
                                              "type": "string"
                                            },
                                            "referral": {
                                              "type": "object",
                                              "properties": {
                                                "ctwa_clid": {
                                                  "type": "string"
                                                }
                                              }
                                            },
                                            "timestamp": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "document"
                                              ]
                                            },
                                            "document": {
                                              "type": "object",
                                              "properties": {
                                                "id": {
                                                  "type": "string"
                                                },
                                                "caption": {
                                                  "type": "string"
                                                }
                                              },
                                              "required": [
                                                "id"
                                              ]
                                            }
                                          },
                                          "required": [
                                            "from",
                                            "id",
                                            "timestamp",
                                            "type",
                                            "document"
                                          ]
                                        },
                                        {
                                          "type": "object",
                                          "properties": {
                                            "from": {
                                              "type": "string"
                                            },
                                            "id": {
                                              "type": "string"
                                            },
                                            "referral": {
                                              "type": "object",
                                              "properties": {
                                                "ctwa_clid": {
                                                  "type": "string"
                                                }
                                              }
                                            },
                                            "timestamp": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "location"
                                              ]
                                            },
                                            "location": {
                                              "type": "object",
                                              "properties": {
                                                "latitude": {
                                                  "type": "number"
                                                },
                                                "longitude": {
                                                  "type": "number"
                                                }
                                              },
                                              "required": [
                                                "latitude",
                                                "longitude"
                                              ]
                                            }
                                          },
                                          "required": [
                                            "from",
                                            "id",
                                            "timestamp",
                                            "type",
                                            "location"
                                          ]
                                        }
                                      ]
                                    }
                                  }
                                },
                                "required": [
                                  "metadata"
                                ]
                              }
                            },
                            "required": [
                              "value"
                            ]
                          }
                        }
                      },
                      "required": [
                        "changes"
                      ]
                    }
                  }
                },
                "required": [
                  "entry"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid input data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.BAD_REQUEST"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR"
                }
              }
            }
          }
        }
      }
    },
    "/v1/whatsapp/partner/webhook": {
      "get": {
        "operationId": "whatsapp-subscribeWebhookPartner",
        "summary": "Subscribe webhook partner",
        "tags": [
          "WhatsApp"
        ],
        "security": [
          {
            "Authorization": []
          }
        ],
        "parameters": [
          {
            "in": "query",
            "name": "hub.challenge",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "in": "query",
            "name": "hub.verify_token",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "number"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.BAD_REQUEST"
                }
              }
            }
          },
          "401": {
            "description": "Authorization not provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.UNAUTHORIZED"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient access",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.FORBIDDEN"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.NOT_FOUND"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "whatsapp-receiveMessagePartner",
        "summary": "WhatsApp webhook partner",
        "tags": [
          "WhatsApp"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "entry": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "changes": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "value": {
                                "type": "object",
                                "properties": {
                                  "metadata": {
                                    "type": "object",
                                    "properties": {
                                      "phone_number_id": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "phone_number_id"
                                    ]
                                  },
                                  "contacts": {
                                    "type": "array",
                                    "items": {
                                      "type": "object",
                                      "properties": {
                                        "profile": {
                                          "type": "object",
                                          "properties": {
                                            "name": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "name"
                                          ]
                                        }
                                      }
                                    }
                                  },
                                  "statuses": {
                                    "type": "array",
                                    "items": {
                                      "type": "object",
                                      "properties": {
                                        "id": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "id"
                                      ]
                                    }
                                  },
                                  "messages": {
                                    "type": "array",
                                    "items": {
                                      "oneOf": [
                                        {
                                          "type": "object",
                                          "properties": {
                                            "from": {
                                              "type": "string"
                                            },
                                            "id": {
                                              "type": "string"
                                            },
                                            "referral": {
                                              "type": "object",
                                              "properties": {
                                                "ctwa_clid": {
                                                  "type": "string"
                                                }
                                              }
                                            },
                                            "timestamp": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "text"
                                              ]
                                            },
                                            "text": {
                                              "type": "object",
                                              "properties": {
                                                "body": {
                                                  "type": "string"
                                                }
                                              },
                                              "required": [
                                                "body"
                                              ]
                                            }
                                          },
                                          "required": [
                                            "from",
                                            "id",
                                            "timestamp",
                                            "type",
                                            "text"
                                          ]
                                        },
                                        {
                                          "type": "object",
                                          "properties": {
                                            "from": {
                                              "type": "string"
                                            },
                                            "id": {
                                              "type": "string"
                                            },
                                            "referral": {
                                              "type": "object",
                                              "properties": {
                                                "ctwa_clid": {
                                                  "type": "string"
                                                }
                                              }
                                            },
                                            "timestamp": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "button"
                                              ]
                                            },
                                            "button": {
                                              "type": "object",
                                              "properties": {
                                                "text": {
                                                  "type": "string"
                                                },
                                                "payload": {
                                                  "type": "string"
                                                }
                                              },
                                              "required": [
                                                "text",
                                                "payload"
                                              ]
                                            }
                                          },
                                          "required": [
                                            "from",
                                            "id",
                                            "timestamp",
                                            "type",
                                            "button"
                                          ]
                                        },
                                        {
                                          "type": "object",
                                          "properties": {
                                            "from": {
                                              "type": "string"
                                            },
                                            "id": {
                                              "type": "string"
                                            },
                                            "referral": {
                                              "type": "object",
                                              "properties": {
                                                "ctwa_clid": {
                                                  "type": "string"
                                                }
                                              }
                                            },
                                            "timestamp": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "interactive"
                                              ]
                                            },
                                            "interactive": {
                                              "type": "object",
                                              "properties": {
                                                "button_reply": {
                                                  "type": "object",
                                                  "properties": {
                                                    "id": {
                                                      "type": "string"
                                                    },
                                                    "title": {
                                                      "type": "string"
                                                    }
                                                  },
                                                  "required": [
                                                    "id",
                                                    "title"
                                                  ]
                                                },
                                                "list_reply": {
                                                  "type": "object",
                                                  "properties": {
                                                    "id": {
                                                      "type": "string"
                                                    },
                                                    "title": {
                                                      "type": "string"
                                                    },
                                                    "description": {
                                                      "type": "string"
                                                    }
                                                  },
                                                  "required": [
                                                    "id",
                                                    "title"
                                                  ]
                                                },
                                                "nfm_reply": {
                                                  "type": "object",
                                                  "properties": {
                                                    "response_json": {
                                                      "type": "string"
                                                    },
                                                    "body": {
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "type": "string"
                                                    }
                                                  },
                                                  "required": [
                                                    "response_json",
                                                    "body",
                                                    "name"
                                                  ]
                                                }
                                              }
                                            }
                                          },
                                          "required": [
                                            "from",
                                            "id",
                                            "timestamp",
                                            "type",
                                            "interactive"
                                          ]
                                        },
                                        {
                                          "type": "object",
                                          "properties": {
                                            "from": {
                                              "type": "string"
                                            },
                                            "id": {
                                              "type": "string"
                                            },
                                            "referral": {
                                              "type": "object",
                                              "properties": {
                                                "ctwa_clid": {
                                                  "type": "string"
                                                }
                                              }
                                            },
                                            "timestamp": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "image"
                                              ]
                                            },
                                            "image": {
                                              "type": "object",
                                              "properties": {
                                                "id": {
                                                  "type": "string"
                                                },
                                                "caption": {
                                                  "type": "string"
                                                }
                                              },
                                              "required": [
                                                "id"
                                              ]
                                            }
                                          },
                                          "required": [
                                            "from",
                                            "id",
                                            "timestamp",
                                            "type",
                                            "image"
                                          ]
                                        },
                                        {
                                          "type": "object",
                                          "properties": {
                                            "from": {
                                              "type": "string"
                                            },
                                            "id": {
                                              "type": "string"
                                            },
                                            "referral": {
                                              "type": "object",
                                              "properties": {
                                                "ctwa_clid": {
                                                  "type": "string"
                                                }
                                              }
                                            },
                                            "timestamp": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "video"
                                              ]
                                            },
                                            "video": {
                                              "type": "object",
                                              "properties": {
                                                "id": {
                                                  "type": "string"
                                                },
                                                "caption": {
                                                  "type": "string"
                                                }
                                              },
                                              "required": [
                                                "id"
                                              ]
                                            }
                                          },
                                          "required": [
                                            "from",
                                            "id",
                                            "timestamp",
                                            "type",
                                            "video"
                                          ]
                                        },
                                        {
                                          "type": "object",
                                          "properties": {
                                            "from": {
                                              "type": "string"
                                            },
                                            "id": {
                                              "type": "string"
                                            },
                                            "referral": {
                                              "type": "object",
                                              "properties": {
                                                "ctwa_clid": {
                                                  "type": "string"
                                                }
                                              }
                                            },
                                            "timestamp": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "audio"
                                              ]
                                            },
                                            "audio": {
                                              "type": "object",
                                              "properties": {
                                                "id": {
                                                  "type": "string"
                                                }
                                              },
                                              "required": [
                                                "id"
                                              ]
                                            }
                                          },
                                          "required": [
                                            "from",
                                            "id",
                                            "timestamp",
                                            "type",
                                            "audio"
                                          ]
                                        },
                                        {
                                          "type": "object",
                                          "properties": {
                                            "from": {
                                              "type": "string"
                                            },
                                            "id": {
                                              "type": "string"
                                            },
                                            "referral": {
                                              "type": "object",
                                              "properties": {
                                                "ctwa_clid": {
                                                  "type": "string"
                                                }
                                              }
                                            },
                                            "timestamp": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "sticker"
                                              ]
                                            },
                                            "sticker": {
                                              "type": "object",
                                              "properties": {
                                                "id": {
                                                  "type": "string"
                                                },
                                                "animated": {
                                                  "type": "boolean"
                                                }
                                              },
                                              "required": [
                                                "id"
                                              ]
                                            }
                                          },
                                          "required": [
                                            "from",
                                            "id",
                                            "timestamp",
                                            "type",
                                            "sticker"
                                          ]
                                        },
                                        {
                                          "type": "object",
                                          "properties": {
                                            "from": {
                                              "type": "string"
                                            },
                                            "id": {
                                              "type": "string"
                                            },
                                            "referral": {
                                              "type": "object",
                                              "properties": {
                                                "ctwa_clid": {
                                                  "type": "string"
                                                }
                                              }
                                            },
                                            "timestamp": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "document"
                                              ]
                                            },
                                            "document": {
                                              "type": "object",
                                              "properties": {
                                                "id": {
                                                  "type": "string"
                                                },
                                                "caption": {
                                                  "type": "string"
                                                }
                                              },
                                              "required": [
                                                "id"
                                              ]
                                            }
                                          },
                                          "required": [
                                            "from",
                                            "id",
                                            "timestamp",
                                            "type",
                                            "document"
                                          ]
                                        },
                                        {
                                          "type": "object",
                                          "properties": {
                                            "from": {
                                              "type": "string"
                                            },
                                            "id": {
                                              "type": "string"
                                            },
                                            "referral": {
                                              "type": "object",
                                              "properties": {
                                                "ctwa_clid": {
                                                  "type": "string"
                                                }
                                              }
                                            },
                                            "timestamp": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "location"
                                              ]
                                            },
                                            "location": {
                                              "type": "object",
                                              "properties": {
                                                "latitude": {
                                                  "type": "number"
                                                },
                                                "longitude": {
                                                  "type": "number"
                                                }
                                              },
                                              "required": [
                                                "latitude",
                                                "longitude"
                                              ]
                                            }
                                          },
                                          "required": [
                                            "from",
                                            "id",
                                            "timestamp",
                                            "type",
                                            "location"
                                          ]
                                        }
                                      ]
                                    }
                                  }
                                },
                                "required": [
                                  "metadata"
                                ]
                              }
                            },
                            "required": [
                              "value"
                            ]
                          }
                        }
                      },
                      "required": [
                        "changes"
                      ]
                    }
                  }
                },
                "required": [
                  "entry"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid input data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.BAD_REQUEST"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR"
                }
              }
            }
          }
        }
      }
    },
    "/v1/whatsapp/preview/webhook": {
      "get": {
        "operationId": "whatsappPreview-subscribeWebhook",
        "summary": "Subscribe webhook",
        "tags": [
          "WhatsApp"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "hub.challenge",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "in": "query",
            "name": "hub.verify_token",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "number"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.BAD_REQUEST"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.NOT_FOUND"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "whatsappPreview-receiveMessage",
        "summary": "Message webhook",
        "tags": [
          "WhatsApp"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "entry": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "changes": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "value": {
                                "type": "object",
                                "properties": {
                                  "metadata": {
                                    "type": "object",
                                    "properties": {
                                      "phone_number_id": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "phone_number_id"
                                    ]
                                  },
                                  "contacts": {
                                    "type": "array",
                                    "items": {
                                      "type": "object",
                                      "properties": {
                                        "profile": {
                                          "type": "object",
                                          "properties": {
                                            "name": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "name"
                                          ]
                                        }
                                      }
                                    }
                                  },
                                  "statuses": {
                                    "type": "array",
                                    "items": {
                                      "type": "object",
                                      "properties": {
                                        "id": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "id"
                                      ]
                                    }
                                  },
                                  "messages": {
                                    "type": "array",
                                    "items": {
                                      "oneOf": [
                                        {
                                          "type": "object",
                                          "properties": {
                                            "from": {
                                              "type": "string"
                                            },
                                            "id": {
                                              "type": "string"
                                            },
                                            "referral": {
                                              "type": "object",
                                              "properties": {
                                                "ctwa_clid": {
                                                  "type": "string"
                                                }
                                              }
                                            },
                                            "timestamp": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "text"
                                              ]
                                            },
                                            "text": {
                                              "type": "object",
                                              "properties": {
                                                "body": {
                                                  "type": "string"
                                                }
                                              },
                                              "required": [
                                                "body"
                                              ]
                                            }
                                          },
                                          "required": [
                                            "from",
                                            "id",
                                            "timestamp",
                                            "type",
                                            "text"
                                          ]
                                        },
                                        {
                                          "type": "object",
                                          "properties": {
                                            "from": {
                                              "type": "string"
                                            },
                                            "id": {
                                              "type": "string"
                                            },
                                            "referral": {
                                              "type": "object",
                                              "properties": {
                                                "ctwa_clid": {
                                                  "type": "string"
                                                }
                                              }
                                            },
                                            "timestamp": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "button"
                                              ]
                                            },
                                            "button": {
                                              "type": "object",
                                              "properties": {
                                                "text": {
                                                  "type": "string"
                                                },
                                                "payload": {
                                                  "type": "string"
                                                }
                                              },
                                              "required": [
                                                "text",
                                                "payload"
                                              ]
                                            }
                                          },
                                          "required": [
                                            "from",
                                            "id",
                                            "timestamp",
                                            "type",
                                            "button"
                                          ]
                                        },
                                        {
                                          "type": "object",
                                          "properties": {
                                            "from": {
                                              "type": "string"
                                            },
                                            "id": {
                                              "type": "string"
                                            },
                                            "referral": {
                                              "type": "object",
                                              "properties": {
                                                "ctwa_clid": {
                                                  "type": "string"
                                                }
                                              }
                                            },
                                            "timestamp": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "interactive"
                                              ]
                                            },
                                            "interactive": {
                                              "type": "object",
                                              "properties": {
                                                "button_reply": {
                                                  "type": "object",
                                                  "properties": {
                                                    "id": {
                                                      "type": "string"
                                                    },
                                                    "title": {
                                                      "type": "string"
                                                    }
                                                  },
                                                  "required": [
                                                    "id",
                                                    "title"
                                                  ]
                                                },
                                                "list_reply": {
                                                  "type": "object",
                                                  "properties": {
                                                    "id": {
                                                      "type": "string"
                                                    },
                                                    "title": {
                                                      "type": "string"
                                                    },
                                                    "description": {
                                                      "type": "string"
                                                    }
                                                  },
                                                  "required": [
                                                    "id",
                                                    "title"
                                                  ]
                                                },
                                                "nfm_reply": {
                                                  "type": "object",
                                                  "properties": {
                                                    "response_json": {
                                                      "type": "string"
                                                    },
                                                    "body": {
                                                      "type": "string"
                                                    },
                                                    "name": {
                                                      "type": "string"
                                                    }
                                                  },
                                                  "required": [
                                                    "response_json",
                                                    "body",
                                                    "name"
                                                  ]
                                                }
                                              }
                                            }
                                          },
                                          "required": [
                                            "from",
                                            "id",
                                            "timestamp",
                                            "type",
                                            "interactive"
                                          ]
                                        },
                                        {
                                          "type": "object",
                                          "properties": {
                                            "from": {
                                              "type": "string"
                                            },
                                            "id": {
                                              "type": "string"
                                            },
                                            "referral": {
                                              "type": "object",
                                              "properties": {
                                                "ctwa_clid": {
                                                  "type": "string"
                                                }
                                              }
                                            },
                                            "timestamp": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "image"
                                              ]
                                            },
                                            "image": {
                                              "type": "object",
                                              "properties": {
                                                "id": {
                                                  "type": "string"
                                                },
                                                "caption": {
                                                  "type": "string"
                                                }
                                              },
                                              "required": [
                                                "id"
                                              ]
                                            }
                                          },
                                          "required": [
                                            "from",
                                            "id",
                                            "timestamp",
                                            "type",
                                            "image"
                                          ]
                                        },
                                        {
                                          "type": "object",
                                          "properties": {
                                            "from": {
                                              "type": "string"
                                            },
                                            "id": {
                                              "type": "string"
                                            },
                                            "referral": {
                                              "type": "object",
                                              "properties": {
                                                "ctwa_clid": {
                                                  "type": "string"
                                                }
                                              }
                                            },
                                            "timestamp": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "video"
                                              ]
                                            },
                                            "video": {
                                              "type": "object",
                                              "properties": {
                                                "id": {
                                                  "type": "string"
                                                },
                                                "caption": {
                                                  "type": "string"
                                                }
                                              },
                                              "required": [
                                                "id"
                                              ]
                                            }
                                          },
                                          "required": [
                                            "from",
                                            "id",
                                            "timestamp",
                                            "type",
                                            "video"
                                          ]
                                        },
                                        {
                                          "type": "object",
                                          "properties": {
                                            "from": {
                                              "type": "string"
                                            },
                                            "id": {
                                              "type": "string"
                                            },
                                            "referral": {
                                              "type": "object",
                                              "properties": {
                                                "ctwa_clid": {
                                                  "type": "string"
                                                }
                                              }
                                            },
                                            "timestamp": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "audio"
                                              ]
                                            },
                                            "audio": {
                                              "type": "object",
                                              "properties": {
                                                "id": {
                                                  "type": "string"
                                                }
                                              },
                                              "required": [
                                                "id"
                                              ]
                                            }
                                          },
                                          "required": [
                                            "from",
                                            "id",
                                            "timestamp",
                                            "type",
                                            "audio"
                                          ]
                                        },
                                        {
                                          "type": "object",
                                          "properties": {
                                            "from": {
                                              "type": "string"
                                            },
                                            "id": {
                                              "type": "string"
                                            },
                                            "referral": {
                                              "type": "object",
                                              "properties": {
                                                "ctwa_clid": {
                                                  "type": "string"
                                                }
                                              }
                                            },
                                            "timestamp": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "sticker"
                                              ]
                                            },
                                            "sticker": {
                                              "type": "object",
                                              "properties": {
                                                "id": {
                                                  "type": "string"
                                                },
                                                "animated": {
                                                  "type": "boolean"
                                                }
                                              },
                                              "required": [
                                                "id"
                                              ]
                                            }
                                          },
                                          "required": [
                                            "from",
                                            "id",
                                            "timestamp",
                                            "type",
                                            "sticker"
                                          ]
                                        },
                                        {
                                          "type": "object",
                                          "properties": {
                                            "from": {
                                              "type": "string"
                                            },
                                            "id": {
                                              "type": "string"
                                            },
                                            "referral": {
                                              "type": "object",
                                              "properties": {
                                                "ctwa_clid": {
                                                  "type": "string"
                                                }
                                              }
                                            },
                                            "timestamp": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "document"
                                              ]
                                            },
                                            "document": {
                                              "type": "object",
                                              "properties": {
                                                "id": {
                                                  "type": "string"
                                                },
                                                "caption": {
                                                  "type": "string"
                                                }
                                              },
                                              "required": [
                                                "id"
                                              ]
                                            }
                                          },
                                          "required": [
                                            "from",
                                            "id",
                                            "timestamp",
                                            "type",
                                            "document"
                                          ]
                                        },
                                        {
                                          "type": "object",
                                          "properties": {
                                            "from": {
                                              "type": "string"
                                            },
                                            "id": {
                                              "type": "string"
                                            },
                                            "referral": {
                                              "type": "object",
                                              "properties": {
                                                "ctwa_clid": {
                                                  "type": "string"
                                                }
                                              }
                                            },
                                            "timestamp": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "type": "string",
                                              "enum": [
                                                "location"
                                              ]
                                            },
                                            "location": {
                                              "type": "object",
                                              "properties": {
                                                "latitude": {
                                                  "type": "number"
                                                },
                                                "longitude": {
                                                  "type": "number"
                                                }
                                              },
                                              "required": [
                                                "latitude",
                                                "longitude"
                                              ]
                                            }
                                          },
                                          "required": [
                                            "from",
                                            "id",
                                            "timestamp",
                                            "type",
                                            "location"
                                          ]
                                        }
                                      ]
                                    }
                                  }
                                },
                                "required": [
                                  "metadata"
                                ]
                              }
                            },
                            "required": [
                              "value"
                            ]
                          }
                        }
                      },
                      "required": [
                        "changes"
                      ]
                    }
                  }
                },
                "required": [
                  "entry"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "message"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid input data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.BAD_REQUEST"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "Authorization": {
        "type": "http",
        "scheme": "bearer"
      }
    },
    "schemas": {
      "bot": {
        "type": "object",
        "properties": {
          "version": {
            "type": "string",
            "enum": [
              "6"
            ]
          },
          "id": {
            "type": "string"
          },
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/group"
            }
          },
          "events": {
            "type": "array",
            "maxItems": 1,
            "minItems": 1,
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/event"
                }
              ]
            }
          },
          "edges": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "from": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "blockId": {
                          "type": "string"
                        },
                        "itemId": {
                          "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"
                },
                "isSystemVariable": {
                  "type": "boolean"
                },
                "isSavedVariable": {
                  "type": "boolean"
                },
                "isSecretVariable": {
                  "type": "boolean"
                },
                "value": {
                  "nullable": true,
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "nullable": true
                      }
                    }
                  ]
                }
              },
              "required": [
                "id",
                "name"
              ]
            }
          },
          "settings": {
            "$ref": "#/components/schemas/settings"
          },
          "theme": {
            "$ref": "#/components/schemas/theme"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "version",
          "id",
          "groups",
          "events",
          "edges",
          "variables",
          "settings",
          "theme",
          "updatedAt"
        ],
        "title": "Bot"
      },
      "group": {
        "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": {
              "$ref": "#/components/schemas/block"
            }
          }
        },
        "required": [
          "id",
          "title",
          "graphCoordinates",
          "blocks"
        ],
        "title": "Group"
      },
      "block": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "text"
                ]
              },
              "content": {
                "type": "object",
                "properties": {
                  "markdown": {
                    "type": "string",
                    "default": ""
                  }
                },
                "default": {}
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "image"
                ]
              },
              "content": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string"
                  },
                  "clickLink": {
                    "type": "object",
                    "properties": {
                      "url": {
                        "type": "string"
                      },
                      "alt": {
                        "type": "string"
                      }
                    }
                  }
                },
                "default": {}
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "video"
                ]
              },
              "content": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string"
                  },
                  "id": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "url",
                      "youtube",
                      "vimeo",
                      "tiktok",
                      "gumlet"
                    ]
                  },
                  "height": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {}
                    ]
                  },
                  "aspectRatio": {
                    "type": "string"
                  },
                  "maxWidth": {
                    "type": "string"
                  },
                  "queryParamsStr": {
                    "type": "string"
                  },
                  "areControlsDisplayed": {
                    "type": "boolean"
                  },
                  "isAutoplayEnabled": {
                    "type": "boolean"
                  }
                },
                "default": {}
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "embed"
                ]
              },
              "content": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string"
                  },
                  "height": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {}
                    ]
                  },
                  "waitForEvent": {
                    "type": "object",
                    "properties": {
                      "isEnabled": {
                        "type": "boolean"
                      },
                      "name": {
                        "type": "string"
                      },
                      "saveDataInVariableId": {
                        "type": "string"
                      }
                    }
                  },
                  "initFunction": {
                    "type": "object",
                    "properties": {
                      "args": {
                        "type": "object",
                        "additionalProperties": {}
                      },
                      "content": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "args",
                      "content"
                    ]
                  },
                  "waitForEventFunction": {
                    "type": "object",
                    "properties": {
                      "args": {
                        "type": "object",
                        "additionalProperties": {}
                      },
                      "content": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "args",
                      "content"
                    ]
                  }
                },
                "default": {}
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "audio"
                ]
              },
              "content": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string"
                  },
                  "isAutoplayEnabled": {
                    "type": "boolean"
                  }
                },
                "default": {}
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "$ref": "#/components/schemas/textInput"
          },
          {
            "$ref": "#/components/schemas/buttonsInput"
          },
          {
            "$ref": "#/components/schemas/email"
          },
          {
            "$ref": "#/components/schemas/numberInput"
          },
          {
            "$ref": "#/components/schemas/url"
          },
          {
            "$ref": "#/components/schemas/phoneNumberInput"
          },
          {
            "$ref": "#/components/schemas/dateInput"
          },
          {
            "$ref": "#/components/schemas/rating"
          },
          {
            "$ref": "#/components/schemas/fileInput"
          },
          {
            "$ref": "#/components/schemas/paymentInput"
          },
          {
            "$ref": "#/components/schemas/mercadoPagoPaymentInput"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "script"
                ]
              },
              "options": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "content": {
                    "type": "string"
                  },
                  "isExecutedOnClient": {
                    "type": "boolean"
                  },
                  "shouldExecuteInParentContext": {
                    "type": "boolean"
                  }
                }
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "Condition"
                ]
              },
              "items": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "outgoingEdgeId": {
                      "type": "string"
                    },
                    "content": {
                      "type": "object",
                      "properties": {
                        "logicalOperator": {
                          "type": "string",
                          "enum": [
                            "OR",
                            "AND"
                          ]
                        },
                        "comparisons": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string"
                              },
                              "variableId": {
                                "type": "string"
                              },
                              "comparisonOperator": {
                                "type": "string",
                                "enum": [
                                  "Equal to",
                                  "Not equal",
                                  "Greater than",
                                  "Less than",
                                  "Is set",
                                  "Is empty",
                                  "Is not empty",
                                  "Contains",
                                  "Does not contain",
                                  "Starts with",
                                  "Ends with",
                                  "Matches regex",
                                  "Does not match regex"
                                ]
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "id"
                            ]
                          }
                        }
                      }
                    }
                  },
                  "required": [
                    "id"
                  ]
                }
              }
            },
            "required": [
              "id",
              "type",
              "items"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "Redirect"
                ]
              },
              "options": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string"
                  },
                  "isNewTab": {
                    "type": "boolean"
                  }
                }
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "Variable"
                ]
              },
              "options": {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "variableId": {
                        "type": "string"
                      },
                      "isExecutedOnClient": {
                        "type": "boolean"
                      },
                      "expressionToEvaluate": {
                        "type": "string"
                      },
                      "isCode": {
                        "type": "boolean"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "variableId": {
                        "type": "string"
                      },
                      "isExecutedOnClient": {
                        "type": "boolean"
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Empty"
                        ]
                      }
                    },
                    "required": [
                      "type"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "variableId": {
                        "type": "string"
                      },
                      "isExecutedOnClient": {
                        "type": "boolean"
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Set"
                        ]
                      },
                      "expressionToEvaluate": {
                        "type": "string"
                      },
                      "isCode": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "type"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "variableId": {
                        "type": "string"
                      },
                      "isExecutedOnClient": {
                        "type": "boolean"
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Map item with same index"
                        ]
                      },
                      "mapListItemParams": {
                        "type": "object",
                        "properties": {
                          "baseItemVariableId": {
                            "type": "string"
                          },
                          "baseListVariableId": {
                            "type": "string"
                          },
                          "targetListVariableId": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "required": [
                      "type"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "variableId": {
                        "type": "string"
                      },
                      "isExecutedOnClient": {
                        "type": "boolean"
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Append value(s)"
                        ]
                      },
                      "item": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "type"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "variableId": {
                        "type": "string"
                      },
                      "isExecutedOnClient": {
                        "type": "boolean"
                      },
                      "type": {
                        "type": "string",
                        "enum": [
                          "Pop",
                          "Shift"
                        ]
                      },
                      "saveItemInVariableId": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "type"
                    ]
                  }
                ]
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "Bot link"
                ]
              },
              "options": {
                "type": "object",
                "properties": {
                  "botId": {
                    "type": "string"
                  },
                  "groupId": {
                    "type": "string"
                  }
                }
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "Wait"
                ]
              },
              "options": {
                "type": "object",
                "properties": {
                  "secondsToWaitFor": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {}
                    ]
                  }
                }
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "Jump"
                ]
              },
              "options": {
                "type": "object",
                "properties": {
                  "groupId": {
                    "type": "string"
                  },
                  "blockId": {
                    "type": "string"
                  }
                }
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "AB test"
                ]
              },
              "items": {
                "type": "array",
                "maxItems": 2,
                "minItems": 2,
                "items": {
                  "oneOf": [
                    {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "outgoingEdgeId": {
                          "type": "string"
                        },
                        "path": {
                          "type": "string",
                          "enum": [
                            "a"
                          ]
                        }
                      },
                      "required": [
                        "id",
                        "path"
                      ]
                    },
                    {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "outgoingEdgeId": {
                          "type": "string"
                        },
                        "path": {
                          "type": "string",
                          "enum": [
                            "b"
                          ]
                        }
                      },
                      "required": [
                        "id",
                        "path"
                      ]
                    }
                  ]
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "aPercent": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 100
                  }
                }
              }
            },
            "required": [
              "id",
              "type",
              "items"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "openai"
                ]
              },
              "options": {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Create chat completion"
                        ]
                      },
                      "model": {
                        "type": "string"
                      },
                      "messages": {
                        "type": "array",
                        "items": {
                          "oneOf": [
                            {
                              "type": "object",
                              "properties": {}
                            },
                            {
                              "type": "object",
                              "properties": {
                                "role": {
                                  "type": "string",
                                  "enum": [
                                    "system"
                                  ]
                                },
                                "content": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role"
                              ]
                            },
                            {
                              "type": "object",
                              "properties": {
                                "role": {
                                  "type": "string",
                                  "enum": [
                                    "user"
                                  ]
                                },
                                "content": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role"
                              ]
                            },
                            {
                              "type": "object",
                              "properties": {
                                "role": {
                                  "type": "string",
                                  "enum": [
                                    "assistant"
                                  ]
                                },
                                "content": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role"
                              ]
                            },
                            {
                              "type": "object",
                              "properties": {
                                "role": {
                                  "type": "string",
                                  "enum": [
                                    "Dialogue"
                                  ]
                                },
                                "dialogueVariableId": {
                                  "type": "string"
                                },
                                "startsBy": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role"
                              ]
                            }
                          ]
                        }
                      },
                      "tools": {
                        "type": "array",
                        "items": {
                          "oneOf": [
                            {
                              "type": "object",
                              "properties": {}
                            },
                            {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "function"
                                  ]
                                },
                                "name": {
                                  "type": "string"
                                },
                                "description": {
                                  "type": "string"
                                },
                                "parameters": {
                                  "type": "array",
                                  "items": {
                                    "oneOf": [
                                      {
                                        "type": "object",
                                        "properties": {}
                                      },
                                      {
                                        "type": "object",
                                        "properties": {
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "string"
                                            ]
                                          },
                                          "name": {
                                            "type": "string"
                                          },
                                          "description": {
                                            "type": "string"
                                          },
                                          "required": {
                                            "type": "boolean"
                                          }
                                        },
                                        "required": [
                                          "type"
                                        ]
                                      },
                                      {
                                        "type": "object",
                                        "properties": {
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "number"
                                            ]
                                          },
                                          "name": {
                                            "type": "string"
                                          },
                                          "description": {
                                            "type": "string"
                                          },
                                          "required": {
                                            "type": "boolean"
                                          }
                                        },
                                        "required": [
                                          "type"
                                        ]
                                      },
                                      {
                                        "type": "object",
                                        "properties": {
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "boolean"
                                            ]
                                          },
                                          "name": {
                                            "type": "string"
                                          },
                                          "description": {
                                            "type": "string"
                                          },
                                          "required": {
                                            "type": "boolean"
                                          }
                                        },
                                        "required": [
                                          "type"
                                        ]
                                      },
                                      {
                                        "type": "object",
                                        "properties": {
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "enum"
                                            ]
                                          },
                                          "values": {
                                            "type": "array",
                                            "items": {
                                              "type": "string"
                                            }
                                          },
                                          "name": {
                                            "type": "string"
                                          },
                                          "description": {
                                            "type": "string"
                                          },
                                          "required": {
                                            "type": "boolean"
                                          }
                                        },
                                        "required": [
                                          "type"
                                        ]
                                      }
                                    ]
                                  }
                                },
                                "code": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "type"
                              ]
                            }
                          ]
                        }
                      },
                      "temperature": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 2
                      },
                      "maxTokens": {
                        "type": "number",
                        "minimum": 1,
                        "maximum": 4096
                      },
                      "responseMapping": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "item": {
                              "type": "string",
                              "enum": [
                                "Message content",
                                "Total tokens",
                                "Tool results"
                              ]
                            },
                            "variableId": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "required": [
                      "action"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Ask Assistant"
                        ]
                      },
                      "assistantId": {
                        "type": "string"
                      },
                      "threadVariableId": {
                        "type": "string"
                      },
                      "message": {
                        "type": "string"
                      },
                      "functions": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "name": {
                              "type": "string"
                            },
                            "code": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "responseMapping": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "item": {
                              "type": "string",
                              "enum": [
                                "Message",
                                "Thread ID",
                                "Tool results"
                              ]
                            },
                            "variableId": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "required": [
                      "action"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Create speech"
                        ]
                      },
                      "model": {
                        "type": "string"
                      },
                      "input": {
                        "type": "string"
                      },
                      "voice": {
                        "type": "string",
                        "enum": [
                          "alloy",
                          "echo",
                          "fable",
                          "onyx",
                          "nova",
                          "shimmer"
                        ]
                      },
                      "saveUrlInVariableId": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "action"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Create transcription"
                        ]
                      },
                      "url": {
                        "type": "string"
                      },
                      "transcriptionVariableId": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "action"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Generate variables"
                        ]
                      },
                      "model": {
                        "type": "string"
                      },
                      "prompt": {
                        "type": "string"
                      },
                      "variablesToExtract": {
                        "type": "array",
                        "items": {
                          "oneOf": [
                            {
                              "type": "object",
                              "properties": {}
                            },
                            {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "string"
                                  ]
                                },
                                "variableId": {
                                  "type": "string"
                                },
                                "description": {
                                  "type": "string"
                                },
                                "isRequired": {
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "type"
                              ]
                            },
                            {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "number"
                                  ]
                                },
                                "variableId": {
                                  "type": "string"
                                },
                                "description": {
                                  "type": "string"
                                },
                                "isRequired": {
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "type"
                              ]
                            },
                            {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "boolean"
                                  ]
                                },
                                "variableId": {
                                  "type": "string"
                                },
                                "description": {
                                  "type": "string"
                                },
                                "isRequired": {
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "type"
                              ]
                            },
                            {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "enum"
                                  ]
                                },
                                "values": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "variableId": {
                                  "type": "string"
                                },
                                "description": {
                                  "type": "string"
                                },
                                "isRequired": {
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "type"
                              ]
                            }
                          ]
                        }
                      }
                    },
                    "required": [
                      "action"
                    ]
                  }
                ]
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "cal-com"
                ]
              },
              "options": {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "action": {
                        "type": "string",
                        "enum": [
                          "Book event"
                        ]
                      },
                      "baseUrl": {
                        "type": "string"
                      },
                      "link": {
                        "type": "string"
                      },
                      "layout": {
                        "type": "string",
                        "enum": [
                          "Month",
                          "Weekly",
                          "Columns"
                        ]
                      },
                      "name": {
                        "type": "string"
                      },
                      "email": {
                        "type": "string"
                      },
                      "additionalNotes": {
                        "type": "string"
                      },
                      "phone": {
                        "type": "string"
                      },
                      "saveBookedDateInVariableId": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "action"
                    ]
                  }
                ]
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "chat-node"
                ]
              },
              "options": {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Send Message"
                        ]
                      },
                      "botId": {
                        "type": "string"
                      },
                      "threadId": {
                        "type": "string"
                      },
                      "message": {
                        "type": "string"
                      },
                      "responseMapping": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "item": {
                              "type": "string",
                              "enum": [
                                "Message",
                                "Thread ID"
                              ]
                            },
                            "variableId": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "required": [
                      "action"
                    ]
                  }
                ]
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "qr-code"
                ]
              },
              "options": {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "action": {
                        "type": "string",
                        "enum": [
                          "Generate a QR Code"
                        ]
                      },
                      "data": {
                        "type": "string"
                      },
                      "saveUrlInVariableId": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "action"
                    ]
                  }
                ]
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "dify-ai"
                ]
              },
              "options": {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "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": {
                              "type": "string",
                              "enum": [
                                "Answer",
                                "Conversation ID",
                                "Total Tokens"
                              ]
                            },
                            "variableId": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "required": [
                      "action"
                    ]
                  }
                ]
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "mistral"
                ]
              },
              "options": {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Create chat completion"
                        ]
                      },
                      "model": {
                        "type": "string"
                      },
                      "messages": {
                        "type": "array",
                        "items": {
                          "oneOf": [
                            {
                              "type": "object",
                              "properties": {}
                            },
                            {
                              "type": "object",
                              "properties": {
                                "role": {
                                  "type": "string",
                                  "enum": [
                                    "system"
                                  ]
                                },
                                "content": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role"
                              ]
                            },
                            {
                              "type": "object",
                              "properties": {
                                "role": {
                                  "type": "string",
                                  "enum": [
                                    "user"
                                  ]
                                },
                                "content": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role"
                              ]
                            },
                            {
                              "type": "object",
                              "properties": {
                                "role": {
                                  "type": "string",
                                  "enum": [
                                    "assistant"
                                  ]
                                },
                                "content": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role"
                              ]
                            },
                            {
                              "type": "object",
                              "properties": {
                                "role": {
                                  "type": "string",
                                  "enum": [
                                    "Dialogue"
                                  ]
                                },
                                "dialogueVariableId": {
                                  "type": "string"
                                },
                                "startsBy": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role"
                              ]
                            }
                          ]
                        }
                      },
                      "tools": {
                        "type": "array",
                        "items": {
                          "oneOf": [
                            {
                              "type": "object",
                              "properties": {}
                            },
                            {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "function"
                                  ]
                                },
                                "name": {
                                  "type": "string"
                                },
                                "description": {
                                  "type": "string"
                                },
                                "parameters": {
                                  "type": "array",
                                  "items": {
                                    "oneOf": [
                                      {
                                        "type": "object",
                                        "properties": {}
                                      },
                                      {
                                        "type": "object",
                                        "properties": {
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "string"
                                            ]
                                          },
                                          "name": {
                                            "type": "string"
                                          },
                                          "description": {
                                            "type": "string"
                                          },
                                          "required": {
                                            "type": "boolean"
                                          }
                                        },
                                        "required": [
                                          "type"
                                        ]
                                      },
                                      {
                                        "type": "object",
                                        "properties": {
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "number"
                                            ]
                                          },
                                          "name": {
                                            "type": "string"
                                          },
                                          "description": {
                                            "type": "string"
                                          },
                                          "required": {
                                            "type": "boolean"
                                          }
                                        },
                                        "required": [
                                          "type"
                                        ]
                                      },
                                      {
                                        "type": "object",
                                        "properties": {
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "boolean"
                                            ]
                                          },
                                          "name": {
                                            "type": "string"
                                          },
                                          "description": {
                                            "type": "string"
                                          },
                                          "required": {
                                            "type": "boolean"
                                          }
                                        },
                                        "required": [
                                          "type"
                                        ]
                                      },
                                      {
                                        "type": "object",
                                        "properties": {
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "enum"
                                            ]
                                          },
                                          "values": {
                                            "type": "array",
                                            "items": {
                                              "type": "string"
                                            }
                                          },
                                          "name": {
                                            "type": "string"
                                          },
                                          "description": {
                                            "type": "string"
                                          },
                                          "required": {
                                            "type": "boolean"
                                          }
                                        },
                                        "required": [
                                          "type"
                                        ]
                                      }
                                    ]
                                  }
                                },
                                "code": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "type"
                              ]
                            }
                          ]
                        }
                      },
                      "responseMapping": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "item": {
                              "type": "string",
                              "enum": [
                                "Message content"
                              ]
                            },
                            "variableId": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "required": [
                      "action"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Generate variables"
                        ]
                      },
                      "model": {
                        "type": "string"
                      },
                      "prompt": {
                        "type": "string"
                      },
                      "variablesToExtract": {
                        "type": "array",
                        "items": {
                          "oneOf": [
                            {
                              "type": "object",
                              "properties": {}
                            },
                            {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "string"
                                  ]
                                },
                                "variableId": {
                                  "type": "string"
                                },
                                "description": {
                                  "type": "string"
                                },
                                "isRequired": {
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "type"
                              ]
                            },
                            {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "number"
                                  ]
                                },
                                "variableId": {
                                  "type": "string"
                                },
                                "description": {
                                  "type": "string"
                                },
                                "isRequired": {
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "type"
                              ]
                            },
                            {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "boolean"
                                  ]
                                },
                                "variableId": {
                                  "type": "string"
                                },
                                "description": {
                                  "type": "string"
                                },
                                "isRequired": {
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "type"
                              ]
                            },
                            {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "enum"
                                  ]
                                },
                                "values": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "variableId": {
                                  "type": "string"
                                },
                                "description": {
                                  "type": "string"
                                },
                                "isRequired": {
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "type"
                              ]
                            }
                          ]
                        }
                      }
                    },
                    "required": [
                      "action"
                    ]
                  }
                ]
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "elevenlabs"
                ]
              },
              "options": {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Convert text to speech"
                        ]
                      },
                      "text": {
                        "type": "string"
                      },
                      "voiceId": {
                        "type": "string"
                      },
                      "modelId": {
                        "type": "string"
                      },
                      "saveUrlInVariableId": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "action"
                    ]
                  }
                ]
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "anthropic"
                ]
              },
              "options": {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Create Chat Message"
                        ]
                      },
                      "model": {
                        "type": "string",
                        "enum": [
                          "claude-3-5-sonnet-20240620",
                          "claude-3-opus-20240229",
                          "claude-3-sonnet-20240229",
                          "claude-3-haiku-20240307",
                          "claude-2.1",
                          "claude-2.0",
                          "claude-instant-1.2"
                        ]
                      },
                      "messages": {
                        "type": "array",
                        "items": {
                          "oneOf": [
                            {
                              "type": "object",
                              "properties": {}
                            },
                            {
                              "type": "object",
                              "properties": {
                                "role": {
                                  "type": "string",
                                  "enum": [
                                    "user"
                                  ]
                                },
                                "content": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role"
                              ]
                            },
                            {
                              "type": "object",
                              "properties": {
                                "role": {
                                  "type": "string",
                                  "enum": [
                                    "assistant"
                                  ]
                                },
                                "content": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role"
                              ]
                            },
                            {
                              "type": "object",
                              "properties": {
                                "role": {
                                  "type": "string",
                                  "enum": [
                                    "Dialogue"
                                  ]
                                },
                                "dialogueVariableId": {
                                  "type": "string"
                                },
                                "startsBy": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role"
                              ]
                            }
                          ]
                        }
                      },
                      "tools": {
                        "type": "array",
                        "items": {
                          "oneOf": [
                            {
                              "type": "object",
                              "properties": {}
                            },
                            {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "function"
                                  ]
                                },
                                "name": {
                                  "type": "string"
                                },
                                "description": {
                                  "type": "string"
                                },
                                "parameters": {
                                  "type": "array",
                                  "items": {
                                    "oneOf": [
                                      {
                                        "type": "object",
                                        "properties": {}
                                      },
                                      {
                                        "type": "object",
                                        "properties": {
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "string"
                                            ]
                                          },
                                          "name": {
                                            "type": "string"
                                          },
                                          "description": {
                                            "type": "string"
                                          },
                                          "required": {
                                            "type": "boolean"
                                          }
                                        },
                                        "required": [
                                          "type"
                                        ]
                                      },
                                      {
                                        "type": "object",
                                        "properties": {
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "number"
                                            ]
                                          },
                                          "name": {
                                            "type": "string"
                                          },
                                          "description": {
                                            "type": "string"
                                          },
                                          "required": {
                                            "type": "boolean"
                                          }
                                        },
                                        "required": [
                                          "type"
                                        ]
                                      },
                                      {
                                        "type": "object",
                                        "properties": {
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "boolean"
                                            ]
                                          },
                                          "name": {
                                            "type": "string"
                                          },
                                          "description": {
                                            "type": "string"
                                          },
                                          "required": {
                                            "type": "boolean"
                                          }
                                        },
                                        "required": [
                                          "type"
                                        ]
                                      },
                                      {
                                        "type": "object",
                                        "properties": {
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "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": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 2
                      },
                      "maxTokens": {
                        "type": "number",
                        "minimum": 1,
                        "maximum": 4096
                      },
                      "responseMapping": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "item": {
                              "type": "string",
                              "enum": [
                                "Message Content"
                              ]
                            },
                            "variableId": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "required": [
                      "action"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Generate variables"
                        ]
                      },
                      "model": {
                        "type": "string",
                        "enum": [
                          "claude-3-5-sonnet-20240620",
                          "claude-3-opus-20240229",
                          "claude-3-sonnet-20240229",
                          "claude-3-haiku-20240307",
                          "claude-2.1",
                          "claude-2.0",
                          "claude-instant-1.2"
                        ]
                      },
                      "prompt": {
                        "type": "string"
                      },
                      "variablesToExtract": {
                        "type": "array",
                        "items": {
                          "oneOf": [
                            {
                              "type": "object",
                              "properties": {}
                            },
                            {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "string"
                                  ]
                                },
                                "variableId": {
                                  "type": "string"
                                },
                                "description": {
                                  "type": "string"
                                },
                                "isRequired": {
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "type"
                              ]
                            },
                            {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "number"
                                  ]
                                },
                                "variableId": {
                                  "type": "string"
                                },
                                "description": {
                                  "type": "string"
                                },
                                "isRequired": {
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "type"
                              ]
                            },
                            {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "boolean"
                                  ]
                                },
                                "variableId": {
                                  "type": "string"
                                },
                                "description": {
                                  "type": "string"
                                },
                                "isRequired": {
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "type"
                              ]
                            },
                            {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "enum"
                                  ]
                                },
                                "values": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "variableId": {
                                  "type": "string"
                                },
                                "description": {
                                  "type": "string"
                                },
                                "isRequired": {
                                  "type": "boolean"
                                }
                              },
                              "required": [
                                "type"
                              ]
                            }
                          ]
                        }
                      }
                    },
                    "required": [
                      "action"
                    ]
                  }
                ]
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "together-ai"
                ]
              },
              "options": {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Create chat completion"
                        ]
                      },
                      "model": {
                        "type": "string"
                      },
                      "messages": {
                        "type": "array",
                        "items": {
                          "oneOf": [
                            {
                              "type": "object",
                              "properties": {}
                            },
                            {
                              "type": "object",
                              "properties": {
                                "role": {
                                  "type": "string",
                                  "enum": [
                                    "system"
                                  ]
                                },
                                "content": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role"
                              ]
                            },
                            {
                              "type": "object",
                              "properties": {
                                "role": {
                                  "type": "string",
                                  "enum": [
                                    "user"
                                  ]
                                },
                                "content": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role"
                              ]
                            },
                            {
                              "type": "object",
                              "properties": {
                                "role": {
                                  "type": "string",
                                  "enum": [
                                    "assistant"
                                  ]
                                },
                                "content": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role"
                              ]
                            },
                            {
                              "type": "object",
                              "properties": {
                                "role": {
                                  "type": "string",
                                  "enum": [
                                    "Dialogue"
                                  ]
                                },
                                "dialogueVariableId": {
                                  "type": "string"
                                },
                                "startsBy": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role"
                              ]
                            }
                          ]
                        }
                      },
                      "tools": {
                        "type": "array",
                        "items": {
                          "oneOf": [
                            {
                              "type": "object",
                              "properties": {}
                            },
                            {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "function"
                                  ]
                                },
                                "name": {
                                  "type": "string"
                                },
                                "description": {
                                  "type": "string"
                                },
                                "parameters": {
                                  "type": "array",
                                  "items": {
                                    "oneOf": [
                                      {
                                        "type": "object",
                                        "properties": {}
                                      },
                                      {
                                        "type": "object",
                                        "properties": {
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "string"
                                            ]
                                          },
                                          "name": {
                                            "type": "string"
                                          },
                                          "description": {
                                            "type": "string"
                                          },
                                          "required": {
                                            "type": "boolean"
                                          }
                                        },
                                        "required": [
                                          "type"
                                        ]
                                      },
                                      {
                                        "type": "object",
                                        "properties": {
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "number"
                                            ]
                                          },
                                          "name": {
                                            "type": "string"
                                          },
                                          "description": {
                                            "type": "string"
                                          },
                                          "required": {
                                            "type": "boolean"
                                          }
                                        },
                                        "required": [
                                          "type"
                                        ]
                                      },
                                      {
                                        "type": "object",
                                        "properties": {
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "boolean"
                                            ]
                                          },
                                          "name": {
                                            "type": "string"
                                          },
                                          "description": {
                                            "type": "string"
                                          },
                                          "required": {
                                            "type": "boolean"
                                          }
                                        },
                                        "required": [
                                          "type"
                                        ]
                                      },
                                      {
                                        "type": "object",
                                        "properties": {
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "enum"
                                            ]
                                          },
                                          "values": {
                                            "type": "array",
                                            "items": {
                                              "type": "string"
                                            }
                                          },
                                          "name": {
                                            "type": "string"
                                          },
                                          "description": {
                                            "type": "string"
                                          },
                                          "required": {
                                            "type": "boolean"
                                          }
                                        },
                                        "required": [
                                          "type"
                                        ]
                                      }
                                    ]
                                  }
                                },
                                "code": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "type"
                              ]
                            }
                          ]
                        }
                      },
                      "temperature": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 2
                      },
                      "maxTokens": {
                        "type": "number",
                        "minimum": 1,
                        "maximum": 4096
                      },
                      "responseMapping": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "item": {
                              "type": "string",
                              "enum": [
                                "Message content",
                                "Total tokens",
                                "Tool results"
                              ]
                            },
                            "variableId": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "required": [
                      "action"
                    ]
                  }
                ]
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "open-router"
                ]
              },
              "options": {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Create chat completion"
                        ]
                      },
                      "model": {
                        "type": "string"
                      },
                      "messages": {
                        "type": "array",
                        "items": {
                          "oneOf": [
                            {
                              "type": "object",
                              "properties": {}
                            },
                            {
                              "type": "object",
                              "properties": {
                                "role": {
                                  "type": "string",
                                  "enum": [
                                    "system"
                                  ]
                                },
                                "content": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role"
                              ]
                            },
                            {
                              "type": "object",
                              "properties": {
                                "role": {
                                  "type": "string",
                                  "enum": [
                                    "user"
                                  ]
                                },
                                "content": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role"
                              ]
                            },
                            {
                              "type": "object",
                              "properties": {
                                "role": {
                                  "type": "string",
                                  "enum": [
                                    "assistant"
                                  ]
                                },
                                "content": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role"
                              ]
                            },
                            {
                              "type": "object",
                              "properties": {
                                "role": {
                                  "type": "string",
                                  "enum": [
                                    "Dialogue"
                                  ]
                                },
                                "dialogueVariableId": {
                                  "type": "string"
                                },
                                "startsBy": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role"
                              ]
                            }
                          ]
                        }
                      },
                      "tools": {
                        "type": "array",
                        "items": {
                          "oneOf": [
                            {
                              "type": "object",
                              "properties": {}
                            },
                            {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "function"
                                  ]
                                },
                                "name": {
                                  "type": "string"
                                },
                                "description": {
                                  "type": "string"
                                },
                                "parameters": {
                                  "type": "array",
                                  "items": {
                                    "oneOf": [
                                      {
                                        "type": "object",
                                        "properties": {}
                                      },
                                      {
                                        "type": "object",
                                        "properties": {
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "string"
                                            ]
                                          },
                                          "name": {
                                            "type": "string"
                                          },
                                          "description": {
                                            "type": "string"
                                          },
                                          "required": {
                                            "type": "boolean"
                                          }
                                        },
                                        "required": [
                                          "type"
                                        ]
                                      },
                                      {
                                        "type": "object",
                                        "properties": {
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "number"
                                            ]
                                          },
                                          "name": {
                                            "type": "string"
                                          },
                                          "description": {
                                            "type": "string"
                                          },
                                          "required": {
                                            "type": "boolean"
                                          }
                                        },
                                        "required": [
                                          "type"
                                        ]
                                      },
                                      {
                                        "type": "object",
                                        "properties": {
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "boolean"
                                            ]
                                          },
                                          "name": {
                                            "type": "string"
                                          },
                                          "description": {
                                            "type": "string"
                                          },
                                          "required": {
                                            "type": "boolean"
                                          }
                                        },
                                        "required": [
                                          "type"
                                        ]
                                      },
                                      {
                                        "type": "object",
                                        "properties": {
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "enum"
                                            ]
                                          },
                                          "values": {
                                            "type": "array",
                                            "items": {
                                              "type": "string"
                                            }
                                          },
                                          "name": {
                                            "type": "string"
                                          },
                                          "description": {
                                            "type": "string"
                                          },
                                          "required": {
                                            "type": "boolean"
                                          }
                                        },
                                        "required": [
                                          "type"
                                        ]
                                      }
                                    ]
                                  }
                                },
                                "code": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "type"
                              ]
                            }
                          ]
                        }
                      },
                      "temperature": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 2
                      },
                      "maxTokens": {
                        "type": "number",
                        "minimum": 1,
                        "maximum": 4096
                      },
                      "responseMapping": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "item": {
                              "type": "string",
                              "enum": [
                                "Message content",
                                "Total tokens",
                                "Tool results"
                              ]
                            },
                            "variableId": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "required": [
                      "action"
                    ]
                  }
                ]
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "nocodb"
                ]
              },
              "options": {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Search Records"
                        ]
                      },
                      "tableId": {
                        "type": "string"
                      },
                      "viewId": {
                        "type": "string"
                      },
                      "returnType": {
                        "type": "string",
                        "enum": [
                          "All",
                          "First",
                          "Last",
                          "Random"
                        ]
                      },
                      "filter": {
                        "type": "object",
                        "properties": {
                          "comparisons": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "input": {
                                  "type": "string"
                                },
                                "operator": {
                                  "type": "string",
                                  "enum": [
                                    "Equal to",
                                    "Not equal",
                                    "Contains",
                                    "Greater than",
                                    "Less than",
                                    "Is set",
                                    "Is empty",
                                    "Starts with",
                                    "Ends with"
                                  ]
                                },
                                "value": {
                                  "type": "string"
                                }
                              }
                            }
                          },
                          "joiner": {
                            "type": "string",
                            "enum": [
                              "AND",
                              "OR"
                            ]
                          }
                        },
                        "required": [
                          "comparisons"
                        ]
                      },
                      "responseMapping": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "fieldName": {
                              "type": "string"
                            },
                            "variableId": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "required": [
                      "action"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Create Record"
                        ]
                      },
                      "tableId": {
                        "type": "string"
                      },
                      "fields": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "key": {
                              "type": "string"
                            },
                            "value": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "required": [
                      "action"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Update Existing Record"
                        ]
                      },
                      "tableId": {
                        "type": "string"
                      },
                      "viewId": {
                        "type": "string"
                      },
                      "filter": {
                        "type": "object",
                        "properties": {
                          "comparisons": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "input": {
                                  "type": "string"
                                },
                                "operator": {
                                  "type": "string",
                                  "enum": [
                                    "Equal to",
                                    "Not equal",
                                    "Contains",
                                    "Greater than",
                                    "Less than",
                                    "Is set",
                                    "Is empty",
                                    "Starts with",
                                    "Ends with"
                                  ]
                                },
                                "value": {
                                  "type": "string"
                                }
                              }
                            }
                          },
                          "joiner": {
                            "type": "string",
                            "enum": [
                              "AND",
                              "OR"
                            ]
                          }
                        },
                        "required": [
                          "comparisons"
                        ]
                      },
                      "updates": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "fieldName": {
                              "type": "string"
                            },
                            "value": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "required": [
                      "action"
                    ]
                  }
                ]
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "segment"
                ]
              },
              "options": {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Alias"
                        ]
                      },
                      "userId": {
                        "type": "string"
                      },
                      "previousId": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "action"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Identify User"
                        ]
                      },
                      "userId": {
                        "type": "string"
                      },
                      "email": {
                        "type": "string"
                      },
                      "traits": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "key": {
                              "type": "string"
                            },
                            "value": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "required": [
                      "action"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "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"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Track"
                        ]
                      },
                      "eventName": {
                        "type": "string"
                      },
                      "userId": {
                        "type": "string"
                      },
                      "properties": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "key": {
                              "type": "string"
                            },
                            "value": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "required": [
                      "action"
                    ]
                  }
                ]
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "groq"
                ]
              },
              "options": {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Create chat completion"
                        ]
                      },
                      "model": {
                        "type": "string"
                      },
                      "messages": {
                        "type": "array",
                        "items": {
                          "oneOf": [
                            {
                              "type": "object",
                              "properties": {}
                            },
                            {
                              "type": "object",
                              "properties": {
                                "role": {
                                  "type": "string",
                                  "enum": [
                                    "system"
                                  ]
                                },
                                "content": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role"
                              ]
                            },
                            {
                              "type": "object",
                              "properties": {
                                "role": {
                                  "type": "string",
                                  "enum": [
                                    "user"
                                  ]
                                },
                                "content": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role"
                              ]
                            },
                            {
                              "type": "object",
                              "properties": {
                                "role": {
                                  "type": "string",
                                  "enum": [
                                    "assistant"
                                  ]
                                },
                                "content": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role"
                              ]
                            },
                            {
                              "type": "object",
                              "properties": {
                                "role": {
                                  "type": "string",
                                  "enum": [
                                    "Dialogue"
                                  ]
                                },
                                "dialogueVariableId": {
                                  "type": "string"
                                },
                                "startsBy": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role"
                              ]
                            }
                          ]
                        }
                      },
                      "tools": {
                        "type": "array",
                        "items": {
                          "oneOf": [
                            {
                              "type": "object",
                              "properties": {}
                            },
                            {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "enum": [
                                    "function"
                                  ]
                                },
                                "name": {
                                  "type": "string"
                                },
                                "description": {
                                  "type": "string"
                                },
                                "parameters": {
                                  "type": "array",
                                  "items": {
                                    "oneOf": [
                                      {
                                        "type": "object",
                                        "properties": {}
                                      },
                                      {
                                        "type": "object",
                                        "properties": {
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "string"
                                            ]
                                          },
                                          "name": {
                                            "type": "string"
                                          },
                                          "description": {
                                            "type": "string"
                                          },
                                          "required": {
                                            "type": "boolean"
                                          }
                                        },
                                        "required": [
                                          "type"
                                        ]
                                      },
                                      {
                                        "type": "object",
                                        "properties": {
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "number"
                                            ]
                                          },
                                          "name": {
                                            "type": "string"
                                          },
                                          "description": {
                                            "type": "string"
                                          },
                                          "required": {
                                            "type": "boolean"
                                          }
                                        },
                                        "required": [
                                          "type"
                                        ]
                                      },
                                      {
                                        "type": "object",
                                        "properties": {
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "boolean"
                                            ]
                                          },
                                          "name": {
                                            "type": "string"
                                          },
                                          "description": {
                                            "type": "string"
                                          },
                                          "required": {
                                            "type": "boolean"
                                          }
                                        },
                                        "required": [
                                          "type"
                                        ]
                                      },
                                      {
                                        "type": "object",
                                        "properties": {
                                          "type": {
                                            "type": "string",
                                            "enum": [
                                              "enum"
                                            ]
                                          },
                                          "values": {
                                            "type": "array",
                                            "items": {
                                              "type": "string"
                                            }
                                          },
                                          "name": {
                                            "type": "string"
                                          },
                                          "description": {
                                            "type": "string"
                                          },
                                          "required": {
                                            "type": "boolean"
                                          }
                                        },
                                        "required": [
                                          "type"
                                        ]
                                      }
                                    ]
                                  }
                                },
                                "code": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "type"
                              ]
                            }
                          ]
                        }
                      },
                      "temperature": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 2
                      },
                      "maxTokens": {
                        "type": "number",
                        "minimum": 1,
                        "maximum": 4096
                      },
                      "responseMapping": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "item": {
                              "type": "string",
                              "enum": [
                                "Message content",
                                "Total tokens",
                                "Tool results"
                              ]
                            },
                            "variableId": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "required": [
                      "action"
                    ]
                  }
                ]
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "twilio-com"
                ]
              },
              "options": {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Send Message"
                        ]
                      },
                      "body": {
                        "type": "string"
                      },
                      "to": {
                        "type": "string"
                      },
                      "from": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "action"
                    ]
                  }
                ]
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "wordpress"
                ]
              },
              "options": {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Login with WordPress"
                        ]
                      },
                      "email": {
                        "type": "string"
                      },
                      "password": {
                        "type": "string"
                      },
                      "storeUserIdIn": {
                        "type": "string"
                      },
                      "storeAccessTokenIn": {
                        "type": "string"
                      },
                      "storeRefreshTokenIn": {
                        "type": "string"
                      },
                      "storeUsernameIn": {
                        "type": "string"
                      },
                      "storeNicknameIn": {
                        "type": "string"
                      },
                      "storeMessageIn": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "action"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Register with WordPress"
                        ]
                      },
                      "email": {
                        "type": "string"
                      },
                      "password": {
                        "type": "string"
                      },
                      "username": {
                        "type": "string"
                      },
                      "firstName": {
                        "type": "string"
                      },
                      "lastName": {
                        "type": "string"
                      },
                      "storeUserIdIn": {
                        "type": "string"
                      },
                      "storeUsernameIn": {
                        "type": "string"
                      },
                      "storeMessageIn": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "action"
                    ]
                  }
                ]
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "woocommerce"
                ]
              },
              "options": {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Search Products"
                        ]
                      },
                      "searchTerm": {
                        "type": "string"
                      },
                      "perPage": {
                        "type": "number",
                        "minimum": 0
                      },
                      "outputVariableId": {
                        "type": "string"
                      },
                      "outputDataVariableId": {
                        "type": "string"
                      },
                      "formatType": {
                        "type": "string",
                        "enum": [
                          "list",
                          "detail"
                        ]
                      },
                      "includeLinks": {
                        "type": "boolean"
                      },
                      "includePrices": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "action"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Get Product By ID"
                        ]
                      },
                      "productId": {
                        "type": "string"
                      },
                      "outputVariableId": {
                        "type": "string"
                      },
                      "includeLinks": {
                        "type": "boolean"
                      },
                      "includePrices": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "action"
                    ]
                  }
                ]
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "freshdesk"
                ]
              },
              "options": {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Create Ticket"
                        ]
                      },
                      "subject": {
                        "type": "string"
                      },
                      "description": {
                        "type": "string"
                      },
                      "email": {
                        "type": "string"
                      },
                      "priority": {
                        "type": "string",
                        "enum": [
                          "Low",
                          "Medium",
                          "High",
                          "Urgent"
                        ]
                      },
                      "source": {
                        "type": "string",
                        "enum": [
                          "Email",
                          "Portal",
                          "Phone",
                          "Chat",
                          "Mobihelp",
                          "Feedback Widget",
                          "Outbound Email"
                        ]
                      },
                      "type": {
                        "type": "string"
                      },
                      "outputVariableId": {
                        "type": "string"
                      },
                      "includeDetails": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "action"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Get Ticket Types"
                        ]
                      },
                      "arrayOutputVariableId": {
                        "type": "string"
                      },
                      "stringOutputVariableId": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "action"
                    ]
                  }
                ]
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "zoho-crm"
                ]
              },
              "options": {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Test Connection"
                        ]
                      }
                    },
                    "required": [
                      "action"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Get Organization Info"
                        ]
                      },
                      "storeOrgNameIn": {
                        "type": "string"
                      },
                      "storeOrgIdIn": {
                        "type": "string"
                      },
                      "storeAccessTokenIn": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "action"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Create Contact"
                        ]
                      },
                      "firstName": {
                        "type": "string"
                      },
                      "lastName": {
                        "type": "string"
                      },
                      "email": {
                        "type": "string"
                      },
                      "phone": {
                        "type": "string"
                      },
                      "company": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string"
                      },
                      "storeContactIdIn": {
                        "type": "string"
                      },
                      "storeMessageIn": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "action"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Create Lead"
                        ]
                      },
                      "firstName": {
                        "type": "string"
                      },
                      "lastName": {
                        "type": "string"
                      },
                      "email": {
                        "type": "string"
                      },
                      "phone": {
                        "type": "string"
                      },
                      "company": {
                        "type": "string"
                      },
                      "leadSource": {
                        "type": "string"
                      },
                      "industry": {
                        "type": "string"
                      },
                      "storeLeadIdIn": {
                        "type": "string"
                      },
                      "storeMessageIn": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "action"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Get Lead by Email"
                        ]
                      },
                      "email": {
                        "type": "string"
                      },
                      "storeFullNameIn": {
                        "type": "string"
                      },
                      "storeLeadStatusIn": {
                        "type": "string"
                      },
                      "storePhoneIn": {
                        "type": "string"
                      },
                      "storeLeadIdIn": {
                        "type": "string"
                      },
                      "storeCrmLinkIn": {
                        "type": "string"
                      },
                      "storeCompanyIn": {
                        "type": "string"
                      },
                      "storeMessageIn": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "action"
                    ]
                  }
                ]
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "googleCalendar"
                ]
              },
              "options": {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Create Event"
                        ]
                      },
                      "title": {
                        "type": "string"
                      },
                      "timeZone": {
                        "type": "string"
                      },
                      "startDateTime": {
                        "type": "string"
                      },
                      "duration": {
                        "type": "string",
                        "enum": [
                          "15",
                          "30",
                          "60",
                          "120",
                          "180",
                          "300"
                        ]
                      },
                      "description": {
                        "type": "string"
                      },
                      "location": {
                        "type": "string"
                      },
                      "attendees": {
                        "type": "string"
                      },
                      "outputVariableId": {
                        "type": "string"
                      },
                      "outputEventIdVariableId": {
                        "type": "string"
                      },
                      "outputEventLinkVariableId": {
                        "type": "string"
                      },
                      "outputMeetLinkVariableId": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "action"
                    ]
                  }
                ]
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "send-email"
                ]
              },
              "options": {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Email"
                        ]
                      },
                      "recipients": {
                        "type": "string"
                      },
                      "subject": {
                        "type": "string"
                      },
                      "body": {
                        "type": "string"
                      },
                      "attachmentsVariableId": {
                        "type": "string"
                      },
                      "replyTo": {
                        "type": "string"
                      },
                      "cc": {
                        "type": "string"
                      },
                      "bcc": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "action"
                    ]
                  }
                ]
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "googleSheets"
                ]
              },
              "options": {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Insert Row"
                        ]
                      },
                      "spreadsheetId": {
                        "type": "string"
                      },
                      "sheetId": {
                        "type": "string"
                      },
                      "cellsToInsert": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "column": {
                              "type": "string"
                            },
                            "value": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "required": [
                      "action"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Get Row"
                        ]
                      },
                      "spreadsheetId": {
                        "type": "string"
                      },
                      "sheetId": {
                        "type": "string"
                      },
                      "selectRows": {
                        "type": "object",
                        "properties": {
                          "totalRows": {
                            "type": "string",
                            "enum": [
                              "All",
                              "First",
                              "Last",
                              "Random"
                            ]
                          },
                          "comparisons": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "logicalOperator": {
                                  "type": "string",
                                  "enum": [
                                    "AND",
                                    "OR"
                                  ]
                                },
                                "column": {
                                  "type": "string"
                                },
                                "comparisonOperator": {
                                  "type": "string",
                                  "enum": [
                                    "EQUAL",
                                    "NOT_EQUAL",
                                    "CONTAINS",
                                    "NOT_CONTAINS",
                                    "GREATER",
                                    "LESS",
                                    "IS_SET",
                                    "IS_EMPTY"
                                  ]
                                },
                                "value": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        }
                      },
                      "cellsToExtract": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "column": {
                              "type": "string"
                            },
                            "variableId": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "required": [
                      "action"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Update Row"
                        ]
                      },
                      "spreadsheetId": {
                        "type": "string"
                      },
                      "sheetId": {
                        "type": "string"
                      },
                      "filter": {
                        "type": "object",
                        "properties": {
                          "comparisons": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "logicalOperator": {
                                  "type": "string",
                                  "enum": [
                                    "AND",
                                    "OR"
                                  ]
                                },
                                "column": {
                                  "type": "string"
                                },
                                "comparisonOperator": {
                                  "type": "string",
                                  "enum": [
                                    "EQUAL",
                                    "NOT_EQUAL",
                                    "CONTAINS",
                                    "NOT_CONTAINS",
                                    "GREATER",
                                    "LESS",
                                    "IS_SET",
                                    "IS_EMPTY"
                                  ]
                                },
                                "value": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        }
                      },
                      "cellsToUpsert": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "column": {
                              "type": "string"
                            },
                            "value": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "required": [
                      "action"
                    ]
                  }
                ]
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "httpRequest"
                ]
              },
              "options": {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "action": {
                        "type": "string",
                        "enum": [
                          "Make HTTP Request"
                        ]
                      },
                      "url": {
                        "type": "string"
                      },
                      "method": {
                        "type": "string",
                        "enum": [
                          "GET",
                          "POST",
                          "PUT",
                          "PATCH",
                          "DELETE",
                          "HEAD"
                        ]
                      },
                      "body": {
                        "type": "string"
                      },
                      "headers": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "key": {
                              "type": "string"
                            },
                            "value": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "queryParams": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "key": {
                              "type": "string"
                            },
                            "value": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "responseVariableMapping": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "variableId": {
                              "type": "string"
                            },
                            "bodyPath": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "timeout": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "action"
                    ]
                  }
                ]
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "googleAnalytics"
                ]
              },
              "options": {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "action": {
                        "type": "string",
                        "enum": [
                          "Track Event"
                        ]
                      },
                      "trackingId": {
                        "type": "string"
                      },
                      "eventAction": {
                        "type": "string"
                      },
                      "category": {
                        "type": "string"
                      },
                      "label": {
                        "type": "string"
                      },
                      "value": {
                        "type": "number"
                      },
                      "sendTo": {
                        "type": "string"
                      },
                      "debugMode": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "action"
                    ]
                  }
                ]
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "metaPixel"
                ]
              },
              "options": {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "action": {
                        "type": "string",
                        "enum": [
                          "Track Event"
                        ]
                      },
                      "pixelId": {
                        "type": "string"
                      },
                      "accessToken": {
                        "type": "string"
                      },
                      "pageId": {
                        "type": "string"
                      },
                      "testEventCode": {
                        "type": "string"
                      },
                      "initializePixel": {
                        "type": "boolean"
                      },
                      "eventType": {
                        "type": "string",
                        "enum": [
                          "Custom",
                          "Lead",
                          "Contact",
                          "CompleteRegistration",
                          "Schedule",
                          "SubmitApplication",
                          "ViewContent",
                          "AddPaymentInfo",
                          "AddToCart",
                          "AddToWishlist",
                          "CustomizeProduct",
                          "Donate",
                          "FindLocation",
                          "InitiateCheckout",
                          "Purchase",
                          "Search",
                          "StartTrial",
                          "Subscribe"
                        ]
                      },
                      "eventName": {
                        "type": "string"
                      },
                      "params": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "key": {
                              "type": "string"
                            },
                            "value": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "required": [
                      "action"
                    ]
                  }
                ]
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "outgoingEdgeId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "human-handoff"
                ]
              },
              "options": {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "credentialsId": {
                        "type": "string"
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "Human Handoff"
                        ]
                      },
                      "waitTimeout": {
                        "type": "number",
                        "minimum": 30,
                        "maximum": 600
                      }
                    },
                    "required": [
                      "action"
                    ]
                  }
                ]
              }
            },
            "required": [
              "id",
              "type"
            ]
          }
        ],
        "title": "Block"
      },
      "textInput": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "outgoingEdgeId": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "text input"
            ]
          },
          "options": {
            "type": "object",
            "properties": {
              "labels": {
                "type": "object",
                "properties": {
                  "placeholder": {
                    "type": "string"
                  },
                  "button": {
                    "type": "string"
                  }
                }
              },
              "variableId": {
                "type": "string"
              },
              "audioClip": {
                "type": "object",
                "properties": {
                  "isEnabled": {
                    "type": "boolean"
                  },
                  "saveVariableId": {
                    "type": "string"
                  },
                  "visibility": {
                    "type": "string",
                    "enum": [
                      "Auto",
                      "Public",
                      "Private"
                    ]
                  }
                }
              },
              "attachments": {
                "type": "object",
                "properties": {
                  "isEnabled": {
                    "type": "boolean"
                  },
                  "saveVariableId": {
                    "type": "string"
                  },
                  "visibility": {
                    "type": "string",
                    "enum": [
                      "Auto",
                      "Public",
                      "Private"
                    ]
                  }
                }
              }
            }
          }
        },
        "required": [
          "id",
          "type"
        ],
        "title": "Text"
      },
      "buttonsInput": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "outgoingEdgeId": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "buttons input"
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "outgoingEdgeId": {
                  "type": "string"
                },
                "pictureSrc": {
                  "type": "string"
                },
                "content": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                },
                "displayCondition": {
                  "type": "object",
                  "properties": {
                    "isEnabled": {
                      "type": "boolean"
                    },
                    "condition": {
                      "type": "object",
                      "properties": {
                        "logicalOperator": {
                          "type": "string",
                          "enum": [
                            "OR",
                            "AND"
                          ]
                        },
                        "comparisons": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string"
                              },
                              "variableId": {
                                "type": "string"
                              },
                              "comparisonOperator": {
                                "type": "string",
                                "enum": [
                                  "Equal to",
                                  "Not equal",
                                  "Greater than",
                                  "Less than",
                                  "Is set",
                                  "Is empty",
                                  "Is not empty",
                                  "Contains",
                                  "Does not contain",
                                  "Starts with",
                                  "Ends with",
                                  "Matches regex",
                                  "Does not match regex"
                                ]
                              },
                              "value": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "id"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              },
              "required": [
                "id",
                "content"
              ]
            }
          },
          "options": {
            "type": "object",
            "properties": {
              "variableId": {
                "type": "string"
              },
              "isMultipleChoice": {
                "type": "boolean"
              },
              "buttonLabel": {
                "type": "string"
              },
              "dynamicVariableId": {
                "type": "string"
              },
              "isSearchable": {
                "type": "boolean"
              },
              "searchInputPlaceholder": {
                "type": "string"
              },
              "otherOption": {
                "type": "boolean"
              },
              "whatsappFlowHeader": {
                "type": "string"
              },
              "whatsappFlowBody": {
                "type": "string"
              },
              "whatsappFlowButtonText": {
                "type": "string"
              },
              "whatsappFlowQuestionLabel": {
                "type": "string"
              }
            }
          }
        },
        "required": [
          "id",
          "type",
          "items"
        ],
        "title": "Buttons"
      },
      "email": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "outgoingEdgeId": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "email input"
            ]
          },
          "options": {
            "type": "object",
            "properties": {
              "variableId": {
                "type": "string"
              },
              "labels": {
                "type": "object",
                "properties": {
                  "placeholder": {
                    "type": "string"
                  },
                  "button": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "required": [
          "id",
          "type"
        ],
        "title": "Email"
      },
      "numberInput": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "outgoingEdgeId": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "number input"
            ]
          },
          "options": {
            "type": "object",
            "properties": {
              "variableId": {
                "type": "string"
              },
              "labels": {
                "type": "object",
                "properties": {
                  "placeholder": {
                    "type": "string"
                  },
                  "button": {
                    "type": "string"
                  }
                }
              },
              "min": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {}
                ]
              },
              "max": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {}
                ]
              },
              "step": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {}
                ]
              }
            }
          }
        },
        "required": [
          "id",
          "type"
        ],
        "title": "Number"
      },
      "url": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "outgoingEdgeId": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "url input"
            ]
          },
          "options": {
            "type": "object",
            "properties": {
              "variableId": {
                "type": "string"
              },
              "labels": {
                "type": "object",
                "properties": {
                  "placeholder": {
                    "type": "string"
                  },
                  "button": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "required": [
          "id",
          "type"
        ],
        "title": "URL"
      },
      "phoneNumberInput": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "outgoingEdgeId": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "phone number input"
            ]
          },
          "options": {
            "type": "object",
            "properties": {
              "variableId": {
                "type": "string"
              },
              "labels": {
                "type": "object",
                "properties": {
                  "placeholder": {
                    "type": "string"
                  },
                  "button": {
                    "type": "string"
                  }
                }
              },
              "defaultCountryCode": {
                "type": "string"
              }
            }
          }
        },
        "required": [
          "id",
          "type"
        ],
        "title": "Phone number"
      },
      "dateInput": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "outgoingEdgeId": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "date input"
            ]
          },
          "options": {
            "type": "object",
            "properties": {
              "variableId": {
                "type": "string"
              },
              "labels": {
                "type": "object",
                "properties": {
                  "button": {
                    "type": "string"
                  },
                  "from": {
                    "type": "string"
                  },
                  "to": {
                    "type": "string"
                  }
                }
              },
              "hasTime": {
                "type": "boolean"
              },
              "isRange": {
                "type": "boolean"
              },
              "format": {
                "type": "string"
              },
              "min": {
                "type": "string"
              },
              "max": {
                "type": "string"
              }
            }
          }
        },
        "required": [
          "id",
          "type"
        ],
        "title": "Date"
      },
      "rating": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "outgoingEdgeId": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "rating input"
            ]
          },
          "options": {
            "type": "object",
            "properties": {
              "variableId": {
                "type": "string"
              },
              "buttonType": {
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "Icons"
                    ]
                  },
                  {
                    "type": "string",
                    "enum": [
                      "Numbers"
                    ]
                  }
                ]
              },
              "length": {
                "type": "number"
              },
              "startsAt": {
                "anyOf": [
                  {
                    "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"
              },
              "whatsappMessage": {
                "type": "string"
              }
            }
          }
        },
        "required": [
          "id",
          "type"
        ],
        "title": "Rating"
      },
      "fileInput": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "outgoingEdgeId": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "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"
                      }
                    }
                  }
                }
              },
              "visibility": {
                "type": "string",
                "enum": [
                  "Auto",
                  "Public",
                  "Private"
                ]
              }
            }
          }
        },
        "required": [
          "id",
          "type"
        ],
        "title": "File"
      },
      "paymentInput": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "outgoingEdgeId": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "stripe"
            ]
          },
          "options": {
            "type": "object",
            "properties": {
              "variableId": {
                "type": "string"
              },
              "provider": {
                "type": "string",
                "enum": [
                  "Stripe"
                ]
              },
              "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"
              }
            }
          }
        },
        "required": [
          "id",
          "type"
        ],
        "title": "Payment"
      },
      "mercadoPagoPaymentInput": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "outgoingEdgeId": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "mercadopago payment"
            ]
          },
          "options": {
            "type": "object",
            "properties": {
              "variableId": {
                "type": "string"
              },
              "credentialsId": {
                "type": "string"
              },
              "currency": {
                "type": "string"
              },
              "amount": {
                "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"
                  }
                }
              },
              "retryMessageContent": {
                "type": "string"
              },
              "pendingMessageContent": {
                "type": "string"
              },
              "loadingMessage": {
                "type": "string"
              }
            }
          }
        },
        "required": [
          "id",
          "type"
        ],
        "title": "MercadoPago Payment"
      },
      "event": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "outgoingEdgeId": {
            "type": "string"
          },
          "graphCoordinates": {
            "type": "object",
            "properties": {
              "x": {
                "type": "number"
              },
              "y": {
                "type": "number"
              }
            },
            "required": [
              "x",
              "y"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "start"
            ]
          }
        },
        "required": [
          "id",
          "graphCoordinates",
          "type"
        ],
        "description": "Event"
      },
      "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": {
                    "type": "string",
                    "enum": [
                      "session",
                      "local"
                    ]
                  }
                }
              }
            }
          },
          "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"
              }
            }
          },
          "whatsApp": {
            "type": "object",
            "properties": {
              "isEnabled": {
                "type": "boolean"
              },
              "flowIds": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                }
              }
            }
          },
          "publicShare": {
            "type": "object",
            "properties": {
              "isEnabled": {
                "type": "boolean"
              }
            }
          },
          "security": {
            "type": "object",
            "properties": {
              "allowedOrigins": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        },
        "title": "Settings"
      },
      "theme": {
        "type": "object",
        "properties": {
          "progressBar": {
            "type": "object",
            "properties": {
              "isEnabled": {
                "type": "boolean"
              },
              "color": {
                "type": "string"
              },
              "backgroundColor": {
                "type": "string"
              },
              "placement": {
                "type": "string",
                "enum": [
                  "top",
                  "bottom"
                ]
              },
              "thickness": {
                "type": "number"
              },
              "position": {
                "type": "string",
                "enum": [
                  "fixed",
                  "absolute"
                ]
              }
            }
          },
          "chat": {
            "type": "object",
            "properties": {
              "container": {
                "type": "object",
                "properties": {
                  "maxWidth": {
                    "type": "string"
                  },
                  "maxHeight": {
                    "type": "string"
                  },
                  "font": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "oneOf": [
                          {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "Google"
                                ]
                              },
                              "family": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "type"
                            ]
                          },
                          {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": "string",
                                "enum": [
                                  "Custom"
                                ]
                              },
                              "family": {
                                "type": "string"
                              },
                              "css": {
                                "type": "string"
                              },
                              "url": {
                                "type": "string",
                                "description": "Deprecated, use `css` instead"
                              }
                            },
                            "required": [
                              "type"
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  "backgroundColor": {
                    "type": "string"
                  },
                  "background": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "Color",
                          "Image",
                          "None"
                        ]
                      },
                      "content": {
                        "type": "string"
                      }
                    }
                  },
                  "color": {
                    "type": "string"
                  },
                  "blur": {
                    "type": "number"
                  },
                  "opacity": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  },
                  "shadow": {
                    "type": "string",
                    "enum": [
                      "none",
                      "sm",
                      "md",
                      "lg",
                      "xl",
                      "2xl"
                    ]
                  },
                  "border": {
                    "type": "object",
                    "properties": {
                      "thickness": {
                        "type": "number"
                      },
                      "color": {
                        "type": "string"
                      },
                      "roundness": {
                        "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"
                  },
                  "background": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "Color",
                          "Image",
                          "None"
                        ]
                      },
                      "content": {
                        "type": "string"
                      }
                    }
                  },
                  "color": {
                    "type": "string"
                  },
                  "blur": {
                    "type": "number"
                  },
                  "opacity": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  },
                  "shadow": {
                    "type": "string",
                    "enum": [
                      "none",
                      "sm",
                      "md",
                      "lg",
                      "xl",
                      "2xl"
                    ]
                  },
                  "border": {
                    "type": "object",
                    "properties": {
                      "thickness": {
                        "type": "number"
                      },
                      "color": {
                        "type": "string"
                      },
                      "roundness": {
                        "type": "number"
                      },
                      "opacity": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      }
                    }
                  }
                }
              },
              "guestBubbles": {
                "type": "object",
                "properties": {
                  "backgroundColor": {
                    "type": "string"
                  },
                  "background": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "Color",
                          "Image",
                          "None"
                        ]
                      },
                      "content": {
                        "type": "string"
                      }
                    }
                  },
                  "color": {
                    "type": "string"
                  },
                  "blur": {
                    "type": "number"
                  },
                  "opacity": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  },
                  "shadow": {
                    "type": "string",
                    "enum": [
                      "none",
                      "sm",
                      "md",
                      "lg",
                      "xl",
                      "2xl"
                    ]
                  },
                  "border": {
                    "type": "object",
                    "properties": {
                      "thickness": {
                        "type": "number"
                      },
                      "color": {
                        "type": "string"
                      },
                      "roundness": {
                        "type": "number"
                      },
                      "opacity": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      }
                    }
                  }
                }
              },
              "buttons": {
                "type": "object",
                "properties": {
                  "backgroundColor": {
                    "type": "string"
                  },
                  "background": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "Color",
                          "Image",
                          "None"
                        ]
                      },
                      "content": {
                        "type": "string"
                      }
                    }
                  },
                  "color": {
                    "type": "string"
                  },
                  "blur": {
                    "type": "number"
                  },
                  "opacity": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  },
                  "shadow": {
                    "type": "string",
                    "enum": [
                      "none",
                      "sm",
                      "md",
                      "lg",
                      "xl",
                      "2xl"
                    ]
                  },
                  "border": {
                    "type": "object",
                    "properties": {
                      "thickness": {
                        "type": "number"
                      },
                      "color": {
                        "type": "string"
                      },
                      "roundness": {
                        "type": "number"
                      },
                      "opacity": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      }
                    }
                  }
                }
              },
              "inputs": {
                "type": "object",
                "properties": {
                  "backgroundColor": {
                    "type": "string"
                  },
                  "background": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "Color",
                          "Image",
                          "None"
                        ]
                      },
                      "content": {
                        "type": "string"
                      }
                    }
                  },
                  "color": {
                    "type": "string"
                  },
                  "blur": {
                    "type": "number"
                  },
                  "opacity": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  },
                  "shadow": {
                    "type": "string",
                    "enum": [
                      "none",
                      "sm",
                      "md",
                      "lg",
                      "xl",
                      "2xl"
                    ]
                  },
                  "border": {
                    "type": "object",
                    "properties": {
                      "thickness": {
                        "type": "number"
                      },
                      "color": {
                        "type": "string"
                      },
                      "roundness": {
                        "type": "number"
                      },
                      "opacity": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      }
                    }
                  },
                  "placeholderColor": {
                    "type": "string"
                  }
                }
              },
              "roundness": {
                "type": "string",
                "enum": [
                  "none",
                  "medium",
                  "large"
                ],
                "description": "Deprecated, use `container.border.roundness` instead"
              }
            }
          },
          "customCss": {
            "type": "string"
          }
        },
        "title": "Theme"
      },
      "textMessage": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "text"
            ]
          },
          "content": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "markdown"
                ]
              },
              "markdown": {
                "type": "string"
              }
            },
            "required": [
              "type",
              "markdown"
            ]
          }
        },
        "required": [
          "type",
          "content"
        ],
        "title": "Text"
      },
      "imageMessage": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "image"
            ]
          },
          "content": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string"
              },
              "clickLink": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string"
                  },
                  "alt": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "required": [
          "type",
          "content"
        ],
        "title": "Image"
      },
      "videoMessage": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "video"
            ]
          },
          "content": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string"
              },
              "id": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "url",
                  "youtube",
                  "vimeo",
                  "tiktok",
                  "gumlet"
                ]
              },
              "height": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {}
                ]
              },
              "aspectRatio": {
                "type": "string"
              },
              "maxWidth": {
                "type": "string"
              },
              "queryParamsStr": {
                "type": "string"
              },
              "areControlsDisplayed": {
                "type": "boolean"
              },
              "isAutoplayEnabled": {
                "type": "boolean"
              }
            }
          }
        },
        "required": [
          "type",
          "content"
        ],
        "title": "Video"
      },
      "audioMessage": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "audio"
            ]
          },
          "content": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string"
              },
              "isAutoplayEnabled": {
                "type": "boolean"
              }
            }
          }
        },
        "required": [
          "type",
          "content"
        ],
        "title": "Audio"
      },
      "embedMessage": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "embed"
            ]
          },
          "content": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string"
              },
              "waitForEvent": {
                "type": "object",
                "properties": {
                  "isEnabled": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "string"
                  },
                  "saveDataInVariableId": {
                    "type": "string"
                  }
                }
              },
              "initFunction": {
                "type": "object",
                "properties": {
                  "args": {
                    "type": "object",
                    "additionalProperties": {}
                  },
                  "content": {
                    "type": "string"
                  }
                },
                "required": [
                  "args",
                  "content"
                ]
              },
              "waitForEventFunction": {
                "type": "object",
                "properties": {
                  "args": {
                    "type": "object",
                    "additionalProperties": {}
                  },
                  "content": {
                    "type": "string"
                  }
                },
                "required": [
                  "args",
                  "content"
                ]
              },
              "height": {
                "type": "number"
              }
            }
          }
        },
        "required": [
          "type",
          "content"
        ],
        "title": "Embed"
      },
      "csaScriptToExecute": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "scriptToExecute"
            ]
          },
          "scriptToExecute": {
            "type": "object",
            "properties": {
              "content": {
                "type": "string"
              },
              "isCode": {
                "type": "boolean"
              },
              "args": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "value": {
                      "nullable": true,
                      "anyOf": [
                        {
                          "anyOf": [
                            {
                              "anyOf": [
                                {
                                  "type": "string"
                                },
                                {
                                  "type": "number"
                                }
                              ]
                            },
                            {
                              "type": "boolean"
                            }
                          ]
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "string",
                            "nullable": true
                          }
                        }
                      ]
                    }
                  },
                  "required": [
                    "id"
                  ]
                }
              }
            },
            "required": [
              "content",
              "args"
            ]
          },
          "lastBubbleBlockId": {
            "type": "string"
          },
          "expectsDedicatedReply": {
            "type": "boolean"
          }
        },
        "required": [
          "type",
          "scriptToExecute"
        ],
        "title": "Script to execute"
      },
      "csaRedirect": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "redirect"
            ]
          },
          "redirect": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string"
              },
              "isNewTab": {
                "type": "boolean"
              }
            }
          },
          "lastBubbleBlockId": {
            "type": "string"
          },
          "expectsDedicatedReply": {
            "type": "boolean"
          }
        },
        "required": [
          "type",
          "redirect"
        ],
        "title": "Redirect"
      },
      "csaWait": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "wait"
            ]
          },
          "wait": {
            "type": "object",
            "properties": {
              "secondsToWaitFor": {
                "type": "number"
              }
            },
            "required": [
              "secondsToWaitFor"
            ]
          },
          "lastBubbleBlockId": {
            "type": "string"
          },
          "expectsDedicatedReply": {
            "type": "boolean"
          }
        },
        "required": [
          "type",
          "wait"
        ],
        "title": "Wait"
      },
      "csaSetVariable": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "setVariable"
            ]
          },
          "setVariable": {
            "type": "object",
            "properties": {
              "scriptToExecute": {
                "type": "object",
                "properties": {
                  "content": {
                    "type": "string"
                  },
                  "isCode": {
                    "type": "boolean"
                  },
                  "args": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "value": {
                          "nullable": true,
                          "anyOf": [
                            {
                              "anyOf": [
                                {
                                  "anyOf": [
                                    {
                                      "type": "string"
                                    },
                                    {
                                      "type": "number"
                                    }
                                  ]
                                },
                                {
                                  "type": "boolean"
                                }
                              ]
                            },
                            {
                              "type": "array",
                              "items": {
                                "type": "string",
                                "nullable": true
                              }
                            }
                          ]
                        }
                      },
                      "required": [
                        "id"
                      ]
                    }
                  }
                },
                "required": [
                  "content",
                  "args"
                ]
              }
            },
            "required": [
              "scriptToExecute"
            ]
          },
          "lastBubbleBlockId": {
            "type": "string"
          },
          "expectsDedicatedReply": {
            "type": "boolean"
          }
        },
        "required": [
          "type",
          "setVariable"
        ],
        "title": "Set variable"
      },
      "csaInjectStartProps": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "startPropsToInject"
            ]
          },
          "startPropsToInject": {
            "type": "object",
            "properties": {
              "gtmId": {
                "type": "string"
              },
              "customHeadCode": {
                "type": "string"
              }
            }
          },
          "lastBubbleBlockId": {
            "type": "string"
          },
          "expectsDedicatedReply": {
            "type": "boolean"
          }
        },
        "required": [
          "type",
          "startPropsToInject"
        ],
        "title": "Inject start props"
      },
      "csaCodeToExecute": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "codeToExecute"
            ]
          },
          "codeToExecute": {
            "type": "object",
            "properties": {
              "args": {
                "type": "object",
                "additionalProperties": {}
              },
              "content": {
                "type": "string"
              }
            },
            "required": [
              "args",
              "content"
            ]
          },
          "lastBubbleBlockId": {
            "type": "string"
          },
          "expectsDedicatedReply": {
            "type": "boolean"
          }
        },
        "required": [
          "type",
          "codeToExecute"
        ],
        "title": "Execute code"
      },
      "error.BAD_REQUEST": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "The error message",
            "example": "Invalid input data"
          },
          "code": {
            "type": "string",
            "description": "The error code",
            "example": "BAD_REQUEST"
          },
          "issues": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "required": [
                "message"
              ]
            },
            "description": "An array of issues that were responsible for the error",
            "example": []
          }
        },
        "required": [
          "message",
          "code"
        ],
        "title": "Error",
        "description": "The error information",
        "example": {
          "code": "BAD_REQUEST",
          "message": "Invalid input data",
          "issues": []
        }
      },
      "error.INTERNAL_SERVER_ERROR": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "The error message",
            "example": "Internal server error"
          },
          "code": {
            "type": "string",
            "description": "The error code",
            "example": "INTERNAL_SERVER_ERROR"
          },
          "issues": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "required": [
                "message"
              ]
            },
            "description": "An array of issues that were responsible for the error",
            "example": []
          }
        },
        "required": [
          "message",
          "code"
        ],
        "title": "Error",
        "description": "The error information",
        "example": {
          "code": "INTERNAL_SERVER_ERROR",
          "message": "Internal server error",
          "issues": []
        }
      },
      "error.NOT_FOUND": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "The error message",
            "example": "Not found"
          },
          "code": {
            "type": "string",
            "description": "The error code",
            "example": "NOT_FOUND"
          },
          "issues": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "required": [
                "message"
              ]
            },
            "description": "An array of issues that were responsible for the error",
            "example": []
          }
        },
        "required": [
          "message",
          "code"
        ],
        "title": "Error",
        "description": "The error information",
        "example": {
          "code": "NOT_FOUND",
          "message": "Not found",
          "issues": []
        }
      },
      "error.UNAUTHORIZED": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "The error message",
            "example": "Authorization not provided"
          },
          "code": {
            "type": "string",
            "description": "The error code",
            "example": "UNAUTHORIZED"
          },
          "issues": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "required": [
                "message"
              ]
            },
            "description": "An array of issues that were responsible for the error",
            "example": []
          }
        },
        "required": [
          "message",
          "code"
        ],
        "title": "Error",
        "description": "The error information",
        "example": {
          "code": "UNAUTHORIZED",
          "message": "Authorization not provided",
          "issues": []
        }
      },
      "error.FORBIDDEN": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "The error message",
            "example": "Insufficient access"
          },
          "code": {
            "type": "string",
            "description": "The error code",
            "example": "FORBIDDEN"
          },
          "issues": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "required": [
                "message"
              ]
            },
            "description": "An array of issues that were responsible for the error",
            "example": []
          }
        },
        "required": [
          "message",
          "code"
        ],
        "title": "Error",
        "description": "The error information",
        "example": {
          "code": "FORBIDDEN",
          "message": "Insufficient access",
          "issues": []
        }
      }
    }
  }
}
