{
  "openapi": "3.0.0",
  "info": {
    "title": "loopback4-boilerplate",
    "version": "1.1.1",
    "description": "LoopBack 4 Example: Boilerplate",
    "contact": {
      "name": "LoopBack contributors",
      "email": "dev@loopback.io",
      "url": "https://loopback.io"
    }
  },
  "paths": {
    "/connect/cxgenie": {
      "post": {
        "x-controller-name": "CxGenieController",
        "x-operation-name": "connectCxGenie",
        "tags": [
          "CxGenieController"
        ],
        "responses": {
          "200": {
            "description": "Return value of CxGenieController.connectCxGenie"
          }
        },
        "parameters": [
          {
            "name": "workSpaceId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "workspace_id": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  },
                  "password": {
                    "type": "string"
                  },
                  "bot_id": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  }
                },
                "required": [
                  "workspace_id",
                  "email",
                  "password",
                  "bot_id"
                ]
              }
            }
          }
        },
        "operationId": "CxGenieController.connectCxGenie"
      }
    },
    "/connect/gmail": {
      "get": {
        "x-controller-name": "GmailController",
        "x-operation-name": "connectGmail",
        "tags": [
          "GmailController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "The current user profile",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "email": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "redirect_uri",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "code",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "workSpaceId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "GmailController.connectGmail"
      }
    },
    "/connect/google-sheet": {
      "get": {
        "x-controller-name": "GoogleSheetController",
        "x-operation-name": "connectSheet",
        "tags": [
          "GoogleSheetController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "The current user profile",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "email": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "redirect_uri",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "code",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "workSpaceId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "GoogleSheetController.connectSheet"
      }
    },
    "/connect/intercom": {
      "post": {
        "x-controller-name": "IntercomController",
        "x-operation-name": "connectIntercom",
        "tags": [
          "IntercomController"
        ],
        "responses": {
          "200": {
            "description": "Return value of IntercomController.connectIntercom"
          }
        },
        "parameters": [
          {
            "name": "redirect_uri",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "workSpaceId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "code",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "clientId": {
                    "type": "string"
                  },
                  "clientSecret": {
                    "type": "string"
                  }
                },
                "required": [
                  "clientId",
                  "clientSecret"
                ]
              }
            }
          }
        },
        "operationId": "IntercomController.connectIntercom"
      },
      "get": {
        "x-controller-name": "IntercomController",
        "x-operation-name": "connectIntercomGet",
        "tags": [
          "IntercomController"
        ],
        "responses": {
          "200": {
            "description": "Return value of IntercomController.connectIntercomGet"
          }
        },
        "parameters": [
          {
            "name": "redirect_uri",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "workSpaceId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "code",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "IntercomController.connectIntercomGet"
      }
    },
    "/connect/state": {
      "get": {
        "x-controller-name": "ConnectController",
        "x-operation-name": "connectState",
        "tags": [
          "ConnectController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ConnectController.connectState"
          }
        },
        "parameters": [
          {
            "name": "code",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "ConnectController.connectState"
      }
    },
    "/connect/telegram-bot": {
      "post": {
        "x-controller-name": "TelegramController",
        "x-operation-name": "connectTelegramBot",
        "tags": [
          "TelegramController"
        ],
        "responses": {
          "200": {
            "description": "Return value of TelegramController.connectTelegramBot"
          }
        },
        "parameters": [
          {
            "name": "workSpaceId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "TelegramController.connectTelegramBot"
      }
    },
    "/connections/{id}/test": {
      "post": {
        "x-controller-name": "ConnectController",
        "x-operation-name": "find",
        "tags": [
          "ConnectController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ConnectController.find"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ConnectController.find"
      }
    },
    "/connections/{id}/work-space": {
      "get": {
        "x-controller-name": "ConnectionWorkSpaceController",
        "x-operation-name": "getWorkSpace",
        "tags": [
          "ConnectionWorkSpaceController"
        ],
        "responses": {
          "200": {
            "description": "WorkSpace belonging to Connection",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkSpace"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ConnectionWorkSpaceController.getWorkSpace"
      }
    },
    "/cxgenie/admin-info": {
      "get": {
        "x-controller-name": "CxGenieController",
        "x-operation-name": "getAdminInfo",
        "tags": [
          "CxGenieController"
        ],
        "responses": {
          "200": {
            "description": "Return value of CxGenieController.getAdminInfo"
          }
        },
        "parameters": [
          {
            "name": "connectionId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "CxGenieController.getAdminInfo"
      }
    },
    "/cxgenie/contacts": {
      "get": {
        "x-controller-name": "CxGenieController",
        "x-operation-name": "getContacts",
        "tags": [
          "CxGenieController"
        ],
        "responses": {
          "200": {
            "description": "Return value of CxGenieController.getContacts"
          }
        },
        "parameters": [
          {
            "name": "connectionId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "CxGenieController.getContacts"
      }
    },
    "/cxgenie/conversations": {
      "get": {
        "x-controller-name": "CxGenieController",
        "x-operation-name": "getConversations",
        "tags": [
          "CxGenieController"
        ],
        "responses": {
          "200": {
            "description": "Return value of CxGenieController.getConversations"
          }
        },
        "parameters": [
          {
            "name": "connectionId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "CxGenieController.getConversations"
      }
    },
    "/cxgenie/send-message-or-internal-note": {
      "post": {
        "x-controller-name": "CxGenieController",
        "x-operation-name": "sendMessageOrInternalNote",
        "tags": [
          "CxGenieController"
        ],
        "responses": {
          "200": {
            "description": "Return value of CxGenieController.sendMessageOrInternalNote"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "connectionId": {
                    "type": "string"
                  },
                  "content": {
                    "type": "string"
                  },
                  "media": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "sender_id": {
                    "type": "string"
                  },
                  "customer_id": {
                    "type": "string"
                  },
                  "session_id": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "TEXT",
                      "IMAGE",
                      "FILE"
                    ]
                  },
                  "messageType": {
                    "type": "string",
                    "enum": [
                      "agent_message",
                      "bot_message"
                    ],
                    "description": "Determines whether to use message.create (agent_message) or message.bot.create (bot_message) events"
                  }
                },
                "required": [
                  "connectionId",
                  "content",
                  "sender_id",
                  "customer_id",
                  "session_id",
                  "type",
                  "messageType"
                ]
              }
            }
          }
        },
        "operationId": "CxGenieController.sendMessageOrInternalNote"
      }
    },
    "/events/by-date-range": {
      "get": {
        "x-controller-name": "EventController",
        "x-operation-name": "findByDateRange",
        "tags": [
          "EventController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "Array of Event model instances within date range (superadmin only)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EventWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "startDate",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "EventController.findByDateRange"
      }
    },
    "/events/by-entity-type/{entityType}": {
      "get": {
        "x-controller-name": "EventController",
        "x-operation-name": "findByEntityType",
        "tags": [
          "EventController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "Array of Event model instances filtered by entity type (superadmin only)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EventWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "entityType",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "EventController.findByEntityType"
      }
    },
    "/events/count": {
      "get": {
        "x-controller-name": "EventController",
        "x-operation-name": "count",
        "tags": [
          "EventController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "Event model count (superadmin only)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Event.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Event>"
                }
              }
            }
          }
        ],
        "operationId": "EventController.count"
      }
    },
    "/events/{id}": {
      "get": {
        "x-controller-name": "EventController",
        "x-operation-name": "findById",
        "tags": [
          "EventController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "Event model instance (superadmin only)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Event.Filter"
                }
              }
            }
          }
        ],
        "operationId": "EventController.findById"
      }
    },
    "/events": {
      "get": {
        "x-controller-name": "EventController",
        "x-operation-name": "find",
        "tags": [
          "EventController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated Event model instances with total count (superadmin only)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventWithRelations"
                      }
                    },
                    "total": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "EventController.find"
      }
    },
    "/executions/{id}/cancel": {
      "patch": {
        "x-controller-name": "ExecutionController",
        "x-operation-name": "cancelManualStep",
        "tags": [
          "ExecutionController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Execution PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExecutionPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ExecutionController.cancelManualStep"
      }
    },
    "/executions/{id}/execute": {
      "patch": {
        "x-controller-name": "ExecutionController",
        "x-operation-name": "executeManualStep",
        "tags": [
          "ExecutionController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Execution PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExecutionPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ExecutionController.executeManualStep"
      }
    },
    "/executions/{id}/logs": {
      "get": {
        "x-controller-name": "ExecutionLogController",
        "x-operation-name": "find",
        "tags": [
          "ExecutionLogController"
        ],
        "responses": {
          "200": {
            "description": "Array of Execution has many Log",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Log"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "ExecutionLogController.find"
      }
    },
    "/executions/{id}/work-flow": {
      "get": {
        "x-controller-name": "ExecutionWorkFlowController",
        "x-operation-name": "getWorkFlow",
        "tags": [
          "ExecutionWorkFlowController"
        ],
        "responses": {
          "200": {
            "description": "WorkFlow belonging to Execution",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkFlow"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ExecutionWorkFlowController.getWorkFlow"
      }
    },
    "/executions": {
      "post": {
        "x-controller-name": "ExecutionController",
        "x-operation-name": "create",
        "tags": [
          "ExecutionController"
        ],
        "responses": {
          "200": {
            "description": "Execution model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Execution"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewExecution"
              }
            }
          }
        },
        "operationId": "ExecutionController.create"
      }
    },
    "/files/count": {
      "get": {
        "x-controller-name": "FileController",
        "x-operation-name": "count",
        "tags": [
          "FileController"
        ],
        "responses": {
          "200": {
            "description": "File model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "File.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<File>"
                }
              }
            }
          }
        ],
        "operationId": "FileController.count"
      }
    },
    "/files/{id}": {
      "put": {
        "x-controller-name": "FileController",
        "x-operation-name": "replaceById",
        "tags": [
          "FileController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "File PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/File"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "FileController.replaceById"
      },
      "patch": {
        "x-controller-name": "FileController",
        "x-operation-name": "updateById",
        "tags": [
          "FileController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "File PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FilePartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "FileController.updateById"
      },
      "get": {
        "x-controller-name": "FileController",
        "x-operation-name": "findById",
        "tags": [
          "FileController"
        ],
        "responses": {
          "200": {
            "description": "File model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/File.Filter"
                }
              }
            }
          }
        ],
        "operationId": "FileController.findById"
      },
      "delete": {
        "x-controller-name": "FileController",
        "x-operation-name": "deleteById",
        "tags": [
          "FileController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "File DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "FileController.deleteById"
      }
    },
    "/files": {
      "post": {
        "x-controller-name": "FileController",
        "x-operation-name": "uploadFile",
        "tags": [
          "FileController"
        ],
        "responses": {
          "200": {
            "description": "File uploaded and metadata saved",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/File"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "x-parser": "stream",
              "schema": {
                "type": "object"
              }
            }
          },
          "description": "multipart/form-data value.",
          "required": true
        },
        "operationId": "FileController.uploadFile"
      },
      "patch": {
        "x-controller-name": "FileController",
        "x-operation-name": "updateAll",
        "tags": [
          "FileController"
        ],
        "responses": {
          "200": {
            "description": "File PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "File.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<File>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FilePartial"
              }
            }
          }
        },
        "operationId": "FileController.updateAll"
      },
      "get": {
        "x-controller-name": "FileController",
        "x-operation-name": "find",
        "tags": [
          "FileController"
        ],
        "responses": {
          "200": {
            "description": "Array of File model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FileWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/File.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "FileController.find"
      }
    },
    "/form/{stepId}": {
      "post": {
        "x-controller-name": "ExecutionController",
        "x-operation-name": "form",
        "tags": [
          "ExecutionController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ExecutionController.form"
          }
        },
        "parameters": [
          {
            "name": "stepId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "object"
                  },
                  {
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "type": "array"
                  }
                ]
              }
            }
          },
          "description": "Accepts any type of payload",
          "required": false,
          "x-parameter-index": 1
        },
        "operationId": "ExecutionController.form"
      }
    },
    "/google-sheets/list": {
      "get": {
        "x-controller-name": "GoogleSheetController",
        "x-operation-name": "listSpreadsheets",
        "tags": [
          "GoogleSheetController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "The current user profile",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "email": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "connectionId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "GoogleSheetController.listSpreadsheets"
      }
    },
    "/google-sheets/{spreadsheetId}/data": {
      "get": {
        "x-controller-name": "GoogleSheetController",
        "x-operation-name": "getSheetData",
        "tags": [
          "GoogleSheetController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "Sheet data from the given range",
            "content": {
              "application/json": {}
            }
          }
        },
        "parameters": [
          {
            "name": "spreadsheetId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "range",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "connectionId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "GoogleSheetController.getSheetData"
      }
    },
    "/google-sheets/{spreadsheetId}/sheets": {
      "get": {
        "x-controller-name": "GoogleSheetController",
        "x-operation-name": "listSheets",
        "tags": [
          "GoogleSheetController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "List of sheets inside the spreadsheet",
            "content": {
              "application/json": {}
            }
          }
        },
        "parameters": [
          {
            "name": "spreadsheetId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "connectionId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "GoogleSheetController.listSheets"
      }
    },
    "/google-sheets/{spreadsheetId}/{sheetName}/columns": {
      "get": {
        "x-controller-name": "GoogleSheetController",
        "x-operation-name": "getSheetColumns",
        "tags": [
          "GoogleSheetController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "Column headers of the sheet",
            "content": {
              "application/json": {}
            }
          }
        },
        "parameters": [
          {
            "name": "spreadsheetId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "sheetName",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "connectionId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "GoogleSheetController.getSheetColumns"
      }
    },
    "/google-sheets/{spreadsheetId}/{sheetName}/rows": {
      "get": {
        "x-controller-name": "GoogleSheetController",
        "x-operation-name": "getSheetRows",
        "tags": [
          "GoogleSheetController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "Sheet data from the given range",
            "content": {
              "application/json": {}
            }
          }
        },
        "parameters": [
          {
            "name": "spreadsheetId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "sheetName",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "connectionId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "GoogleSheetController.getSheetRows"
      }
    },
    "/intercom/admins": {
      "get": {
        "x-controller-name": "IntercomController",
        "x-operation-name": "getAdmins",
        "tags": [
          "IntercomController"
        ],
        "responses": {
          "200": {
            "description": "Return value of IntercomController.getAdmins"
          }
        },
        "parameters": [
          {
            "name": "connectionId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "IntercomController.getAdmins"
      }
    },
    "/intercom/contacts": {
      "get": {
        "x-controller-name": "IntercomController",
        "x-operation-name": "getContacts",
        "tags": [
          "IntercomController"
        ],
        "responses": {
          "200": {
            "description": "Return value of IntercomController.getContacts"
          }
        },
        "parameters": [
          {
            "name": "connectionId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "IntercomController.getContacts"
      }
    },
    "/intercom/conversations": {
      "get": {
        "x-controller-name": "IntercomController",
        "x-operation-name": "getConversations",
        "tags": [
          "IntercomController"
        ],
        "responses": {
          "200": {
            "description": "Return value of IntercomController.getConversations"
          }
        },
        "parameters": [
          {
            "name": "connectionId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "IntercomController.getConversations"
      }
    },
    "/intercom/ticket-states": {
      "get": {
        "x-controller-name": "IntercomController",
        "x-operation-name": "getTicketStates",
        "tags": [
          "IntercomController"
        ],
        "responses": {
          "200": {
            "description": "Return value of IntercomController.getTicketStates"
          }
        },
        "parameters": [
          {
            "name": "connectionId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "IntercomController.getTicketStates"
      }
    },
    "/intercom/ticket-types": {
      "get": {
        "x-controller-name": "IntercomController",
        "x-operation-name": "getTicketTypes",
        "tags": [
          "IntercomController"
        ],
        "responses": {
          "200": {
            "description": "Return value of IntercomController.getTicketTypes"
          }
        },
        "parameters": [
          {
            "name": "connectionId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "IntercomController.getTicketTypes"
      }
    },
    "/ocr-templates/{id}/ocr-logs": {
      "get": {
        "x-controller-name": "OcrTemplateOcrLogController",
        "x-operation-name": "find",
        "tags": [
          "OcrTemplateOcrLogController"
        ],
        "responses": {
          "200": {
            "description": "Array of OcrTemplate has many OcrLog",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OcrLog"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "OcrTemplateOcrLogController.find"
      }
    },
    "/ocr-templates/{id}/test": {
      "post": {
        "x-controller-name": "WorkSpaceOcrTemplateController",
        "x-operation-name": "testOCR",
        "tags": [
          "WorkSpaceOcrTemplateController"
        ],
        "responses": {
          "200": {
            "description": "Test OCR template with sample image",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewOcrTemplateInWorkSpace"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkSpaceOcrTemplateController.testOCR"
      }
    },
    "/ping": {
      "put": {
        "x-controller-name": "PingController",
        "x-operation-name": "replacePing",
        "tags": [
          "PingController"
        ],
        "responses": {
          "200": {
            "description": "Replace ping data",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "PingController.replacePing"
      },
      "patch": {
        "x-controller-name": "PingController",
        "x-operation-name": "updatePing",
        "tags": [
          "PingController"
        ],
        "responses": {
          "200": {
            "description": "Partial update on ping data",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "PingController.updatePing"
      },
      "get": {
        "x-controller-name": "PingController",
        "x-operation-name": "ping",
        "tags": [
          "PingController"
        ],
        "responses": {
          "200": {
            "description": "Ping Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "operationId": "PingController.ping"
      },
      "delete": {
        "x-controller-name": "PingController",
        "x-operation-name": "deletePing",
        "tags": [
          "PingController"
        ],
        "responses": {
          "200": {
            "description": "Delete ping data",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "operationId": "PingController.deletePing"
      }
    },
    "/r/{key}": {
      "get": {
        "x-controller-name": "UserUrlController",
        "x-operation-name": "redirect",
        "tags": [
          "UserUrlController"
        ],
        "responses": {
          "200": {
            "description": "Return value of UserUrlController.redirect"
          }
        },
        "parameters": [
          {
            "name": "key",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "UserUrlController.redirect"
      }
    },
    "/sheets/{id}/columns": {
      "get": {
        "x-controller-name": "TableSheetController",
        "x-operation-name": "getColumns",
        "tags": [
          "TableSheetController"
        ],
        "responses": {
          "200": {
            "description": "Returns only the columns definition of a Sheet",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "data": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      },
                      "selectOptions": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "dateFormat": {
                        "type": "string"
                      },
                      "readOnly": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TableSheetController.getColumns"
      }
    },
    "/steps/{id}/chat": {
      "patch": {
        "x-controller-name": "StepChatController",
        "x-operation-name": "patch",
        "tags": [
          "StepChatController"
        ],
        "responses": {
          "200": {
            "description": "Step.Chat PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "StepChatController.patch"
      },
      "get": {
        "x-controller-name": "StepChatController",
        "x-operation-name": "get",
        "tags": [
          "StepChatController"
        ],
        "responses": {
          "200": {
            "description": "Step has one Chat",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Chat"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "StepChatController.get"
      }
    },
    "/steps/{id}/steps": {
      "post": {
        "x-controller-name": "StepStepController",
        "x-operation-name": "create",
        "tags": [
          "StepStepController"
        ],
        "responses": {
          "200": {
            "description": "create a Step model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Step"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewStepInStep"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "StepStepController.create"
      },
      "patch": {
        "x-controller-name": "StepStepController",
        "x-operation-name": "patch",
        "tags": [
          "StepStepController"
        ],
        "responses": {
          "200": {
            "description": "Step.Step PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Step.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Step>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StepPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "StepStepController.patch"
      },
      "get": {
        "x-controller-name": "StepStepController",
        "x-operation-name": "find",
        "tags": [
          "StepStepController"
        ],
        "responses": {
          "200": {
            "description": "Array of Step has many Step through Edge",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Step"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "StepStepController.find"
      },
      "delete": {
        "x-controller-name": "StepStepController",
        "x-operation-name": "delete",
        "tags": [
          "StepStepController"
        ],
        "responses": {
          "200": {
            "description": "Step.Step DELETE success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Step.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Step>"
                }
              }
            }
          }
        ],
        "operationId": "StepStepController.delete"
      }
    },
    "/steps/{id}/work-flow": {
      "get": {
        "x-controller-name": "StepWorkFlowController",
        "x-operation-name": "getWorkFlow",
        "tags": [
          "StepWorkFlowController"
        ],
        "responses": {
          "200": {
            "description": "WorkFlow belonging to Step",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkFlow"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "StepWorkFlowController.getWorkFlow"
      }
    },
    "/table-members/{id}/table": {
      "get": {
        "x-controller-name": "TableMemberTableController",
        "x-operation-name": "getTable",
        "tags": [
          "TableMemberTableController"
        ],
        "responses": {
          "200": {
            "description": "Table belonging to TableMember",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Table"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TableMemberTableController.getTable"
      }
    },
    "/table-members/{id}/user": {
      "get": {
        "x-controller-name": "TableMemberUserController",
        "x-operation-name": "getUser",
        "tags": [
          "TableMemberUserController"
        ],
        "responses": {
          "200": {
            "description": "User belonging to TableMember",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TableMemberUserController.getUser"
      }
    },
    "/tables/{id}/events": {
      "get": {
        "x-controller-name": "TableSheetController",
        "x-operation-name": "stream",
        "tags": [
          "TableSheetController"
        ],
        "responses": {
          "200": {
            "description": "Return value of TableSheetController.stream"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TableSheetController.stream"
      }
    },
    "/tables/{id}/sheets/{sheetId}/rows/{rowIndex}": {
      "delete": {
        "x-controller-name": "TableSheetController",
        "x-operation-name": "deleteRow",
        "tags": [
          "TableSheetController"
        ],
        "responses": {
          "204": {
            "description": "Delete a row from the sheet by sheet row index"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "sheetId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "rowIndex",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "TableSheetController.deleteRow"
      }
    },
    "/tables/{id}/sheets/{sheetId}/rows": {
      "post": {
        "x-controller-name": "TableSheetController",
        "x-operation-name": "addRow",
        "tags": [
          "TableSheetController"
        ],
        "responses": {
          "200": {
            "description": "Add or update a row in the sheet",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sheet"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "sheetId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 2
        },
        "operationId": "TableSheetController.addRow"
      }
    },
    "/tables/{tableId}/sheets/{sheetId}/sync-from-gsheet": {
      "post": {
        "x-controller-name": "TableSheetController",
        "x-operation-name": "syncFromGoogleSheets",
        "tags": [
          "TableSheetController"
        ],
        "responses": {
          "200": {
            "description": "Sync sheet data from Google Sheets",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "tableId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "sheetId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    }
                  },
                  "apiKey": {
                    "type": "string"
                  }
                },
                "required": [
                  "data",
                  "apiKey"
                ]
              }
            }
          },
          "x-parameter-index": 2
        },
        "operationId": "TableSheetController.syncFromGoogleSheets"
      }
    },
    "/tables/{id}/sheets": {
      "post": {
        "x-controller-name": "TableSheetController",
        "x-operation-name": "create",
        "tags": [
          "TableSheetController"
        ],
        "responses": {
          "200": {
            "description": "Table model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sheet"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewSheetInTable"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TableSheetController.create"
      },
      "patch": {
        "x-controller-name": "TableSheetController",
        "x-operation-name": "patch",
        "tags": [
          "TableSheetController"
        ],
        "responses": {
          "200": {
            "description": "Table.Sheet PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Sheet.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Sheet>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TableSheetController.patch"
      },
      "get": {
        "x-controller-name": "TableSheetController",
        "x-operation-name": "find",
        "tags": [
          "TableSheetController"
        ],
        "responses": {
          "200": {
            "description": "Array of Table has many Sheet",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Sheet"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "TableSheetController.find"
      },
      "delete": {
        "x-controller-name": "TableSheetController",
        "x-operation-name": "delete",
        "tags": [
          "TableSheetController"
        ],
        "responses": {
          "200": {
            "description": "Table.Sheet DELETE success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Sheet.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Sheet>"
                }
              }
            }
          }
        ],
        "operationId": "TableSheetController.delete"
      }
    },
    "/tables/{id}/table-members": {
      "post": {
        "x-controller-name": "TableTableMemberController",
        "x-operation-name": "create",
        "tags": [
          "TableTableMemberController"
        ],
        "responses": {
          "200": {
            "description": "Table model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TableMember"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewTableMemberInTable"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TableTableMemberController.create"
      },
      "patch": {
        "x-controller-name": "TableTableMemberController",
        "x-operation-name": "patch",
        "tags": [
          "TableTableMemberController"
        ],
        "responses": {
          "200": {
            "description": "Table.TableMember PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "TableMember.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<TableMember>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TableMemberPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TableTableMemberController.patch"
      },
      "get": {
        "x-controller-name": "TableTableMemberController",
        "x-operation-name": "find",
        "tags": [
          "TableTableMemberController"
        ],
        "responses": {
          "200": {
            "description": "Array of Table has many TableMember",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TableMember"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "TableTableMemberController.find"
      },
      "delete": {
        "x-controller-name": "TableTableMemberController",
        "x-operation-name": "delete",
        "tags": [
          "TableTableMemberController"
        ],
        "responses": {
          "200": {
            "description": "Table.TableMember DELETE success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "TableMember.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<TableMember>"
                }
              }
            }
          }
        ],
        "operationId": "TableTableMemberController.delete"
      }
    },
    "/tables/{id}/work-space": {
      "get": {
        "x-controller-name": "TableWorkSpaceController",
        "x-operation-name": "getWorkSpace",
        "tags": [
          "TableWorkSpaceController"
        ],
        "responses": {
          "200": {
            "description": "WorkSpace belonging to Table",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkSpace"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TableWorkSpaceController.getWorkSpace"
      }
    },
    "/test/{stepId}": {
      "get": {
        "x-controller-name": "ExecutionController",
        "x-operation-name": "test",
        "tags": [
          "ExecutionController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ExecutionController.test"
          }
        },
        "parameters": [
          {
            "name": "stepId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ExecutionController.test"
      }
    },
    "/uploads/{key}": {
      "get": {
        "x-controller-name": "FileController",
        "x-operation-name": "downloadFile",
        "tags": [
          "FileController"
        ],
        "responses": {
          "200": {
            "description": "Return value of FileController.downloadFile"
          }
        },
        "parameters": [
          {
            "name": "key",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "FileController.downloadFile"
      }
    },
    "/url/{stepId}": {
      "get": {
        "x-controller-name": "ExecutionController",
        "x-operation-name": "url",
        "tags": [
          "ExecutionController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ExecutionController.url"
          }
        },
        "parameters": [
          {
            "name": "stepId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ExecutionController.url"
      }
    },
    "/users/accept/{acceptKey}": {
      "get": {
        "x-controller-name": "UserManagementController",
        "x-operation-name": "accept",
        "tags": [
          "UserManagementController"
        ],
        "responses": {
          "200": {
            "description": "Return value of UserManagementController.accept"
          }
        },
        "parameters": [
          {
            "name": "acceptKey",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "UserManagementController.accept"
      }
    },
    "/users/forgot-password": {
      "post": {
        "x-controller-name": "UserManagementController",
        "x-operation-name": "resetPasswordInit",
        "tags": [
          "UserManagementController"
        ],
        "responses": {
          "200": {
            "description": "Confirmation that reset password email has been sent"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResetPasswordInit"
              }
            }
          }
        },
        "operationId": "UserManagementController.resetPasswordInit"
      }
    },
    "/users/login": {
      "post": {
        "x-controller-name": "UserManagementController",
        "x-operation-name": "login",
        "tags": [
          "UserManagementController"
        ],
        "responses": {
          "200": {
            "description": "Token",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "token": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "email",
                  "password"
                ],
                "properties": {
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "password": {
                    "type": "string",
                    "minLength": 8
                  }
                }
              }
            }
          },
          "description": "The input of login function",
          "required": true
        },
        "operationId": "UserManagementController.login"
      }
    },
    "/users/me": {
      "get": {
        "x-controller-name": "UserManagementController",
        "x-operation-name": "printCurrentUser",
        "tags": [
          "UserManagementController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "The current user profile",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "email": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "UserManagementController.printCurrentUser"
      }
    },
    "/users/reset-password": {
      "put": {
        "x-controller-name": "UserManagementController",
        "x-operation-name": "resetPasswordFinish",
        "tags": [
          "UserManagementController"
        ],
        "responses": {
          "200": {
            "description": "A successful password reset response"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KeyAndPassword"
              }
            }
          }
        },
        "operationId": "UserManagementController.resetPasswordFinish"
      }
    },
    "/users/update-password": {
      "put": {
        "x-controller-name": "UserManagementController",
        "x-operation-name": "forgotPassword",
        "tags": [
          "UserManagementController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "The updated user profile",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "email": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "email",
                  "password"
                ],
                "properties": {
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "oldPassword": {
                    "type": "string"
                  },
                  "newPassword": {
                    "type": "string",
                    "minLength": 8
                  }
                }
              }
            }
          },
          "description": "The input of password reset function",
          "required": true
        },
        "operationId": "UserManagementController.forgotPassword"
      }
    },
    "/users/verify/{verificationKey}": {
      "get": {
        "x-controller-name": "UserManagementController",
        "x-operation-name": "verify",
        "tags": [
          "UserManagementController"
        ],
        "responses": {
          "200": {
            "description": "Return value of UserManagementController.verify"
          }
        },
        "parameters": [
          {
            "name": "verificationKey",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "UserManagementController.verify"
      }
    },
    "/users/{id}/connections": {
      "patch": {
        "x-controller-name": "UserConnectionController",
        "x-operation-name": "patch",
        "tags": [
          "UserConnectionController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "User.Connection PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Connection.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Connection>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectionPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "UserConnectionController.patch"
      },
      "get": {
        "x-controller-name": "UserConnectionController",
        "x-operation-name": "find",
        "tags": [
          "UserConnectionController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "Array of User has many Connection",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Connection"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "UserConnectionController.find"
      },
      "delete": {
        "x-controller-name": "UserConnectionController",
        "x-operation-name": "delete",
        "tags": [
          "UserConnectionController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "User.Connection DELETE success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Connection.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Connection>"
                }
              }
            }
          }
        ],
        "operationId": "UserConnectionController.delete"
      }
    },
    "/users/{id}/members": {
      "get": {
        "x-controller-name": "UserMemberController",
        "x-operation-name": "find",
        "tags": [
          "UserMemberController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "Array of User has many Member",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Member"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "UserMemberController.find"
      }
    },
    "/users/{id}/urls": {
      "post": {
        "x-controller-name": "UserUrlController",
        "x-operation-name": "create",
        "tags": [
          "UserUrlController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "User model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Url"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewUrlInUser"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "UserUrlController.create"
      },
      "patch": {
        "x-controller-name": "UserUrlController",
        "x-operation-name": "patch",
        "tags": [
          "UserUrlController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "User.Url PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Url.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Url>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UrlPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "UserUrlController.patch"
      },
      "get": {
        "x-controller-name": "UserUrlController",
        "x-operation-name": "find",
        "tags": [
          "UserUrlController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "Array of User has many Url",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Url"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "UserUrlController.find"
      },
      "delete": {
        "x-controller-name": "UserUrlController",
        "x-operation-name": "delete",
        "tags": [
          "UserUrlController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "User.Url DELETE success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Url.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Url>"
                }
              }
            }
          }
        ],
        "operationId": "UserUrlController.delete"
      }
    },
    "/users/{id}/work-spaces": {
      "post": {
        "x-controller-name": "UserWorkSpaceController",
        "x-operation-name": "create",
        "tags": [
          "UserWorkSpaceController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "create a WorkSpace model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkSpace"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewWorkSpaceInUser"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "UserWorkSpaceController.create"
      },
      "patch": {
        "x-controller-name": "UserWorkSpaceController",
        "x-operation-name": "patch",
        "tags": [
          "UserWorkSpaceController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "User.WorkSpace PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "WorkSpace.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<WorkSpace>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkSpacePartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "UserWorkSpaceController.patch"
      },
      "get": {
        "x-controller-name": "UserWorkSpaceController",
        "x-operation-name": "find",
        "tags": [
          "UserWorkSpaceController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "Array of User has many WorkSpace through Member",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WorkSpace"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "UserWorkSpaceController.find"
      },
      "delete": {
        "x-controller-name": "UserWorkSpaceController",
        "x-operation-name": "delete",
        "tags": [
          "UserWorkSpaceController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "User.WorkSpace DELETE success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "WorkSpace.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<WorkSpace>"
                }
              }
            }
          }
        ],
        "operationId": "UserWorkSpaceController.delete"
      }
    },
    "/users/{userId}": {
      "put": {
        "x-controller-name": "UserManagementController",
        "x-operation-name": "set",
        "tags": [
          "UserManagementController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "User",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "description": "update user",
          "x-parameter-index": 1
        },
        "operationId": "UserManagementController.set"
      },
      "get": {
        "x-controller-name": "UserManagementController",
        "x-operation-name": "findById",
        "tags": [
          "UserManagementController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "User",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "UserManagementController.findById"
      }
    },
    "/users": {
      "post": {
        "x-controller-name": "UserManagementController",
        "x-operation-name": "create",
        "tags": [
          "UserManagementController"
        ],
        "responses": {
          "200": {
            "description": "User",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewUser"
              }
            }
          }
        },
        "operationId": "UserManagementController.create"
      }
    },
    "/webhook/{stepId}/test": {
      "post": {
        "x-controller-name": "ExecutionController",
        "x-operation-name": "testWebhook",
        "tags": [
          "ExecutionController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ExecutionController.testWebhook"
          }
        },
        "parameters": [
          {
            "name": "stepId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "object"
                  },
                  {
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "type": "array"
                  }
                ]
              }
            }
          },
          "description": "Accepts any type of payload",
          "required": false,
          "x-parameter-index": 1
        },
        "operationId": "ExecutionController.testWebhook"
      }
    },
    "/webhook/{stepId}": {
      "post": {
        "x-controller-name": "ExecutionController",
        "x-operation-name": "webhook",
        "tags": [
          "ExecutionController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ExecutionController.webhook"
          }
        },
        "parameters": [
          {
            "name": "stepId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "object"
                  },
                  {
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "type": "array"
                  }
                ]
              }
            }
          },
          "description": "Accepts any type of payload",
          "required": false,
          "x-parameter-index": 1
        },
        "operationId": "ExecutionController.webhook"
      }
    },
    "/webhook-with-response/{stepId}": {
      "post": {
        "x-controller-name": "ExecutionController",
        "x-operation-name": "webhookWithResponse",
        "tags": [
          "ExecutionController"
        ],
        "responses": {
          "200": {
            "description": "Return value of ExecutionController.webhookWithResponse"
          }
        },
        "parameters": [
          {
            "name": "stepId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "object"
                  },
                  {
                    "type": "integer"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "type": "array"
                  }
                ]
              }
            }
          },
          "description": "Accepts any type of payload",
          "required": false,
          "x-parameter-index": 1
        },
        "operationId": "ExecutionController.webhookWithResponse"
      }
    },
    "/work-flows/{id}/duplicated": {
      "get": {
        "x-controller-name": "WorkFlowStepController",
        "x-operation-name": "duplicate",
        "tags": [
          "WorkFlowStepController"
        ],
        "responses": {
          "200": {
            "description": "Duplicated workflow with updated steps and edges",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkFlow"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "WorkFlowStepController.duplicate"
      }
    },
    "/work-flows/{id}/edges": {
      "post": {
        "x-controller-name": "WorkFlowEdgeController",
        "x-operation-name": "create",
        "tags": [
          "WorkFlowEdgeController"
        ],
        "responses": {
          "200": {
            "description": "WorkFlow model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Edge"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewEdgeInWorkFlow"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkFlowEdgeController.create"
      },
      "patch": {
        "x-controller-name": "WorkFlowEdgeController",
        "x-operation-name": "patch",
        "tags": [
          "WorkFlowEdgeController"
        ],
        "responses": {
          "200": {
            "description": "WorkFlow.Edge PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Edge.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Edge>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EdgePartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkFlowEdgeController.patch"
      },
      "get": {
        "x-controller-name": "WorkFlowEdgeController",
        "x-operation-name": "find",
        "tags": [
          "WorkFlowEdgeController"
        ],
        "responses": {
          "200": {
            "description": "Array of WorkFlow has many Edge",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Edge"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "WorkFlowEdgeController.find"
      },
      "delete": {
        "x-controller-name": "WorkFlowEdgeController",
        "x-operation-name": "delete",
        "tags": [
          "WorkFlowEdgeController"
        ],
        "responses": {
          "200": {
            "description": "WorkFlow.Edge DELETE success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Edge.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Edge>"
                }
              }
            }
          }
        ],
        "operationId": "WorkFlowEdgeController.delete"
      }
    },
    "/work-flows/{id}/executions": {
      "post": {
        "x-controller-name": "WorkFlowExecutionController",
        "x-operation-name": "create",
        "tags": [
          "WorkFlowExecutionController"
        ],
        "responses": {
          "200": {
            "description": "WorkFlow model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Execution"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewExecutionInWorkFlow"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkFlowExecutionController.create"
      },
      "patch": {
        "x-controller-name": "WorkFlowExecutionController",
        "x-operation-name": "patch",
        "tags": [
          "WorkFlowExecutionController"
        ],
        "responses": {
          "200": {
            "description": "WorkFlow.Execution PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Execution.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Execution>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExecutionPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkFlowExecutionController.patch"
      },
      "get": {
        "x-controller-name": "WorkFlowExecutionController",
        "x-operation-name": "find",
        "tags": [
          "WorkFlowExecutionController"
        ],
        "responses": {
          "200": {
            "description": "Array of WorkFlow has many Execution",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Execution"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "WorkFlowExecutionController.find"
      },
      "delete": {
        "x-controller-name": "WorkFlowExecutionController",
        "x-operation-name": "delete",
        "tags": [
          "WorkFlowExecutionController"
        ],
        "responses": {
          "200": {
            "description": "WorkFlow.Execution DELETE success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Execution.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Execution>"
                }
              }
            }
          }
        ],
        "operationId": "WorkFlowExecutionController.delete"
      }
    },
    "/work-flows/{id}/steps": {
      "post": {
        "x-controller-name": "WorkFlowStepController",
        "x-operation-name": "create",
        "tags": [
          "WorkFlowStepController"
        ],
        "responses": {
          "200": {
            "description": "WorkFlow model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Step"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewStepInWorkFlow"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkFlowStepController.create"
      },
      "patch": {
        "x-controller-name": "WorkFlowStepController",
        "x-operation-name": "patch",
        "tags": [
          "WorkFlowStepController"
        ],
        "responses": {
          "200": {
            "description": "WorkFlow.Step PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Step.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Step>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StepPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkFlowStepController.patch"
      },
      "get": {
        "x-controller-name": "WorkFlowStepController",
        "x-operation-name": "find",
        "tags": [
          "WorkFlowStepController"
        ],
        "responses": {
          "200": {
            "description": "Array of WorkFlow has many Step",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Step"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "WorkFlowStepController.find"
      },
      "delete": {
        "x-controller-name": "WorkFlowStepController",
        "x-operation-name": "delete",
        "tags": [
          "WorkFlowStepController"
        ],
        "responses": {
          "200": {
            "description": "WorkFlow.Step DELETE success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Step.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Step>"
                }
              }
            }
          }
        ],
        "operationId": "WorkFlowStepController.delete"
      }
    },
    "/work-flows/{id}/steps-state": {
      "patch": {
        "x-controller-name": "WorkFlowStepController",
        "x-operation-name": "updateState",
        "tags": [
          "WorkFlowStepController"
        ],
        "responses": {
          "200": {
            "description": "WorkFlow.Step PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkFlowStepController.updateState"
      }
    },
    "/work-spaces/{id}/analytics": {
      "get": {
        "x-controller-name": "WorkSpaceWorkFlowController",
        "x-operation-name": "analytics",
        "tags": [
          "WorkSpaceWorkFlowController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "Execution analytics by date and workflow",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "daily_analytics": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "date": {
                            "type": "string",
                            "format": "date"
                          },
                          "success": {
                            "type": "number"
                          },
                          "failed": {
                            "type": "number"
                          }
                        }
                      }
                    },
                    "workflow_analytics": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "workFlowId": {
                            "type": "string"
                          },
                          "success": {
                            "type": "number"
                          },
                          "failed": {
                            "type": "number"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "WorkSpaceWorkFlowController.analytics"
      }
    },
    "/work-spaces/{id}/connections": {
      "post": {
        "x-controller-name": "WorkSpaceConnectionController",
        "x-operation-name": "create",
        "tags": [
          "WorkSpaceConnectionController"
        ],
        "responses": {
          "200": {
            "description": "WorkSpace model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Connection"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewConnectionInWorkSpace"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkSpaceConnectionController.create"
      },
      "patch": {
        "x-controller-name": "WorkSpaceConnectionController",
        "x-operation-name": "patch",
        "tags": [
          "WorkSpaceConnectionController"
        ],
        "responses": {
          "200": {
            "description": "WorkSpace.Connection PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Connection.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Connection>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectionPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkSpaceConnectionController.patch"
      },
      "get": {
        "x-controller-name": "WorkSpaceConnectionController",
        "x-operation-name": "find",
        "tags": [
          "WorkSpaceConnectionController"
        ],
        "responses": {
          "200": {
            "description": "Array of WorkSpace has many Connection",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Connection"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "WorkSpaceConnectionController.find"
      },
      "delete": {
        "x-controller-name": "WorkSpaceConnectionController",
        "x-operation-name": "delete",
        "tags": [
          "WorkSpaceConnectionController"
        ],
        "responses": {
          "200": {
            "description": "WorkSpace.Connection DELETE success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Connection.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Connection>"
                }
              }
            }
          }
        ],
        "operationId": "WorkSpaceConnectionController.delete"
      }
    },
    "/work-spaces/{id}/executions": {
      "get": {
        "x-controller-name": "WorkSpaceWorkFlowController",
        "x-operation-name": "executions",
        "tags": [
          "WorkSpaceWorkFlowController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {},
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "WorkSpaceWorkFlowController.executions"
      }
    },
    "/work-spaces/{id}/members": {
      "post": {
        "x-controller-name": "WorkSpaceMemberController",
        "x-operation-name": "create",
        "tags": [
          "WorkSpaceMemberController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "WorkSpace model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Member"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "email": {
                    "type": "string",
                    "format": "email"
                  }
                },
                "required": [
                  "email"
                ]
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkSpaceMemberController.create"
      },
      "patch": {
        "x-controller-name": "WorkSpaceMemberController",
        "x-operation-name": "patch",
        "tags": [
          "WorkSpaceMemberController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "WorkSpace.Member PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Member.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Member>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MemberPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkSpaceMemberController.patch"
      },
      "get": {
        "x-controller-name": "WorkSpaceMemberController",
        "x-operation-name": "find",
        "tags": [
          "WorkSpaceMemberController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "Array of WorkSpace has many Member",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Member"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "WorkSpaceMemberController.find"
      },
      "delete": {
        "x-controller-name": "WorkSpaceMemberController",
        "x-operation-name": "delete",
        "tags": [
          "WorkSpaceMemberController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "WorkSpace.Member DELETE success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Member.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Member>"
                }
              }
            }
          }
        ],
        "operationId": "WorkSpaceMemberController.delete"
      }
    },
    "/work-spaces/{id}/ocr-templates": {
      "post": {
        "x-controller-name": "WorkSpaceOcrTemplateController",
        "x-operation-name": "create",
        "tags": [
          "WorkSpaceOcrTemplateController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "WorkSpace model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OcrTemplate"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewOcrTemplateInWorkSpace"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkSpaceOcrTemplateController.create"
      },
      "patch": {
        "x-controller-name": "WorkSpaceOcrTemplateController",
        "x-operation-name": "patch",
        "tags": [
          "WorkSpaceOcrTemplateController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "WorkSpace.OcrTemplate PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "OcrTemplate.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<OcrTemplate>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OcrTemplatePartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkSpaceOcrTemplateController.patch"
      },
      "get": {
        "x-controller-name": "WorkSpaceOcrTemplateController",
        "x-operation-name": "find",
        "tags": [
          "WorkSpaceOcrTemplateController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "Array of WorkSpace has many OcrTemplate",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OcrTemplate"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "WorkSpaceOcrTemplateController.find"
      },
      "delete": {
        "x-controller-name": "WorkSpaceOcrTemplateController",
        "x-operation-name": "delete",
        "tags": [
          "WorkSpaceOcrTemplateController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "WorkSpace.OcrTemplate DELETE success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "OcrTemplate.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<OcrTemplate>"
                }
              }
            }
          }
        ],
        "operationId": "WorkSpaceOcrTemplateController.delete"
      }
    },
    "/work-spaces/{id}/tables": {
      "post": {
        "x-controller-name": "WorkSpaceTableController",
        "x-operation-name": "create",
        "tags": [
          "WorkSpaceTableController"
        ],
        "responses": {
          "200": {
            "description": "WorkSpace model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Table"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewTableInWorkSpace"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkSpaceTableController.create"
      },
      "patch": {
        "x-controller-name": "WorkSpaceTableController",
        "x-operation-name": "patch",
        "tags": [
          "WorkSpaceTableController"
        ],
        "responses": {
          "200": {
            "description": "WorkSpace.Table PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Table.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Table>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TablePartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkSpaceTableController.patch"
      },
      "get": {
        "x-controller-name": "WorkSpaceTableController",
        "x-operation-name": "find",
        "tags": [
          "WorkSpaceTableController"
        ],
        "responses": {
          "200": {
            "description": "Array of WorkSpace has many Table",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Table"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "WorkSpaceTableController.find"
      },
      "delete": {
        "x-controller-name": "WorkSpaceTableController",
        "x-operation-name": "delete",
        "tags": [
          "WorkSpaceTableController"
        ],
        "responses": {
          "200": {
            "description": "WorkSpace.Table DELETE success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Table.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Table>"
                }
              }
            }
          }
        ],
        "operationId": "WorkSpaceTableController.delete"
      }
    },
    "/work-spaces/{id}/user": {
      "get": {
        "x-controller-name": "WorkSpaceUserController",
        "x-operation-name": "getUser",
        "tags": [
          "WorkSpaceUserController"
        ],
        "responses": {
          "200": {
            "description": "User belonging to WorkSpace",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "WorkSpaceUserController.getUser"
      }
    },
    "/work-spaces/{id}/work-flows": {
      "post": {
        "x-controller-name": "WorkSpaceWorkFlowController",
        "x-operation-name": "create",
        "tags": [
          "WorkSpaceWorkFlowController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "WorkSpace model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkFlow"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewWorkFlowInWorkSpace"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkSpaceWorkFlowController.create"
      },
      "patch": {
        "x-controller-name": "WorkSpaceWorkFlowController",
        "x-operation-name": "patch",
        "tags": [
          "WorkSpaceWorkFlowController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "WorkSpace.WorkFlow PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "WorkFlow.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<WorkFlow>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkFlowPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "WorkSpaceWorkFlowController.patch"
      },
      "get": {
        "x-controller-name": "WorkSpaceWorkFlowController",
        "x-operation-name": "find",
        "tags": [
          "WorkSpaceWorkFlowController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "Array of WorkSpace has many WorkFlow",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WorkFlow"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "WorkSpaceWorkFlowController.find"
      },
      "delete": {
        "x-controller-name": "WorkSpaceWorkFlowController",
        "x-operation-name": "delete",
        "tags": [
          "WorkSpaceWorkFlowController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "WorkSpace.WorkFlow DELETE success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "WorkFlow.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<WorkFlow>"
                }
              }
            }
          }
        ],
        "operationId": "WorkSpaceWorkFlowController.delete"
      }
    },
    "/work-spaces": {
      "get": {
        "x-controller-name": "WorkSpaceWorkFlowController",
        "x-operation-name": "findAllWorkspaces",
        "tags": [
          "WorkSpaceWorkFlowController"
        ],
        "security": [
          {
            "jwt": []
          }
        ],
        "responses": {
          "200": {
            "description": "Array of WorkSpaces with member and workflow count, and latest executions",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "createdAt": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "memberCount": {
                        "type": "number"
                      },
                      "workflowCount": {
                        "type": "number"
                      },
                      "workflows": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            },
                            "latestExecution": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "string"
                                },
                                "createdAt": {
                                  "type": "string",
                                  "format": "date-time"
                                },
                                "status": {
                                  "type": "string"
                                },
                                "error": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "WorkSpaceWorkFlowController.findAllWorkspaces"
      }
    }
  },
  "servers": [
    {
      "url": "http://api.247cs.live:443"
    }
  ],
  "components": {
    "schemas": {
      "WorkFlow": {
        "title": "WorkFlow",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "payload": {},
          "workSpaceId": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "settings": {},
          "share": {}
        },
        "additionalProperties": false
      },
      "NewWorkFlowInWorkSpace": {
        "title": "NewWorkFlowInWorkSpace",
        "type": "object",
        "description": "(tsType: @loopback/repository-json-schema#Optional<Omit<WorkFlow, 'id'>, 'workSpaceId'>, schemaOptions: { title: 'NewWorkFlowInWorkSpace', exclude: [ 'id' ], optional: [ 'workSpaceId' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "payload": {},
          "workSpaceId": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "settings": {},
          "share": {}
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository-json-schema#Optional<Omit<WorkFlow, 'id'>, 'workSpaceId'>"
      },
      "WorkFlowPartial": {
        "title": "WorkFlowPartial",
        "type": "object",
        "description": "(tsType: Partial<WorkFlow>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "payload": {},
          "workSpaceId": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "settings": {},
          "share": {}
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<WorkFlow>"
      },
      "User": {
        "title": "User",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "roles": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "registeredAt": {
            "type": "string",
            "format": "date-time"
          },
          "resetKey": {
            "type": "string"
          },
          "verificationKey": {
            "type": "string"
          },
          "verified": {
            "type": "boolean"
          },
          "resetCount": {
            "type": "number"
          },
          "resetTimestamp": {
            "type": "string"
          },
          "resetKeyTimestamp": {
            "type": "string"
          }
        },
        "required": [
          "email"
        ],
        "additionalProperties": false
      },
      "Table": {
        "title": "Table",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "workSpaceId": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "NewTableInWorkSpace": {
        "title": "NewTableInWorkSpace",
        "type": "object",
        "description": "(tsType: @loopback/repository-json-schema#Optional<Omit<Table, 'id'>, 'workSpaceId'>, schemaOptions: { title: 'NewTableInWorkSpace', exclude: [ 'id' ], optional: [ 'workSpaceId' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "workSpaceId": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository-json-schema#Optional<Omit<Table, 'id'>, 'workSpaceId'>"
      },
      "TablePartial": {
        "title": "TablePartial",
        "type": "object",
        "description": "(tsType: Partial<Table>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "workSpaceId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Table>"
      },
      "OcrTemplate": {
        "title": "OcrTemplate",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "templateName": {
            "type": "string"
          },
          "sampleImage": {
            "type": "string"
          },
          "dataModel": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "allPossibleFields": {
            "type": "string"
          },
          "workSpaceId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "NewOcrTemplateInWorkSpace": {
        "title": "NewOcrTemplateInWorkSpace",
        "type": "object",
        "description": "(tsType: @loopback/repository-json-schema#Optional<Omit<OcrTemplate, 'id'>, 'workSpaceId'>, schemaOptions: { title: 'NewOcrTemplateInWorkSpace', exclude: [ 'id' ], optional: [ 'workSpaceId' ] })",
        "properties": {
          "templateName": {
            "type": "string"
          },
          "sampleImage": {
            "type": "string"
          },
          "dataModel": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "allPossibleFields": {
            "type": "string"
          },
          "workSpaceId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository-json-schema#Optional<Omit<OcrTemplate, 'id'>, 'workSpaceId'>"
      },
      "OcrTemplatePartial": {
        "title": "OcrTemplatePartial",
        "type": "object",
        "description": "(tsType: Partial<OcrTemplate>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "templateName": {
            "type": "string"
          },
          "sampleImage": {
            "type": "string"
          },
          "dataModel": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "allPossibleFields": {
            "type": "string"
          },
          "workSpaceId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<OcrTemplate>"
      },
      "Member": {
        "title": "Member",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "acceptKey": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "role": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "workSpaceId": {
            "type": "string"
          },
          "teamId": {
            "type": "string"
          }
        },
        "required": [
          "userId",
          "workSpaceId"
        ],
        "additionalProperties": false
      },
      "MemberPartial": {
        "title": "MemberPartial",
        "type": "object",
        "description": "(tsType: Partial<Member>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "acceptKey": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "role": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "workSpaceId": {
            "type": "string"
          },
          "teamId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Member>"
      },
      "Connection": {
        "title": "Connection",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "profile": {
            "type": "string"
          },
          "access": {
            "type": "object"
          },
          "state": {
            "type": "string"
          },
          "clientId": {
            "type": "string"
          },
          "clientSecret": {
            "type": "string"
          },
          "redirect_uri": {
            "type": "string"
          },
          "expiry": {
            "type": "string",
            "format": "date-time"
          },
          "name": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "userId": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "workSpaceId": {
            "type": "string"
          }
        },
        "required": [
          "profile"
        ],
        "additionalProperties": false
      },
      "NewConnectionInWorkSpace": {
        "title": "NewConnectionInWorkSpace",
        "type": "object",
        "description": "(tsType: @loopback/repository-json-schema#Optional<Omit<Connection, 'id'>, 'workSpaceId'>, schemaOptions: { title: 'NewConnectionInWorkSpace', exclude: [ 'id' ], optional: [ 'workSpaceId' ] })",
        "properties": {
          "profile": {
            "type": "string"
          },
          "access": {
            "type": "object"
          },
          "state": {
            "type": "string"
          },
          "clientId": {
            "type": "string"
          },
          "clientSecret": {
            "type": "string"
          },
          "redirect_uri": {
            "type": "string"
          },
          "expiry": {
            "type": "string",
            "format": "date-time"
          },
          "name": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "userId": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "workSpaceId": {
            "type": "string"
          }
        },
        "required": [
          "profile"
        ],
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository-json-schema#Optional<Omit<Connection, 'id'>, 'workSpaceId'>"
      },
      "ConnectionPartial": {
        "title": "ConnectionPartial",
        "type": "object",
        "description": "(tsType: Partial<Connection>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "profile": {
            "type": "string"
          },
          "access": {
            "type": "object"
          },
          "state": {
            "type": "string"
          },
          "clientId": {
            "type": "string"
          },
          "clientSecret": {
            "type": "string"
          },
          "redirect_uri": {
            "type": "string"
          },
          "expiry": {
            "type": "string",
            "format": "date-time"
          },
          "name": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "userId": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "workSpaceId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Connection>"
      },
      "Step": {
        "title": "Step",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "uuId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "height": {
            "type": "number"
          },
          "width": {
            "type": "number"
          },
          "data": {},
          "position": {},
          "action": {
            "type": "string"
          },
          "input": {},
          "output": {},
          "error": {},
          "tested": {
            "type": "boolean"
          },
          "workFlowId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "NewStepInWorkFlow": {
        "title": "NewStepInWorkFlow",
        "type": "object",
        "description": "(tsType: @loopback/repository-json-schema#Optional<Omit<Step, 'id'>, 'workFlowId'>, schemaOptions: { title: 'NewStepInWorkFlow', exclude: [ 'id' ], optional: [ 'workFlowId' ] })",
        "properties": {
          "uuId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "height": {
            "type": "number"
          },
          "width": {
            "type": "number"
          },
          "data": {},
          "position": {},
          "action": {
            "type": "string"
          },
          "input": {},
          "output": {},
          "error": {},
          "tested": {
            "type": "boolean"
          },
          "workFlowId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository-json-schema#Optional<Omit<Step, 'id'>, 'workFlowId'>"
      },
      "StepPartial": {
        "title": "StepPartial",
        "type": "object",
        "description": "(tsType: Partial<Step>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "uuId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "height": {
            "type": "number"
          },
          "width": {
            "type": "number"
          },
          "data": {},
          "position": {},
          "action": {
            "type": "string"
          },
          "input": {},
          "output": {},
          "error": {},
          "tested": {
            "type": "boolean"
          },
          "workFlowId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Step>"
      },
      "Execution": {
        "title": "Execution",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "payload": {
            "type": "object"
          },
          "status": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "error": {
            "type": "string"
          },
          "stepId": {
            "type": "string"
          },
          "workFlowId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "NewExecutionInWorkFlow": {
        "title": "NewExecutionInWorkFlow",
        "type": "object",
        "description": "(tsType: @loopback/repository-json-schema#Optional<Omit<Execution, 'id'>, 'workFlowId'>, schemaOptions: { title: 'NewExecutionInWorkFlow', exclude: [ 'id' ], optional: [ 'workFlowId' ] })",
        "properties": {
          "payload": {
            "type": "object"
          },
          "status": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "error": {
            "type": "string"
          },
          "stepId": {
            "type": "string"
          },
          "workFlowId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository-json-schema#Optional<Omit<Execution, 'id'>, 'workFlowId'>"
      },
      "ExecutionPartial": {
        "title": "ExecutionPartial",
        "type": "object",
        "description": "(tsType: Partial<Execution>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "payload": {
            "type": "object"
          },
          "status": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "error": {
            "type": "string"
          },
          "stepId": {
            "type": "string"
          },
          "workFlowId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Execution>"
      },
      "Edge": {
        "title": "Edge",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "uuId": {
            "type": "string"
          },
          "sourceId": {
            "type": "string"
          },
          "targetId": {
            "type": "string"
          },
          "sourceHandle": {
            "type": "string"
          },
          "targetHandle": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "data": {},
          "workFlowId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "NewEdgeInWorkFlow": {
        "title": "NewEdgeInWorkFlow",
        "type": "object",
        "description": "(tsType: @loopback/repository-json-schema#Optional<Omit<Edge, 'id'>, 'workFlowId'>, schemaOptions: { title: 'NewEdgeInWorkFlow', exclude: [ 'id' ], optional: [ 'workFlowId' ] })",
        "properties": {
          "uuId": {
            "type": "string"
          },
          "sourceId": {
            "type": "string"
          },
          "targetId": {
            "type": "string"
          },
          "sourceHandle": {
            "type": "string"
          },
          "targetHandle": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "data": {},
          "workFlowId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository-json-schema#Optional<Omit<Edge, 'id'>, 'workFlowId'>"
      },
      "EdgePartial": {
        "title": "EdgePartial",
        "type": "object",
        "description": "(tsType: Partial<Edge>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "uuId": {
            "type": "string"
          },
          "sourceId": {
            "type": "string"
          },
          "targetId": {
            "type": "string"
          },
          "sourceHandle": {
            "type": "string"
          },
          "targetHandle": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "data": {},
          "workFlowId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Edge>"
      },
      "WorkSpace": {
        "title": "WorkSpace",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "openAiApiKey": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "userId": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "NewWorkSpaceInUser": {
        "title": "NewWorkSpaceInUser",
        "type": "object",
        "description": "(tsType: Omit<WorkSpace, 'id'>, schemaOptions: { title: 'NewWorkSpaceInUser', exclude: [ 'id' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "openAiApiKey": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "userId": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<WorkSpace, 'id'>"
      },
      "WorkSpacePartial": {
        "title": "WorkSpacePartial",
        "type": "object",
        "description": "(tsType: Partial<WorkSpace>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "openAiApiKey": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "userId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<WorkSpace>"
      },
      "Url": {
        "title": "Url",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "short_url": {
            "type": "string"
          },
          "full_url": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "userId": {
            "type": "string"
          }
        },
        "required": [
          "full_url"
        ],
        "additionalProperties": false
      },
      "NewUrlInUser": {
        "title": "NewUrlInUser",
        "type": "object",
        "description": "(tsType: @loopback/repository-json-schema#Optional<Omit<Url, 'id'>, 'userId'>, schemaOptions: { title: 'NewUrlInUser', exclude: [ 'id' ], optional: [ 'userId' ] })",
        "properties": {
          "key": {
            "type": "string"
          },
          "short_url": {
            "type": "string"
          },
          "full_url": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "userId": {
            "type": "string"
          }
        },
        "required": [
          "full_url"
        ],
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository-json-schema#Optional<Omit<Url, 'id'>, 'userId'>"
      },
      "UrlPartial": {
        "title": "UrlPartial",
        "type": "object",
        "description": "(tsType: Partial<Url>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "short_url": {
            "type": "string"
          },
          "full_url": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "userId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Url>"
      },
      "NewUser": {
        "title": "NewUser",
        "type": "object",
        "description": "(tsType: NewUserRequest, schemaOptions: { title: 'NewUser' })",
        "properties": {
          "id": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "roles": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "registeredAt": {
            "type": "string",
            "format": "date-time"
          },
          "resetKey": {
            "type": "string"
          },
          "verificationKey": {
            "type": "string"
          },
          "verified": {
            "type": "boolean"
          },
          "resetCount": {
            "type": "number"
          },
          "resetTimestamp": {
            "type": "string"
          },
          "resetKeyTimestamp": {
            "type": "string"
          },
          "password": {
            "type": "string"
          }
        },
        "required": [
          "email",
          "password"
        ],
        "additionalProperties": false,
        "x-typescript-type": "NewUserRequest"
      },
      "NewUserRequest": {
        "title": "NewUserRequest",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "roles": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "registeredAt": {
            "type": "string",
            "format": "date-time"
          },
          "resetKey": {
            "type": "string"
          },
          "verificationKey": {
            "type": "string"
          },
          "verified": {
            "type": "boolean"
          },
          "resetCount": {
            "type": "number"
          },
          "resetTimestamp": {
            "type": "string"
          },
          "resetKeyTimestamp": {
            "type": "string"
          },
          "password": {
            "type": "string"
          }
        },
        "required": [
          "email",
          "password"
        ],
        "additionalProperties": false
      },
      "ResetPasswordInit": {
        "title": "ResetPasswordInit",
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          }
        },
        "required": [
          "email"
        ],
        "additionalProperties": false
      },
      "KeyAndPassword": {
        "title": "KeyAndPassword",
        "type": "object",
        "properties": {
          "resetKey": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "confirmPassword": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "TableMember": {
        "title": "TableMember",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "tableId": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "NewTableMemberInTable": {
        "title": "NewTableMemberInTable",
        "type": "object",
        "description": "(tsType: @loopback/repository-json-schema#Optional<Omit<TableMember, 'id'>, 'tableId'>, schemaOptions: { title: 'NewTableMemberInTable', exclude: [ 'id' ], optional: [ 'tableId' ] })",
        "properties": {
          "tableId": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository-json-schema#Optional<Omit<TableMember, 'id'>, 'tableId'>"
      },
      "TableMemberPartial": {
        "title": "TableMemberPartial",
        "type": "object",
        "description": "(tsType: Partial<TableMember>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "tableId": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<TableMember>"
      },
      "Sheet": {
        "title": "Sheet",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "columns": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "webhooks": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "columnFilters": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "tableId": {
            "type": "string"
          },
          "googleSheetSource": {
            "type": "object"
          }
        },
        "additionalProperties": false
      },
      "NewSheetInTable": {
        "title": "NewSheetInTable",
        "type": "object",
        "description": "(tsType: @loopback/repository-json-schema#Optional<Omit<Sheet, 'id'>, 'tableId'>, schemaOptions: { title: 'NewSheetInTable', exclude: [ 'id' ], optional: [ 'tableId' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "columns": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "webhooks": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "columnFilters": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "tableId": {
            "type": "string"
          },
          "googleSheetSource": {
            "type": "object"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository-json-schema#Optional<Omit<Sheet, 'id'>, 'tableId'>"
      },
      "NewStepInStep": {
        "title": "NewStepInStep",
        "type": "object",
        "description": "(tsType: Omit<Step, 'id'>, schemaOptions: { title: 'NewStepInStep', exclude: [ 'id' ] })",
        "properties": {
          "uuId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "height": {
            "type": "number"
          },
          "width": {
            "type": "number"
          },
          "data": {},
          "position": {},
          "action": {
            "type": "string"
          },
          "input": {},
          "output": {},
          "error": {},
          "tested": {
            "type": "boolean"
          },
          "workFlowId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<Step, 'id'>"
      },
      "Chat": {
        "title": "Chat",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "messages": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "stepId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "OcrLog": {
        "title": "OcrLog",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "image_url": {
            "type": "string"
          },
          "result": {
            "type": "object"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "ocrTemplateId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "File": {
        "title": "File",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "size": {
            "type": "number"
          },
          "key": {
            "type": "string"
          },
          "mimetype": {
            "type": "string"
          },
          "encoding": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "FileWithRelations": {
        "title": "FileWithRelations",
        "type": "object",
        "description": "(tsType: FileWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "size": {
            "type": "number"
          },
          "key": {
            "type": "string"
          },
          "mimetype": {
            "type": "string"
          },
          "encoding": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "FileWithRelations"
      },
      "FilePartial": {
        "title": "FilePartial",
        "type": "object",
        "description": "(tsType: Partial<File>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "size": {
            "type": "number"
          },
          "key": {
            "type": "string"
          },
          "mimetype": {
            "type": "string"
          },
          "encoding": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<File>"
      },
      "NewExecution": {
        "title": "NewExecution",
        "type": "object",
        "description": "(tsType: Omit<Execution, 'id'>, schemaOptions: { title: 'NewExecution', exclude: [ 'id' ] })",
        "properties": {
          "payload": {
            "type": "object"
          },
          "status": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "error": {
            "type": "string"
          },
          "stepId": {
            "type": "string"
          },
          "workFlowId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<Execution, 'id'>"
      },
      "Log": {
        "title": "Log",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "input_payload": {
            "type": "object"
          },
          "output_payload": {
            "type": "object"
          },
          "status": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "executionId": {
            "type": "string"
          },
          "stepId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "SheetWithRelations": {
        "title": "SheetWithRelations",
        "type": "object",
        "description": "(tsType: SheetWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "columns": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "webhooks": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "columnFilters": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "tableId": {
            "type": "string"
          },
          "googleSheetSource": {
            "type": "object"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "SheetWithRelations"
      },
      "TableMemberWithRelations": {
        "title": "TableMemberWithRelations",
        "type": "object",
        "description": "(tsType: TableMemberWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "tableId": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "table": {
            "$ref": "#/components/schemas/TableWithRelations"
          },
          "foreignKey": {},
          "user": {
            "$ref": "#/components/schemas/UserWithRelations"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "TableMemberWithRelations"
      },
      "TeamWithRelations": {
        "title": "TeamWithRelations",
        "type": "object",
        "description": "(tsType: TeamWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "workSpaceId": {
            "type": "string"
          },
          "workSpace": {
            "$ref": "#/components/schemas/WorkSpaceWithRelations"
          },
          "foreignKey": {},
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MemberWithRelations"
            }
          }
        },
        "required": [
          "name",
          "workSpaceId"
        ],
        "additionalProperties": false,
        "x-typescript-type": "TeamWithRelations"
      },
      "MemberWithRelations": {
        "title": "MemberWithRelations",
        "type": "object",
        "description": "(tsType: MemberWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "acceptKey": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "role": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "workSpaceId": {
            "type": "string"
          },
          "teamId": {
            "type": "string"
          },
          "user": {
            "$ref": "#/components/schemas/UserWithRelations"
          },
          "foreignKey": {},
          "workSpace": {
            "$ref": "#/components/schemas/WorkSpaceWithRelations"
          },
          "team": {
            "$ref": "#/components/schemas/TeamWithRelations"
          }
        },
        "required": [
          "userId",
          "workSpaceId"
        ],
        "additionalProperties": false,
        "x-typescript-type": "MemberWithRelations"
      },
      "StepWithRelations": {
        "title": "StepWithRelations",
        "type": "object",
        "description": "(tsType: StepWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "uuId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "height": {
            "type": "number"
          },
          "width": {
            "type": "number"
          },
          "data": {},
          "position": {},
          "action": {
            "type": "string"
          },
          "input": {},
          "output": {},
          "error": {},
          "tested": {
            "type": "boolean"
          },
          "workFlowId": {
            "type": "string"
          },
          "targets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StepWithRelations"
            }
          },
          "sources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StepWithRelations"
            }
          },
          "workFlow": {
            "$ref": "#/components/schemas/WorkFlowWithRelations"
          },
          "foreignKey": {},
          "chat": {
            "$ref": "#/components/schemas/ChatWithRelations"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "StepWithRelations"
      },
      "LogWithRelations": {
        "title": "LogWithRelations",
        "type": "object",
        "description": "(tsType: LogWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "input_payload": {
            "type": "object"
          },
          "output_payload": {
            "type": "object"
          },
          "status": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "executionId": {
            "type": "string"
          },
          "stepId": {
            "type": "string"
          },
          "step": {
            "$ref": "#/components/schemas/StepWithRelations"
          },
          "foreignKey": {}
        },
        "additionalProperties": false,
        "x-typescript-type": "LogWithRelations"
      },
      "ChatWithRelations": {
        "title": "ChatWithRelations",
        "type": "object",
        "description": "(tsType: ChatWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "messages": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "stepId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "ChatWithRelations"
      },
      "EdgeWithRelations": {
        "title": "EdgeWithRelations",
        "type": "object",
        "description": "(tsType: EdgeWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "uuId": {
            "type": "string"
          },
          "sourceId": {
            "type": "string"
          },
          "targetId": {
            "type": "string"
          },
          "sourceHandle": {
            "type": "string"
          },
          "targetHandle": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "data": {},
          "workFlowId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "EdgeWithRelations"
      },
      "ExecutionWithRelations": {
        "title": "ExecutionWithRelations",
        "type": "object",
        "description": "(tsType: ExecutionWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "payload": {
            "type": "object"
          },
          "status": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "error": {
            "type": "string"
          },
          "stepId": {
            "type": "string"
          },
          "workFlowId": {
            "type": "string"
          },
          "step": {
            "$ref": "#/components/schemas/StepWithRelations"
          },
          "foreignKey": {},
          "logs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LogWithRelations"
            }
          },
          "workFlow": {
            "$ref": "#/components/schemas/WorkFlowWithRelations"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "ExecutionWithRelations"
      },
      "WorkFlowWithRelations": {
        "title": "WorkFlowWithRelations",
        "type": "object",
        "description": "(tsType: WorkFlowWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "payload": {},
          "workSpaceId": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "settings": {},
          "share": {},
          "steps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StepWithRelations"
            }
          },
          "edges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EdgeWithRelations"
            }
          },
          "executions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExecutionWithRelations"
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "WorkFlowWithRelations"
      },
      "OcrLogWithRelations": {
        "title": "OcrLogWithRelations",
        "type": "object",
        "description": "(tsType: OcrLogWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "image_url": {
            "type": "string"
          },
          "result": {
            "type": "object"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "ocrTemplateId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "OcrLogWithRelations"
      },
      "OcrTemplateWithRelations": {
        "title": "OcrTemplateWithRelations",
        "type": "object",
        "description": "(tsType: OcrTemplateWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "templateName": {
            "type": "string"
          },
          "sampleImage": {
            "type": "string"
          },
          "dataModel": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "allPossibleFields": {
            "type": "string"
          },
          "workSpaceId": {
            "type": "string"
          },
          "ocrLogs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OcrLogWithRelations"
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "OcrTemplateWithRelations"
      },
      "TableWithRelations": {
        "title": "TableWithRelations",
        "type": "object",
        "description": "(tsType: TableWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "workSpaceId": {
            "type": "string"
          },
          "sheets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SheetWithRelations"
            }
          },
          "tableMembers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TableMemberWithRelations"
            }
          },
          "workSpace": {
            "$ref": "#/components/schemas/WorkSpaceWithRelations"
          },
          "foreignKey": {}
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "TableWithRelations"
      },
      "WorkSpaceWithRelations": {
        "title": "WorkSpaceWithRelations",
        "type": "object",
        "description": "(tsType: WorkSpaceWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "openAiApiKey": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "userId": {
            "type": "string"
          },
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MemberWithRelations"
            }
          },
          "teams": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TeamWithRelations"
            }
          },
          "workFlows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkFlowWithRelations"
            }
          },
          "ocrTemplates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OcrTemplateWithRelations"
            }
          },
          "user": {
            "$ref": "#/components/schemas/UserWithRelations"
          },
          "foreignKey": {},
          "connections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConnectionWithRelations"
            }
          },
          "tables": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TableWithRelations"
            }
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "WorkSpaceWithRelations"
      },
      "ConnectionWithRelations": {
        "title": "ConnectionWithRelations",
        "type": "object",
        "description": "(tsType: ConnectionWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "profile": {
            "type": "string"
          },
          "access": {
            "type": "object"
          },
          "state": {
            "type": "string"
          },
          "clientId": {
            "type": "string"
          },
          "clientSecret": {
            "type": "string"
          },
          "redirect_uri": {
            "type": "string"
          },
          "expiry": {
            "type": "string",
            "format": "date-time"
          },
          "name": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "userId": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "workSpaceId": {
            "type": "string"
          },
          "workSpace": {
            "$ref": "#/components/schemas/WorkSpaceWithRelations"
          },
          "foreignKey": {}
        },
        "required": [
          "profile"
        ],
        "additionalProperties": false,
        "x-typescript-type": "ConnectionWithRelations"
      },
      "UrlWithRelations": {
        "title": "UrlWithRelations",
        "type": "object",
        "description": "(tsType: UrlWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "short_url": {
            "type": "string"
          },
          "full_url": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "userId": {
            "type": "string"
          }
        },
        "required": [
          "full_url"
        ],
        "additionalProperties": false,
        "x-typescript-type": "UrlWithRelations"
      },
      "UserCredentialsWithRelations": {
        "title": "UserCredentialsWithRelations",
        "type": "object",
        "description": "(tsType: UserCredentialsWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          }
        },
        "required": [
          "password",
          "userId"
        ],
        "additionalProperties": false,
        "x-typescript-type": "UserCredentialsWithRelations"
      },
      "UserWithRelations": {
        "title": "UserWithRelations",
        "type": "object",
        "description": "(tsType: UserWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "roles": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "registeredAt": {
            "type": "string",
            "format": "date-time"
          },
          "resetKey": {
            "type": "string"
          },
          "verificationKey": {
            "type": "string"
          },
          "verified": {
            "type": "boolean"
          },
          "resetCount": {
            "type": "number"
          },
          "resetTimestamp": {
            "type": "string"
          },
          "resetKeyTimestamp": {
            "type": "string"
          },
          "connections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConnectionWithRelations"
            }
          },
          "urls": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UrlWithRelations"
            }
          },
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MemberWithRelations"
            }
          },
          "userCredentials": {
            "$ref": "#/components/schemas/UserCredentialsWithRelations"
          },
          "workSpaces": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WorkSpaceWithRelations"
            }
          },
          "teams": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TeamWithRelations"
            }
          }
        },
        "required": [
          "email"
        ],
        "additionalProperties": false,
        "x-typescript-type": "UserWithRelations"
      },
      "EventWithRelations": {
        "title": "EventWithRelations",
        "type": "object",
        "description": "(tsType: EventWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "eventType": {
            "type": "string",
            "enum": [
              "DELETE"
            ]
          },
          "entityType": {
            "type": "string",
            "enum": [
              "WORKFLOW",
              "STEP",
              "TABLE",
              "SHEET",
              "ROW",
              "COLUMN"
            ]
          },
          "entityId": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "data": {
            "type": "object"
          },
          "metadata": {
            "type": "object"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "description": {
            "type": "string"
          },
          "ipAddress": {
            "type": "string"
          },
          "browser": {
            "type": "string"
          },
          "user": {
            "$ref": "#/components/schemas/UserWithRelations"
          },
          "foreignKey": {}
        },
        "required": [
          "eventType",
          "entityType",
          "data"
        ],
        "additionalProperties": false,
        "x-typescript-type": "EventWithRelations"
      },
      "loopback.Count": {
        "type": "object",
        "title": "loopback.Count",
        "x-typescript-type": "@loopback/repository#Count",
        "properties": {
          "count": {
            "type": "number"
          }
        }
      },
      "Event.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "Event.ScopeFilter"
      },
      "Event.IncludeFilter.Items": {
        "title": "Event.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "user"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/Event.ScopeFilter"
          }
        }
      },
      "Event.Filter": {
        "type": "object",
        "title": "Event.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "eventType": {
                    "type": "boolean"
                  },
                  "entityType": {
                    "type": "boolean"
                  },
                  "entityId": {
                    "type": "boolean"
                  },
                  "userId": {
                    "type": "boolean"
                  },
                  "data": {
                    "type": "boolean"
                  },
                  "metadata": {
                    "type": "boolean"
                  },
                  "timestamp": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "ipAddress": {
                    "type": "boolean"
                  },
                  "browser": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "eventType",
                    "entityType",
                    "entityId",
                    "userId",
                    "data",
                    "metadata",
                    "timestamp",
                    "description",
                    "ipAddress",
                    "browser"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Event.Fields"
          },
          "include": {
            "title": "Event.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Event.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Event>"
      },
      "File.Filter": {
        "type": "object",
        "title": "File.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "size": {
                    "type": "boolean"
                  },
                  "key": {
                    "type": "boolean"
                  },
                  "mimetype": {
                    "type": "boolean"
                  },
                  "encoding": {
                    "type": "boolean"
                  },
                  "url": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "size",
                    "key",
                    "mimetype",
                    "encoding",
                    "url",
                    "createdAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "File.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<File>"
      },
      "File.Filter1": {
        "type": "object",
        "title": "File.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "File.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "size": {
                    "type": "boolean"
                  },
                  "key": {
                    "type": "boolean"
                  },
                  "mimetype": {
                    "type": "boolean"
                  },
                  "encoding": {
                    "type": "boolean"
                  },
                  "url": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "size",
                    "key",
                    "mimetype",
                    "encoding",
                    "url",
                    "createdAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "File.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<File>"
      }
    },
    "securitySchemes": {
      "jwt": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    }
  },
  "security": []
}