{
  "openapi": "3.0.0",
  "info": {
    "title": "veritasms.api",
    "version": "0.0.1",
    "description": "veritasms.api",
    "contact": {
      "name": "HsAdrianaGithub",
      "email": "adriana.niculescu@hypersense-software.com"
    }
  },
  "paths": {
    "/api/admin/calendar-events/getObject": {
      "get": {
        "x-controller-name": "AdminCalendarEventsController",
        "x-operation-name": "getObject",
        "tags": [
          "AdminCalendarEventsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Return a calendar event",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "items": {
                    "$ref": "#/components/schemas/CalendarEvents",
                    "definitions": {
                      "CalendarEvents": {
                        "$ref": "#/components/schemas/CalendarEvents"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "AdminCalendarEventsController.getObject"
      }
    },
    "/api/admin/calendar-events/getObjects": {
      "get": {
        "x-controller-name": "AdminCalendarEventsController",
        "x-operation-name": "getItems",
        "tags": [
          "AdminCalendarEventsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "List of user events",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "items": {
                    "$ref": "#/components/schemas/CalendarEvents",
                    "definitions": {
                      "CalendarEvents": {
                        "$ref": "#/components/schemas/CalendarEvents"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "ownerID",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "dueDateFrom",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "dueDateTo",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "AdminCalendarEventsController.getItems"
      }
    },
    "/api/admin/calendar-events/getObjectsCounter": {
      "get": {
        "x-controller-name": "AdminCalendarEventsController",
        "x-operation-name": "getObjectsCounter",
        "tags": [
          "AdminCalendarEventsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {
          "200": {
            "description": "Get objects counter"
          }
        },
        "parameters": [
          {
            "name": "ownerID",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "dueDateFrom",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "dueDateTo",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "AdminCalendarEventsController.getObjectsCounter"
      }
    },
    "/api/admin/change-events/approve/{id}": {
      "put": {
        "x-controller-name": "AdminChangeEventsController",
        "x-operation-name": "approveEvent",
        "tags": [
          "AdminChangeEventsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChangeEventsPartial"
                }
              }
            }
          }
        },
        "description": "Reject a change request",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "AdminChangeEventsController.approveEvent"
      }
    },
    "/api/admin/change-events/getObject": {
      "get": {
        "x-controller-name": "AdminChangeEventsController",
        "x-operation-name": "getObject",
        "tags": [
          "AdminChangeEventsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Return a recurring event",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "items": {
                    "$ref": "#/components/schemas/ChangeEvents",
                    "definitions": {
                      "ChangeEvents": {
                        "$ref": "#/components/schemas/ChangeEvents"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "AdminChangeEventsController.getObject"
      }
    },
    "/api/admin/change-events/getObjects": {
      "get": {
        "x-controller-name": "AdminChangeEventsController",
        "x-operation-name": "getItems",
        "tags": [
          "AdminChangeEventsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "List of user change events",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "items": {
                    "$ref": "#/components/schemas/ChangeEvents",
                    "definitions": {
                      "ChangeEvents": {
                        "$ref": "#/components/schemas/ChangeEvents"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "ownerID",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "eventType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "startDateFrom",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "startDateTo",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "AdminChangeEventsController.getItems"
      }
    },
    "/api/admin/change-events/getObjectsCounter": {
      "get": {
        "x-controller-name": "AdminChangeEventsController",
        "x-operation-name": "getObjectsCounter",
        "tags": [
          "AdminChangeEventsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {
          "200": {
            "description": "Get objects counter"
          }
        },
        "parameters": [
          {
            "name": "ownerID",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "eventType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "startDateFrom",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "startDateTo",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "AdminChangeEventsController.getObjectsCounter"
      }
    },
    "/api/admin/change-events/reject/{id}": {
      "put": {
        "x-controller-name": "AdminChangeEventsController",
        "x-operation-name": "changeEvent",
        "tags": [
          "AdminChangeEventsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChangeEventsPartial"
                }
              }
            }
          }
        },
        "description": "Reject a change request",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "AdminChangeEventsController.changeEvent"
      }
    },
    "/api/admin/form/create-user/{id}": {
      "get": {
        "x-controller-name": "AdminFormController",
        "x-operation-name": "createUser",
        "tags": [
          "AdminFormController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Create sender from form data",
        "responses": {
          "200": {
            "content": {}
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "AdminFormController.createUser"
      }
    },
    "/api/admin/form/events/{id}": {
      "put": {
        "x-controller-name": "AdminFormController",
        "x-operation-name": "updateEvents",
        "tags": [
          "AdminFormController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Update a form",
        "responses": {
          "200": {
            "content": {}
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FormDataEventsPartialExcluding_formID-createdAt-updatedAt-id_"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AdminFormController.updateEvents"
      }
    },
    "/api/admin/form/getObject": {
      "get": {
        "x-controller-name": "AdminFormController",
        "x-operation-name": "getObject",
        "tags": [
          "AdminFormController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {},
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "AdminFormController.getObject"
      }
    },
    "/api/admin/form/getObjects": {
      "get": {
        "x-controller-name": "AdminFormController",
        "x-operation-name": "getObjects",
        "tags": [
          "AdminFormController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {
          "200": {
            "description": "Get forms.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FormUserDataWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "keyword",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "caseNumber",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "AdminFormController.getObjects"
      }
    },
    "/api/admin/form/getObjectsCounter": {
      "get": {
        "x-controller-name": "AdminFormController",
        "x-operation-name": "getObjectsCounter",
        "tags": [
          "AdminFormController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {
          "200": {
            "description": "Get form data counter"
          }
        },
        "parameters": [
          {
            "name": "keyword",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "caseNumber",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "AdminFormController.getObjectsCounter"
      }
    },
    "/api/admin/form/subscriptionLink/{formID}": {
      "get": {
        "x-controller-name": "AdminFormController",
        "x-operation-name": "subscriptionLink",
        "tags": [
          "AdminFormController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Resend stripe payment link",
        "responses": {
          "200": {
            "content": {}
          }
        },
        "parameters": [
          {
            "name": "formID",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "AdminFormController.subscriptionLink"
      }
    },
    "/api/admin/form/user/{id}": {
      "put": {
        "x-controller-name": "AdminFormController",
        "x-operation-name": "updateForm",
        "tags": [
          "AdminFormController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Update a form",
        "responses": {
          "200": {
            "content": {}
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "firstName": {
                    "type": "string",
                    "nullable": false
                  },
                  "lastName": {
                    "type": "string",
                    "nullable": false
                  },
                  "phone": {
                    "type": "string",
                    "nullable": false
                  },
                  "email": {
                    "type": "string",
                    "nullable": false
                  },
                  "caseNumber": {
                    "type": "string",
                    "nullable": false
                  },
                  "status": {
                    "type": "string",
                    "nullable": false
                  }
                },
                "example": {
                  "firstName": "ady",
                  "lastName": "test",
                  "phone": "123456789",
                  "email": "ady@test.com",
                  "caseNumber": "123456789",
                  "status": "pending"
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AdminFormController.updateForm"
      }
    },
    "/api/admin/login": {
      "post": {
        "x-controller-name": "AdminController",
        "x-operation-name": "login",
        "tags": [
          "AdminController"
        ],
        "responses": {
          "200": {
            "description": "Login",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessTokens"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "email": {
                    "type": "string"
                  }
                }
              },
              "examples": {
                "basic": {
                  "value": {
                    "email": "admin@veritas.com",
                    "password": "1qaz2wsx1qaz2wsx"
                  }
                }
              }
            }
          }
        },
        "operationId": "AdminController.login"
      }
    },
    "/api/admin/payments/exportObjects": {
      "get": {
        "x-controller-name": "AdminPaymentsController",
        "x-operation-name": "exportObjects",
        "tags": [
          "AdminPaymentsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {
          "200": {
            "description": "Get users payments.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Payments"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "userID",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "senderID",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "receiverID",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "AdminPaymentsController.exportObjects"
      }
    },
    "/api/admin/payments/getObject": {
      "get": {
        "x-controller-name": "AdminPaymentsController",
        "x-operation-name": "getObject",
        "tags": [
          "AdminPaymentsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {},
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "AdminPaymentsController.getObject"
      }
    },
    "/api/admin/payments/getObjects": {
      "get": {
        "x-controller-name": "AdminPaymentsController",
        "x-operation-name": "getObjects",
        "tags": [
          "AdminPaymentsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {
          "200": {
            "description": "Get users payments.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Payments"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "userID",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "senderID",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "receiverID",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "AdminPaymentsController.getObjects"
      }
    },
    "/api/admin/payments/getObjectsCounter": {
      "get": {
        "x-controller-name": "AdminPaymentsController",
        "x-operation-name": "getObjectsCounter",
        "tags": [
          "AdminPaymentsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {
          "200": {
            "description": "Get objects counter"
          }
        },
        "parameters": [
          {
            "name": "senderID",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "userID",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "receiverID",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "AdminPaymentsController.getObjectsCounter"
      }
    },
    "/api/admin/photos/downloadImages": {
      "get": {
        "x-controller-name": "AdminPhotosController",
        "x-operation-name": "downloadImages",
        "tags": [
          "AdminPhotosController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {
          "200": {
            "description": "Download user photo"
          }
        },
        "parameters": [
          {
            "name": "ownerID",
            "in": "query",
            "schema": {
              "type": "number"
            },
            "required": true
          },
          {
            "name": "startDate",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "AdminPhotosController.downloadImages"
      }
    },
    "/api/admin/photos/exportObjects": {
      "get": {
        "x-controller-name": "AdminPhotosController",
        "x-operation-name": "exportObjects",
        "tags": [
          "AdminPhotosController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {
          "200": {
            "description": "Get users photos.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Payments"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "ownerID",
            "in": "query",
            "schema": {
              "type": "number"
            },
            "required": true
          },
          {
            "name": "startDate",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "AdminPhotosController.exportObjects"
      }
    },
    "/api/admin/photos/getObject": {
      "get": {
        "x-controller-name": "AdminPhotosController",
        "x-operation-name": "getObject",
        "tags": [
          "AdminPhotosController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {},
        "parameters": [
          {
            "name": "ownerID",
            "in": "query",
            "schema": {
              "type": "number"
            },
            "required": true
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "AdminPhotosController.getObject"
      }
    },
    "/api/admin/photos/getObjects": {
      "get": {
        "x-controller-name": "AdminPhotosController",
        "x-operation-name": "getObjects",
        "tags": [
          "AdminPhotosController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {
          "200": {
            "description": "Get users photos.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Images"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "ownerID",
            "in": "query",
            "schema": {
              "type": "number"
            },
            "required": true
          },
          {
            "name": "startDate",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "AdminPhotosController.getObjects"
      }
    },
    "/api/admin/photos/getObjectsCounter": {
      "get": {
        "x-controller-name": "AdminPhotosController",
        "x-operation-name": "getObjectsCounter",
        "tags": [
          "AdminPhotosController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {
          "200": {
            "description": "Get objects counter"
          }
        },
        "parameters": [
          {
            "name": "ownerID",
            "in": "query",
            "schema": {
              "type": "number"
            },
            "required": true
          },
          {
            "name": "startDate",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "AdminPhotosController.getObjectsCounter"
      }
    },
    "/api/admin/photos/privateImage": {
      "get": {
        "x-controller-name": "AdminPhotosController",
        "x-operation-name": "privateImage",
        "tags": [
          "AdminPhotosController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {},
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "AdminPhotosController.privateImage"
      }
    },
    "/api/admin/recurring-events/getObject": {
      "get": {
        "x-controller-name": "AdminRecurringEventsController",
        "x-operation-name": "getObject",
        "tags": [
          "AdminRecurringEventsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Return a recurring event",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "items": {
                    "$ref": "#/components/schemas/RecurringEvents",
                    "definitions": {
                      "RecurringEvents": {
                        "$ref": "#/components/schemas/RecurringEvents"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "AdminRecurringEventsController.getObject"
      }
    },
    "/api/admin/recurring-events/getObjects": {
      "get": {
        "x-controller-name": "AdminRecurringEventsController",
        "x-operation-name": "getItems",
        "tags": [
          "AdminRecurringEventsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "List of user recurring events",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "items": {
                    "$ref": "#/components/schemas/RecurringEvents",
                    "definitions": {
                      "RecurringEvents": {
                        "$ref": "#/components/schemas/RecurringEvents"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "ownerID",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "eventType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "startDateFrom",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "startDateTo",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "AdminRecurringEventsController.getItems"
      }
    },
    "/api/admin/recurring-events/getObjectsCounter": {
      "get": {
        "x-controller-name": "AdminRecurringEventsController",
        "x-operation-name": "getObjectsCounter",
        "tags": [
          "AdminRecurringEventsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {
          "200": {
            "description": "Get objects counter"
          }
        },
        "parameters": [
          {
            "name": "ownerID",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "eventType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "startDateFrom",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "startDateTo",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "AdminRecurringEventsController.getObjectsCounter"
      }
    },
    "/api/admin/settings/deleteSettings": {
      "get": {
        "x-controller-name": "AdminSettingsController",
        "x-operation-name": "deleteSettings",
        "tags": [
          "AdminSettingsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {},
        "parameters": [
          {
            "name": "key",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AdminSettingsController.deleteSettings"
      }
    },
    "/api/admin/settings/getSetting": {
      "get": {
        "x-controller-name": "AdminSettingsController",
        "x-operation-name": "getSetting",
        "tags": [
          "AdminSettingsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {},
        "parameters": [
          {
            "name": "key",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AdminSettingsController.getSetting"
      }
    },
    "/api/admin/settings/getSettings": {
      "get": {
        "x-controller-name": "AdminSettingsController",
        "x-operation-name": "getSettings",
        "tags": [
          "AdminSettingsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {
          "200": {
            "description": "Get all settings.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Settings"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "AdminSettingsController.getSettings"
      }
    },
    "/api/admin/settings/saveSettings": {
      "post": {
        "x-controller-name": "AdminSettingsController",
        "x-operation-name": "saveSettings",
        "tags": [
          "AdminSettingsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {},
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "key": {
                    "type": "string"
                  },
                  "value": {
                    "type": "string",
                    "nullable": true
                  }
                }
              }
            }
          },
          "description": "Add or update a setting"
        },
        "operationId": "AdminSettingsController.saveSettings"
      }
    },
    "/api/admin/users/count": {
      "get": {
        "x-controller-name": "AdminUsersController",
        "x-operation-name": "countAllItems",
        "tags": [
          "AdminUsersController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Count all users",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "number"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "keyword",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "email",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "role",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "firstName",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "lastName",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "caseNumber",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "courtName",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "routingNumber",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountNumber",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "AdminUsersController.countAllItems"
      }
    },
    "/api/admin/users/{id}": {
      "put": {
        "x-controller-name": "AdminUsersController",
        "x-operation-name": "update",
        "tags": [
          "AdminUsersController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {},
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "enum": [
                      "active",
                      "disabled",
                      "removed",
                      "pending"
                    ],
                    "nullable": true
                  }
                }
              }
            }
          },
          "description": "Activate/Deactivate user",
          "x-parameter-index": 1
        },
        "operationId": "AdminUsersController.update"
      },
      "get": {
        "x-controller-name": "AdminUsersController",
        "x-operation-name": "getItem",
        "tags": [
          "AdminUsersController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Return an user",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "items": {
                    "$ref": "#/components/schemas/Users",
                    "definitions": {
                      "Users": {
                        "$ref": "#/components/schemas/Users"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "AdminUsersController.getItem"
      }
    },
    "/api/admin/users": {
      "get": {
        "x-controller-name": "AdminUsersController",
        "x-operation-name": "findAllItems",
        "tags": [
          "AdminUsersController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Get users ",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Users"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "keyword",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "email",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "role",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "firstName",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "lastName",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "caseNumber",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "courtName",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "routingNumber",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountNumber",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "AdminUsersController.findAllItems"
      }
    },
    "/api/common/aws/generateTempSignedPostURL": {
      "post": {
        "x-controller-name": "UploadController",
        "x-operation-name": "generateTempSignedPostURL",
        "tags": [
          "UploadController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {},
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              },
              "examples": {
                "SampleCall": {
                  "summary": "A valid request",
                  "value": {
                    "type": "image/png",
                    "key": "tmp/file.png",
                    "size": 1200
                  }
                }
              }
            }
          }
        },
        "operationId": "UploadController.generateTempSignedPostURL"
      }
    },
    "/api/common/aws/guestSignedPostURL": {
      "post": {
        "x-controller-name": "UploadController",
        "x-operation-name": "guestSignedPostURL",
        "tags": [
          "UploadController"
        ],
        "responses": {},
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              },
              "examples": {
                "SampleCall": {
                  "summary": "A valid request",
                  "value": {
                    "type": "image/png",
                    "key": "tmp/file.png",
                    "size": 1200
                  }
                }
              }
            }
          }
        },
        "operationId": "UploadController.guestSignedPostURL"
      }
    },
    "/api/common/password/change": {
      "post": {
        "x-controller-name": "PasswordController",
        "x-operation-name": "change",
        "tags": [
          "PasswordController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {
          "200": {
            "description": "Set password, from the reset flow",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessTokens"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "oldPassword": {
                    "type": "string"
                  },
                  "newPassword": {
                    "type": "string"
                  }
                }
              },
              "examples": {
                "basic": {
                  "value": {
                    "oldPassword": "1qaz2wsx1qaz2wsx",
                    "newPassword": "test12341qaz2wsx"
                  }
                }
              }
            }
          }
        },
        "operationId": "PasswordController.change"
      }
    },
    "/api/common/password/reset": {
      "post": {
        "x-controller-name": "PasswordController",
        "x-operation-name": "reset",
        "tags": [
          "PasswordController"
        ],
        "responses": {
          "200": {
            "description": "Reset password, only available to active users",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessTokens"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "email": {
                    "type": "string"
                  }
                }
              },
              "examples": {
                "basic": {
                  "value": {
                    "email": "test+mobile@designli.co"
                  }
                }
              }
            }
          }
        },
        "operationId": "PasswordController.reset"
      }
    },
    "/api/common/password/set": {
      "post": {
        "x-controller-name": "PasswordController",
        "x-operation-name": "setPassword",
        "tags": [
          "PasswordController"
        ],
        "responses": {},
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "password": {
                    "type": "string"
                  },
                  "token": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "description": "Set password using reset token"
        },
        "operationId": "PasswordController.setPassword"
      }
    },
    "/api/common/settings": {
      "get": {
        "x-controller-name": "SettingsController",
        "x-operation-name": "apiSettings",
        "tags": [
          "SettingsController"
        ],
        "description": "Return api settings",
        "responses": {},
        "operationId": "SettingsController.apiSettings"
      }
    },
    "/api/common/user/checkToken": {
      "post": {
        "x-controller-name": "CommonUsersController",
        "x-operation-name": "checkToken",
        "tags": [
          "CommonUsersController"
        ],
        "responses": {
          "200": {
            "description": "Check Token validity",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "errorCode": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "number"
                        },
                        "message": {
                          "type": "string"
                        }
                      }
                    },
                    "message": {
                      "$ref": "#/components/schemas/AccessTokens",
                      "required": false
                    }
                  }
                },
                "examples": {
                  "invalidToken": {
                    "value": {
                      "errorCode": {
                        "code": 1006,
                        "message": "Expired token"
                      }
                    }
                  },
                  "validToken": {
                    "value": {
                      "errorCode": {
                        "code": 0,
                        "message": "ok"
                      },
                      "response": {
                        "valid": true,
                        "newPassword": false
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "token": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "description": "checkToken"
        },
        "operationId": "CommonUsersController.checkToken"
      }
    },
    "/api/common/user/logout": {
      "post": {
        "x-controller-name": "CommonUsersController",
        "x-operation-name": "logout",
        "tags": [
          "CommonUsersController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Logout",
        "responses": {
          "200": {
            "content": {
              "application/json": {}
            }
          }
        },
        "operationId": "CommonUsersController.logout"
      }
    },
    "/api/common/user/refreshToken": {
      "post": {
        "x-controller-name": "CommonUsersController",
        "x-operation-name": "refreshToken",
        "tags": [
          "CommonUsersController"
        ],
        "responses": {
          "200": {
            "description": "RefreshToken",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessTokensWithRelations"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "refreshToken": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "description": "refreshToken"
        },
        "operationId": "CommonUsersController.refreshToken"
      }
    },
    "/api/dwolla/webhook/setWebhook": {
      "get": {
        "x-controller-name": "DwollaController",
        "x-operation-name": "setWebhook",
        "tags": [
          "DwollaController"
        ],
        "responses": {
          "200": {
            "description": "Mobile: set webhook"
          }
        },
        "operationId": "DwollaController.setWebhook"
      }
    },
    "/api/dwolla/webhook": {
      "post": {
        "x-controller-name": "DwollaController",
        "x-operation-name": "webhook",
        "tags": [
          "DwollaController"
        ],
        "responses": {
          "200": {
            "description": "Webhook Dwolla events"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "DwollaController.webhook"
      }
    },
    "/api/mobile/calendar-events/addToCalendar": {
      "post": {
        "x-controller-name": "MobileCalendarEventsController",
        "x-operation-name": "addToCalendar",
        "tags": [
          "MobileCalendarEventsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Add a receipt to calendar",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CalendarEventsPartial"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string",
                    "nullable": true
                  },
                  "description": {
                    "type": "string",
                    "nullable": true
                  },
                  "mediaID": {
                    "type": "number",
                    "nullable": false
                  },
                  "label": {
                    "type": "string",
                    "nullable": false
                  },
                  "dueDate": {
                    "type": "number",
                    "nullable": false
                  }
                }
              }
            }
          }
        },
        "operationId": "MobileCalendarEventsController.addToCalendar"
      }
    },
    "/api/mobile/calendar-events/comment": {
      "post": {
        "x-controller-name": "MobileCalendarEventsController",
        "x-operation-name": "addComment",
        "tags": [
          "MobileCalendarEventsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Add comment",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CalendarEventsPartial"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "eventID": {
                    "type": "number",
                    "nullable": false
                  },
                  "comment": {
                    "type": "string",
                    "nullable": false
                  }
                }
              }
            }
          }
        },
        "operationId": "MobileCalendarEventsController.addComment"
      }
    },
    "/api/mobile/calendar-events/{id}/comments": {
      "get": {
        "x-controller-name": "MobileCalendarEventsController",
        "x-operation-name": "getItemComments",
        "tags": [
          "MobileCalendarEventsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Return a calendar event",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "items": {
                    "$ref": "#/components/schemas/CalendarEvents",
                    "definitions": {
                      "CalendarEvents": {
                        "$ref": "#/components/schemas/CalendarEvents"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "MobileCalendarEventsController.getItemComments"
      }
    },
    "/api/mobile/calendar-events/{id}": {
      "put": {
        "x-controller-name": "MobileCalendarEventsController",
        "x-operation-name": "updateEvent",
        "tags": [
          "MobileCalendarEventsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Update event",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CalendarEventsPartial"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string",
                    "nullable": true
                  },
                  "description": {
                    "type": "string",
                    "nullable": true
                  },
                  "label": {
                    "type": "string",
                    "nullable": false
                  },
                  "dueDate": {
                    "type": "number",
                    "nullable": false
                  },
                  "mediaURL": {
                    "type": "string",
                    "nullable": true
                  },
                  "latitude": {
                    "type": "number",
                    "nullable": true
                  },
                  "longitude": {
                    "type": "number",
                    "nullable": true
                  },
                  "mobileCreatedAt": {
                    "type": "number",
                    "nullable": true
                  },
                  "eventType": {
                    "type": "string",
                    "nullable": true
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "MobileCalendarEventsController.updateEvent"
      },
      "get": {
        "x-controller-name": "MobileCalendarEventsController",
        "x-operation-name": "getItem",
        "tags": [
          "MobileCalendarEventsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Return a calendar event",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "items": {
                    "$ref": "#/components/schemas/CalendarEvents",
                    "definitions": {
                      "CalendarEvents": {
                        "$ref": "#/components/schemas/CalendarEvents"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "MobileCalendarEventsController.getItem"
      },
      "delete": {
        "x-controller-name": "MobileCalendarEventsController",
        "x-operation-name": "deleteEvent",
        "tags": [
          "MobileCalendarEventsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Delete an event",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "deleted": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "MobileCalendarEventsController.deleteEvent"
      }
    },
    "/api/mobile/calendar-events": {
      "post": {
        "x-controller-name": "MobileCalendarEventsController",
        "x-operation-name": "addEvent",
        "tags": [
          "MobileCalendarEventsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Save a non recurring event",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CalendarEventsPartial"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string",
                    "nullable": true
                  },
                  "description": {
                    "type": "string",
                    "nullable": true
                  },
                  "mediaURL": {
                    "type": "string",
                    "nullable": true
                  },
                  "latitude": {
                    "type": "number",
                    "nullable": true
                  },
                  "longitude": {
                    "type": "number",
                    "nullable": true
                  },
                  "mobileCreatedAt": {
                    "type": "number",
                    "nullable": true
                  },
                  "eventType": {
                    "type": "string",
                    "nullable": true
                  },
                  "label": {
                    "type": "string",
                    "nullable": false
                  },
                  "dueDate": {
                    "type": "number",
                    "nullable": true
                  }
                }
              }
            }
          }
        },
        "operationId": "MobileCalendarEventsController.addEvent"
      },
      "get": {
        "x-controller-name": "MobileCalendarEventsController",
        "x-operation-name": "getItems",
        "tags": [
          "MobileCalendarEventsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "List of events",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "items": {
                    "$ref": "#/components/schemas/CalendarEvents",
                    "definitions": {
                      "CalendarEvents": {
                        "$ref": "#/components/schemas/CalendarEvents"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "dueDateFrom",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "dueDateTo",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "MobileCalendarEventsController.getItems"
      }
    },
    "/api/mobile/change-events/{id}": {
      "put": {
        "x-controller-name": "MobileChangeEventsController",
        "x-operation-name": "changeEvent",
        "tags": [
          "MobileChangeEventsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChangeEventsPartial"
                }
              }
            }
          }
        },
        "description": "Change a recurring event",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string",
                    "nullable": true
                  },
                  "description": {
                    "type": "string",
                    "nullable": true
                  },
                  "eventType": {
                    "type": "string",
                    "nullable": true
                  },
                  "recurringType": {
                    "type": "string",
                    "nullable": false
                  },
                  "repeatedPattern": {
                    "type": "string",
                    "nullable": false
                  },
                  "label": {
                    "type": "string",
                    "nullable": false
                  },
                  "color": {
                    "type": "string",
                    "nullable": false
                  },
                  "day": {
                    "type": "string",
                    "nullable": false
                  },
                  "month": {
                    "type": "number",
                    "nullable": false
                  },
                  "startDate": {
                    "type": "number",
                    "nullable": false
                  },
                  "endDate": {
                    "type": "number",
                    "nullable": false
                  },
                  "reasonText": {
                    "type": "string",
                    "nullable": false
                  },
                  "reasonImageURL": {
                    "type": "string",
                    "nullable": true
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "MobileChangeEventsController.changeEvent"
      }
    },
    "/api/mobile/images/changeFolder": {
      "put": {
        "x-controller-name": "MobileImageController",
        "x-operation-name": "changeFolder",
        "tags": [
          "MobileImageController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Move image from one folder to another or to other category",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImagesPartial"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ImagesPartialExcluding_ownerID-imageURL-description-latitude-longitude-mobileCreatedAt-labelCreatedAt-createdAt-updatedAt_"
              }
            }
          }
        },
        "operationId": "MobileImageController.changeFolder"
      }
    },
    "/api/mobile/images/count": {
      "get": {
        "x-controller-name": "MobileImageController",
        "x-operation-name": "countAllItems",
        "tags": [
          "MobileImageController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Count images for a category or folder;category or folder should have values",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "number"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "folderID",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "category",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "MobileImageController.countAllItems"
      }
    },
    "/api/mobile/images/{id}": {
      "get": {
        "x-controller-name": "MobileImageController",
        "x-operation-name": "getItem",
        "tags": [
          "MobileImageController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Return an image",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "items": {
                    "$ref": "#/components/schemas/Images",
                    "definitions": {
                      "Images": {
                        "$ref": "#/components/schemas/Images"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "MobileImageController.getItem"
      },
      "delete": {
        "x-controller-name": "MobileImageController",
        "x-operation-name": "deleteImage",
        "tags": [
          "MobileImageController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Delete an image",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "deleted": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "MobileImageController.deleteImage"
      }
    },
    "/api/mobile/images": {
      "post": {
        "x-controller-name": "MobileImageController",
        "x-operation-name": "addImage",
        "tags": [
          "MobileImageController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Save an image",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImagesPartial"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ImagesPartialExcluding_id-createdAt-updatedAt-ownerID_"
              }
            }
          }
        },
        "operationId": "MobileImageController.addImage"
      },
      "get": {
        "x-controller-name": "MobileImageController",
        "x-operation-name": "findAllItems",
        "tags": [
          "MobileImageController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Get images for a category or folder;category or folder should have values",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Images"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "folderID",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "category",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "MobileImageController.findAllItems"
      }
    },
    "/api/mobile/images-folder/count": {
      "get": {
        "x-controller-name": "MobileImagesFolderController",
        "x-operation-name": "countAllItems",
        "tags": [
          "MobileImagesFolderController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Count category folders",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "number"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "category",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "MobileImagesFolderController.countAllItems"
      }
    },
    "/api/mobile/images-folder/{id}": {
      "put": {
        "x-controller-name": "MobileImagesFolderController",
        "x-operation-name": "editImagesFolder",
        "tags": [
          "MobileImagesFolderController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Update a folder",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImagesFolderPartial"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ImagesFolderPartialExcluding_id-ownerID-category-createdAt-updatedAt-lastUploadedAt_"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "MobileImagesFolderController.editImagesFolder"
      },
      "get": {
        "x-controller-name": "MobileImagesFolderController",
        "x-operation-name": "getItem",
        "tags": [
          "MobileImagesFolderController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Return folder with images",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "items": {
                    "$ref": "#/components/schemas/ImagesFolder",
                    "definitions": {
                      "ImagesFolder": {
                        "$ref": "#/components/schemas/ImagesFolder"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "MobileImagesFolderController.getItem"
      },
      "delete": {
        "x-controller-name": "MobileImagesFolderController",
        "x-operation-name": "deleteUser",
        "tags": [
          "MobileImagesFolderController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Delete an image folder",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "deleted": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "MobileImagesFolderController.deleteUser"
      }
    },
    "/api/mobile/images-folder": {
      "post": {
        "x-controller-name": "MobileImagesFolderController",
        "x-operation-name": "addImagesFolder",
        "tags": [
          "MobileImagesFolderController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Create a folder",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImagesFolderPartial"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ImagesFolderPartialExcluding_id-ownerID-createdAt-updatedAt-lastUploadedAt_"
              }
            }
          }
        },
        "operationId": "MobileImagesFolderController.addImagesFolder"
      },
      "get": {
        "x-controller-name": "MobileImagesFolderController",
        "x-operation-name": "findAllItems",
        "tags": [
          "MobileImagesFolderController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Return  folders from a category",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ImagesFolder"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "category",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "MobileImagesFolderController.findAllItems"
      }
    },
    "/api/mobile/payments/count": {
      "get": {
        "x-controller-name": "MobilePaymentsController",
        "x-operation-name": "countPayments",
        "tags": [
          "MobilePaymentsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Count user payments",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "number"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "startDate",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "MobilePaymentsController.countPayments"
      }
    },
    "/api/mobile/payments/dwollaBalance": {
      "get": {
        "x-controller-name": "MobilePaymentsController",
        "x-operation-name": "getDwollaBalance",
        "tags": [
          "MobilePaymentsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Get dwolla balance  ",
        "responses": {
          "200": {
            "content": {}
          }
        },
        "operationId": "MobilePaymentsController.getDwollaBalance"
      }
    },
    "/api/mobile/payments/{id}": {
      "get": {
        "x-controller-name": "MobilePaymentsController",
        "x-operation-name": "getPayment",
        "tags": [
          "MobilePaymentsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Get a payment by id ",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Payments"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "MobilePaymentsController.getPayment"
      }
    },
    "/api/mobile/payments": {
      "post": {
        "x-controller-name": "MobilePaymentsController",
        "x-operation-name": "addPayment",
        "tags": [
          "MobilePaymentsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Make a payment",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentsPartialExcluding_failedDetails_"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentsPartialExcluding_id-createdAt-updatedAt-senderID-receiverID-status-correlationId-fee-dwollaTransfer-failedDetails_"
              }
            }
          }
        },
        "operationId": "MobilePaymentsController.addPayment"
      },
      "get": {
        "x-controller-name": "MobilePaymentsController",
        "x-operation-name": "getPayments",
        "tags": [
          "MobilePaymentsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Get user payments ",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Payments"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "startDate",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "MobilePaymentsController.getPayments"
      }
    },
    "/api/mobile/recurring-events/generate-simple-events": {
      "get": {
        "x-controller-name": "MobileRecurringEventsController",
        "x-operation-name": "generateSimpleEvents",
        "tags": [
          "MobileRecurringEventsController"
        ],
        "responses": {
          "200": {
            "description": "LAMBDA only:method for prolong recurring event"
          }
        },
        "operationId": "MobileRecurringEventsController.generateSimpleEvents"
      }
    },
    "/api/mobile/recurring-events/{id}": {
      "get": {
        "x-controller-name": "MobileRecurringEventsController",
        "x-operation-name": "getItem",
        "tags": [
          "MobileRecurringEventsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Get a recurring event",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "items": {
                    "$ref": "#/components/schemas/RecurringEvents",
                    "definitions": {
                      "RecurringEvents": {
                        "$ref": "#/components/schemas/RecurringEvents"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "MobileRecurringEventsController.getItem"
      },
      "delete": {
        "x-controller-name": "MobileRecurringEventsController",
        "x-operation-name": "deleteUser",
        "tags": [
          "MobileRecurringEventsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Delete recurring event",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "deleted": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "MobileRecurringEventsController.deleteUser"
      }
    },
    "/api/mobile/recurring-events": {
      "post": {
        "x-controller-name": "MobileRecurringEventsController",
        "x-operation-name": "addEvent",
        "tags": [
          "MobileRecurringEventsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Create a recurring event",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RecurringEventsPartial"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string",
                    "nullable": true
                  },
                  "description": {
                    "type": "string",
                    "nullable": true
                  },
                  "mediaURL": {
                    "type": "string",
                    "nullable": true
                  },
                  "latitude": {
                    "type": "number",
                    "nullable": true
                  },
                  "longitude": {
                    "type": "number",
                    "nullable": true
                  },
                  "mobileCreatedAt": {
                    "type": "number",
                    "nullable": true
                  },
                  "eventType": {
                    "type": "string",
                    "nullable": true
                  },
                  "recurringType": {
                    "type": "string",
                    "nullable": false
                  },
                  "repeatedPattern": {
                    "type": "string",
                    "nullable": false
                  },
                  "label": {
                    "type": "string",
                    "nullable": false
                  },
                  "color": {
                    "type": "string",
                    "nullable": false
                  },
                  "day": {
                    "type": "string",
                    "nullable": false
                  },
                  "month": {
                    "type": "number",
                    "nullable": false
                  },
                  "startDate": {
                    "type": "number",
                    "nullable": false
                  },
                  "endDate": {
                    "type": "number",
                    "nullable": false
                  }
                }
              }
            }
          }
        },
        "operationId": "MobileRecurringEventsController.addEvent"
      },
      "get": {
        "x-controller-name": "MobileRecurringEventsController",
        "x-operation-name": "getItems",
        "tags": [
          "MobileRecurringEventsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "List of recurring events",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "items": {
                    "$ref": "#/components/schemas/RecurringEvents",
                    "definitions": {
                      "RecurringEvents": {
                        "$ref": "#/components/schemas/RecurringEvents"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "startDateFrom",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "startDateTo",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "MobileRecurringEventsController.getItems"
      }
    },
    "/api/mobile/subscriptions/cancelSubscription": {
      "get": {
        "x-controller-name": "MobileSubscriptionsController",
        "x-operation-name": "cancelSubscription",
        "tags": [
          "MobileSubscriptionsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Cancel subscription",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "number"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "stripeSubscriptionID",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "MobileSubscriptionsController.cancelSubscription"
      }
    },
    "/api/mobile/subscriptions/count": {
      "get": {
        "x-controller-name": "MobileSubscriptionsController",
        "x-operation-name": "countSubscription",
        "tags": [
          "MobileSubscriptionsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Count user subscription payments",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "number"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "active",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "MobileSubscriptionsController.countSubscription"
      }
    },
    "/api/mobile/subscriptions/subscriptionLink/{userID}": {
      "get": {
        "x-controller-name": "MobileSubscriptionsController",
        "x-operation-name": "subscriptionLink",
        "tags": [
          "MobileSubscriptionsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Resend stripe payment link",
        "responses": {
          "200": {
            "content": {}
          }
        },
        "parameters": [
          {
            "name": "userID",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "MobileSubscriptionsController.subscriptionLink"
      }
    },
    "/api/mobile/subscriptions": {
      "get": {
        "x-controller-name": "MobileSubscriptionsController",
        "x-operation-name": "getSubscriptions",
        "tags": [
          "MobileSubscriptionsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Get user subscription payments ",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Subscription"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "active",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "MobileSubscriptionsController.getSubscriptions"
      }
    },
    "/api/mobile/user/bankAccount": {
      "put": {
        "x-controller-name": "MobileUserController",
        "x-operation-name": "updateBankAccount",
        "tags": [
          "MobileUserController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {
          "200": {
            "description": "Mobile:  Add user bank account",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Users"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "firstName": {
                    "type": "string",
                    "nullable": true
                  },
                  "lastName": {
                    "type": "string",
                    "nullable": true
                  },
                  "routingNumber": {
                    "type": "string",
                    "nullable": true
                  },
                  "accountNumber": {
                    "type": "string",
                    "nullable": true
                  },
                  "bankAccountType": {
                    "type": "string",
                    "nullable": true
                  }
                }
              }
            }
          }
        },
        "operationId": "MobileUserController.updateBankAccount"
      }
    },
    "/api/mobile/user/checkEmail": {
      "post": {
        "x-controller-name": "MobileUserController",
        "x-operation-name": "checkEmail",
        "tags": [
          "MobileUserController"
        ],
        "responses": {
          "200": {
            "description": "Mobile: Check if email exists"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "email": {
                    "type": "string"
                  }
                }
              },
              "examples": {
                "basic": {
                  "value": {
                    "email": "test+mobile@designli.co"
                  }
                }
              }
            }
          }
        },
        "operationId": "MobileUserController.checkEmail"
      }
    },
    "/api/mobile/user/checkLoginCode": {
      "post": {
        "x-controller-name": "MobileUserController",
        "x-operation-name": "checkLoginCode",
        "tags": [
          "MobileUserController"
        ],
        "responses": {},
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "description": "Check login code"
        },
        "operationId": "MobileUserController.checkLoginCode"
      }
    },
    "/api/mobile/user/dwollaCustomer": {
      "get": {
        "x-controller-name": "MobileUserController",
        "x-operation-name": "dwollaCustomer",
        "tags": [
          "MobileUserController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Return user dwolla customer details",
        "responses": {},
        "operationId": "MobileUserController.dwollaCustomer"
      }
    },
    "/api/mobile/user/export": {
      "get": {
        "x-controller-name": "MobileUserController",
        "x-operation-name": "exportObjects",
        "tags": [
          "MobileUserController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {
          "200": {
            "description": "Export pdf items.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Payments"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "startDate",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "MobileUserController.exportObjects"
      }
    },
    "/api/mobile/user/login": {
      "post": {
        "x-controller-name": "MobileUserController",
        "x-operation-name": "login",
        "tags": [
          "MobileUserController"
        ],
        "responses": {
          "200": {
            "description": "Login for mobile - v2 sender & receiver",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessTokens"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "email": {
                    "type": "string"
                  },
                  "password": {
                    "type": "string"
                  },
                  "acceptTerms": {
                    "type": "number"
                  },
                  "acceptDwollaTerms": {
                    "type": "number"
                  }
                }
              },
              "examples": {
                "basic": {
                  "value": {
                    "email": "test+mobile@designli.co",
                    "password": "1qaz2wsx1qaz2wsx",
                    "acceptTerms": 1,
                    "acceptDwollaTerms": 1
                  }
                }
              }
            }
          }
        },
        "operationId": "MobileUserController.login"
      }
    },
    "/api/mobile/user/paymentLink/{id}": {
      "get": {
        "x-controller-name": "MobileUserController",
        "x-operation-name": "paymentLink",
        "tags": [
          "MobileUserController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Resend stripe payment link",
        "responses": {
          "200": {
            "content": {}
          }
        },
        "operationId": "MobileUserController.paymentLink"
      }
    },
    "/api/mobile/user/profile": {
      "get": {
        "x-controller-name": "MobileUserController",
        "x-operation-name": "userProfile",
        "tags": [
          "MobileUserController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Return user profile",
        "responses": {},
        "operationId": "MobileUserController.userProfile"
      }
    },
    "/api/mobile/user": {
      "put": {
        "x-controller-name": "MobileUserController",
        "x-operation-name": "update",
        "tags": [
          "MobileUserController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {
          "200": {
            "description": "Mobile:  Update the user",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Users"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "firstName": {
                    "type": "string",
                    "nullable": true
                  },
                  "lastName": {
                    "type": "string",
                    "nullable": true
                  },
                  "phone": {
                    "type": "string",
                    "nullable": true
                  },
                  "address": {
                    "type": "string",
                    "nullable": true
                  },
                  "city": {
                    "type": "string",
                    "nullable": true
                  },
                  "state": {
                    "type": "string",
                    "nullable": true
                  },
                  "postalCode": {
                    "type": "string",
                    "nullable": true
                  },
                  "dateOfBirth": {
                    "type": "string",
                    "nullable": true
                  },
                  "lastSsn": {
                    "type": "string",
                    "nullable": true
                  },
                  "caseNumber": {
                    "type": "string",
                    "nullable": true
                  },
                  "courtName": {
                    "type": "string",
                    "nullable": true
                  },
                  "actionNumber": {
                    "type": "string",
                    "nullable": true
                  }
                }
              }
            }
          }
        },
        "operationId": "MobileUserController.update"
      },
      "delete": {
        "x-controller-name": "MobileUserController",
        "x-operation-name": "deleteUser",
        "tags": [
          "MobileUserController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Delete an user",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "deleted": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "MobileUserController.deleteUser"
      }
    },
    "/api/mobile/verify-customer/kbaAnswers": {
      "post": {
        "x-controller-name": "MobileVerifyCustomerController",
        "x-operation-name": "addDocument",
        "tags": [
          "MobileVerifyCustomerController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {
          "200": {
            "description": "Customer kba verification: submit kba answers"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "questionId": {
                      "type": "string",
                      "nullable": false
                    },
                    "answerId": {
                      "type": "string",
                      "nullable": true
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "MobileVerifyCustomerController.addDocument"
      }
    },
    "/api/mobile/verify-customer/kbaQuestions": {
      "get": {
        "x-controller-name": "MobileVerifyCustomerController",
        "x-operation-name": "kbaQuestions",
        "tags": [
          "MobileVerifyCustomerController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Get kbaQuestions",
        "responses": {
          "200": {
            "description": "Customer kba verification: get kba questions"
          }
        },
        "operationId": "MobileVerifyCustomerController.kbaQuestions"
      }
    },
    "/api/mobile/verify-customer/microDeposits": {
      "post": {
        "x-controller-name": "MobileVerifyCustomerController",
        "x-operation-name": "verifyMicroDeposits",
        "tags": [
          "MobileVerifyCustomerController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {
          "200": {
            "description": "Customer kba verification: submit kba answers"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "amount1": {
                    "type": "string",
                    "nullable": false
                  },
                  "amount2": {
                    "type": "string",
                    "nullable": false
                  }
                }
              }
            }
          }
        },
        "operationId": "MobileVerifyCustomerController.verifyMicroDeposits"
      }
    },
    "/api/mobile/verify-customer/uploadDocument": {
      "post": {
        "x-controller-name": "MobileVerifyCustomerController",
        "x-operation-name": "uploadDocument",
        "tags": [
          "MobileVerifyCustomerController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {
          "200": {
            "description": "Customer kba verification: upload document"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "documentURL": {
                    "type": "string",
                    "nullable": false
                  },
                  "documentType": {
                    "type": "string",
                    "nullable": true
                  }
                }
              }
            }
          }
        },
        "operationId": "MobileVerifyCustomerController.uploadDocument"
      }
    },
    "/api/stripe/webhook": {
      "post": {
        "x-controller-name": "StripeController",
        "x-operation-name": "stripeAccountWebHook",
        "tags": [
          "StripeController"
        ],
        "responses": {},
        "requestBody": {
          "content": {
            "application/json": {
              "x-parser": "raw",
              "schema": {
                "type": "object"
              }
            }
          },
          "description": "Web hook for  stripe ",
          "required": true
        },
        "operationId": "StripeController.stripeAccountWebHook"
      }
    },
    "/api/web/form": {
      "post": {
        "x-controller-name": "WebFormController",
        "x-operation-name": "saveForm",
        "tags": [
          "WebFormController"
        ],
        "description": "Add a form",
        "responses": {
          "200": {
            "content": {}
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "firstName": {
                    "type": "string",
                    "nullable": false
                  },
                  "lastName": {
                    "type": "string",
                    "nullable": false
                  },
                  "phone": {
                    "type": "string",
                    "nullable": false
                  },
                  "email": {
                    "type": "string",
                    "nullable": false
                  },
                  "caseNumber": {
                    "type": "string",
                    "nullable": false
                  },
                  "storageFolder": {
                    "type": "string",
                    "nullable": false
                  },
                  "files": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "fileUrl": {
                          "type": "string",
                          "nullable": false
                        },
                        "fileName": {
                          "type": "string",
                          "nullable": false,
                          "default": ""
                        }
                      }
                    },
                    "nullable": false
                  },
                  "events": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "schema": {
                          "$ref": "#/components/schemas/FormDataEventsPartial"
                        }
                      }
                    },
                    "nullable": true
                  }
                },
                "example": {
                  "firstName": "ady",
                  "lastName": "test",
                  "phone": "123456789",
                  "email": "ady@test.com",
                  "caseNumber": "123456789",
                  "storageFolder": "forms/storageFolder123456789",
                  "files": [
                    {
                      "fileUrl": "tmp/file1.jpg",
                      "fileName": "file name"
                    }
                  ],
                  "events": [
                    {
                      "eventType": "visitation",
                      "recurringType": "everyWeek",
                      "day": "3",
                      "month": 0
                    }
                  ]
                }
              }
            }
          }
        },
        "operationId": "WebFormController.saveForm"
      }
    },
    "/api/web/payments/count": {
      "get": {
        "x-controller-name": "WebPaymentsController",
        "x-operation-name": "countPayments",
        "tags": [
          "WebPaymentsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Count received payments",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "number"
                }
              }
            }
          }
        },
        "operationId": "WebPaymentsController.countPayments"
      }
    },
    "/api/web/payments": {
      "get": {
        "x-controller-name": "WebPaymentsController",
        "x-operation-name": "getPayments",
        "tags": [
          "WebPaymentsController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "description": "Get user payments ",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Payments"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "WebPaymentsController.getPayments"
      }
    },
    "/api/web/user/bankAccount": {
      "put": {
        "x-controller-name": "WebUsersController",
        "x-operation-name": "updateBankAccount",
        "tags": [
          "WebUsersController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {
          "200": {
            "description": "Mobile:  Add user bank account",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Users"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "firstName": {
                    "type": "string",
                    "nullable": true
                  },
                  "lastName": {
                    "type": "string",
                    "nullable": true
                  },
                  "routingNumber": {
                    "type": "string",
                    "nullable": true
                  },
                  "accountNumber": {
                    "type": "string",
                    "nullable": true
                  },
                  "bankAccountType": {
                    "type": "string",
                    "nullable": true
                  }
                }
              }
            }
          }
        },
        "operationId": "WebUsersController.updateBankAccount"
      }
    },
    "/api/web/user/checkInvitation": {
      "post": {
        "x-controller-name": "WebUsersController",
        "x-operation-name": "checkInvitation",
        "tags": [
          "WebUsersController"
        ],
        "responses": {
          "200": {
            "description": "FE: Check the invitation if exists",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessTokens"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "email": {
                    "type": "string"
                  },
                  "firstName": {
                    "type": "string"
                  },
                  "lastName": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "password": {
                    "type": "string"
                  },
                  "inviteToken": {
                    "type": "string"
                  }
                }
              },
              "examples": {
                "basic": {
                  "value": {
                    "email": "test+mobile@designli.co",
                    "password": "1qaz2wsx1qaz2wsx",
                    "firstName": "test",
                    "lastName": "test",
                    "phone": "1234567890",
                    "inviteToken": "123456gjkkll;uuuuu"
                  }
                }
              }
            }
          }
        },
        "operationId": "WebUsersController.checkInvitation"
      }
    },
    "/api/web/user/checkLoginCode": {
      "post": {
        "x-controller-name": "WebUsersController",
        "x-operation-name": "checkLoginCode",
        "tags": [
          "WebUsersController"
        ],
        "responses": {},
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "description": "Check login code"
        },
        "operationId": "WebUsersController.checkLoginCode"
      }
    },
    "/api/web/user/login": {
      "post": {
        "x-controller-name": "WebUsersController",
        "x-operation-name": "login",
        "tags": [
          "WebUsersController"
        ],
        "responses": {
          "200": {
            "description": "Login for receiver",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessTokens"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "email": {
                    "type": "string"
                  },
                  "password": {
                    "type": "string"
                  }
                }
              },
              "examples": {
                "basic": {
                  "value": {
                    "email": "test+mobile@designli.co",
                    "password": "1qaz2wsx1qaz2wsx"
                  }
                }
              }
            }
          }
        },
        "operationId": "WebUsersController.login"
      }
    },
    "/api/web/user/microDeposits": {
      "post": {
        "x-controller-name": "WebUsersController",
        "x-operation-name": "verifyMicroDeposits",
        "tags": [
          "WebUsersController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {
          "200": {
            "description": "Customer kba verification: submit kba answers"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "amount1": {
                    "type": "string",
                    "nullable": false
                  },
                  "amount2": {
                    "type": "string",
                    "nullable": false
                  }
                }
              }
            }
          }
        },
        "operationId": "WebUsersController.verifyMicroDeposits"
      }
    },
    "/api/web/user/register": {
      "post": {
        "x-controller-name": "WebUsersController",
        "x-operation-name": "register",
        "tags": [
          "WebUsersController"
        ],
        "responses": {
          "200": {
            "description": "FE: User Registration",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessTokens"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "email": {
                    "type": "string"
                  },
                  "firstName": {
                    "type": "string"
                  },
                  "lastName": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "password": {
                    "type": "string"
                  },
                  "inviteToken": {
                    "type": "string"
                  },
                  "acceptDwollaTerms": {
                    "type": "number"
                  },
                  "acceptTerms": {
                    "type": "number"
                  }
                }
              },
              "examples": {
                "basic": {
                  "value": {
                    "email": "test+mobile@designli.co",
                    "password": "1qaz2wsx1qaz2wsx",
                    "firstName": "test",
                    "lastName": "test",
                    "phone": "1234567890",
                    "inviteToken": "123456gjkkll;uuuuu",
                    "acceptDwollaTerms": 1,
                    "acceptTerms": 1
                  }
                }
              }
            }
          }
        },
        "operationId": "WebUsersController.register"
      }
    },
    "/api/web/user/user": {
      "put": {
        "x-controller-name": "WebUsersController",
        "x-operation-name": "update",
        "tags": [
          "WebUsersController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {
          "200": {
            "description": "FE: Update the user",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Users"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "firstName": {
                    "type": "string",
                    "nullable": true
                  },
                  "lastName": {
                    "type": "string",
                    "nullable": true
                  },
                  "email": {
                    "type": "string",
                    "nullable": true
                  },
                  "phone": {
                    "type": "string",
                    "nullable": true
                  }
                }
              }
            }
          }
        },
        "operationId": "WebUsersController.update"
      }
    },
    "/api/web/user/verifyEmail": {
      "post": {
        "x-controller-name": "WebUsersController",
        "x-operation-name": "verifyEmail",
        "tags": [
          "WebUsersController"
        ],
        "responses": {
          "200": {
            "description": "Verify email",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "errorCode": {
                      "type": "object",
                      "properties": {
                        "code": {
                          "type": "number"
                        },
                        "message": {
                          "type": "string"
                        }
                      }
                    },
                    "message": {
                      "$ref": "#/components/schemas/AccessTokens",
                      "required": false
                    }
                  }
                },
                "examples": {
                  "invalidToken": {
                    "value": {
                      "errorCode": {
                        "code": 1006,
                        "message": "Expired token"
                      }
                    }
                  },
                  "validToken": {
                    "value": {
                      "errorCode": {
                        "code": 0,
                        "message": "ok"
                      },
                      "response": {
                        "done": true
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "token": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "description": "Verify email"
        },
        "operationId": "WebUsersController.verifyEmail"
      }
    },
    "/api/web/user": {
      "get": {
        "x-controller-name": "WebUsersController",
        "x-operation-name": "me",
        "tags": [
          "WebUsersController"
        ],
        "security": [
          {
            "access-token": []
          }
        ],
        "responses": {
          "200": {
            "description": "Mobile:  Add user bank account",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Users"
                }
              }
            }
          }
        },
        "operationId": "WebUsersController.me"
      }
    },
    "/ping": {
      "get": {
        "x-controller-name": "PingController",
        "x-operation-name": "ping",
        "tags": [
          "PingController"
        ],
        "responses": {
          "200": {
            "description": "Ping Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PingResponse"
                }
              }
            }
          }
        },
        "operationId": "PingController.ping"
      }
    }
  },
  "servers": [
    {
      "url": "http://localhost:3000"
    },
    {
      "url": "https://d2wm5uwshimpqa.cloudfront.net"
    },
    {
      "url": "http://d2wm5uwshimpqa.cloudfront.net"
    }
  ],
  "components": {
    "schemas": {
      "AccessTokens": {
        "title": "AccessTokens",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "ttl": {
            "type": "number"
          },
          "type": {
            "type": "string"
          },
          "refreshToken": {
            "type": "string"
          },
          "createdAt": {
            "type": "number"
          },
          "userID": {
            "type": "number"
          }
        },
        "required": [
          "createdAt"
        ],
        "additionalProperties": false
      },
      "LoginCredentials": {
        "title": "LoginCredentials",
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "acceptTerms": {
            "type": "number"
          },
          "acceptDwollaTerms": {
            "type": "number"
          }
        },
        "required": [
          "email",
          "password"
        ],
        "additionalProperties": true
      },
      "Users": {
        "title": "Users",
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "email": {
            "type": "string"
          },
          "role": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "passwordCreatedAt": {
            "type": "number"
          },
          "storageFolder": {
            "type": "string"
          },
          "avatarURL": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "disabled",
              "removed",
              "pending",
              "invited"
            ]
          },
          "loginAttempts": {
            "type": "number"
          },
          "lockedAt": {
            "type": "number"
          },
          "createdAt": {
            "type": "number"
          },
          "updatedAt": {
            "type": "number"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "inviteToken": {
            "type": "string"
          },
          "usedInvitedToken": {
            "type": "string"
          },
          "receiverID": {
            "type": "number"
          },
          "routingNumber": {
            "type": "string"
          },
          "bankAccountType": {
            "type": "string"
          },
          "accountNumber": {
            "type": "string"
          },
          "caseNumber": {
            "type": "string"
          },
          "courtName": {
            "type": "string"
          },
          "actionNumber": {
            "type": "string"
          },
          "lastLogin": {
            "type": "number"
          },
          "acceptTerms": {
            "type": "number"
          },
          "acceptTermsAt": {
            "type": "number"
          },
          "acceptDwollaTerms": {
            "type": "number"
          },
          "acceptDwollaTermsAt": {
            "type": "number"
          },
          "dwollaCustomer": {
            "type": "string"
          },
          "dwollaCustomerStatus": {
            "type": "string"
          },
          "dwollaCustomerStatusTime": {
            "type": "string"
          },
          "dwollaFundSource": {
            "type": "string"
          },
          "dwollaFundSourceStatus": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "postalCode": {
            "type": "string"
          },
          "dateOfBirth": {
            "type": "string"
          },
          "lastSsn": {
            "type": "string"
          },
          "verificationCode": {
            "type": "string"
          },
          "expiredAtVerificationCode": {
            "type": "number"
          },
          "documentUploadedURL": {
            "type": "string"
          },
          "failedDetails": {
            "type": "string"
          },
          "kbaId": {
            "type": "string"
          },
          "stripeCustomerID": {
            "type": "string"
          }
        },
        "required": [
          "email"
        ],
        "additionalProperties": false
      },
      "Payments": {
        "title": "Payments",
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "senderID": {
            "type": "number"
          },
          "receiverID": {
            "type": "number"
          },
          "content": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "fee": {
            "type": "number"
          },
          "updatedAt": {
            "type": "number"
          },
          "createdAt": {
            "type": "number"
          },
          "dwollaTransfer": {
            "type": "string"
          },
          "failedDetails": {
            "type": "string"
          },
          "labelCreatedAt": {
            "type": "string"
          },
          "correlationId": {
            "type": "string"
          }
        },
        "required": [
          "senderID",
          "receiverID",
          "status",
          "amount",
          "fee",
          "updatedAt",
          "createdAt"
        ],
        "additionalProperties": false
      },
      "FormDataEventsPartial": {
        "title": "FormDataEventsPartial",
        "type": "object",
        "description": "(tsType: Partial<FormDataEvents>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "number"
          },
          "formID": {
            "type": "number"
          },
          "eventType": {
            "type": "string",
            "enum": [
              "default",
              "visitation",
              "alimony",
              "childSupport",
              "receipts",
              "martinLutherKingDay",
              "presidentDay",
              "motherDay",
              "memorialDay",
              "fatherDay",
              "fourthofJuly",
              "laborDay",
              "halloween",
              "thanksgiving",
              "christmasEve",
              "veteransDay",
              "birthday",
              "motherBirthday",
              "fatherBirthday",
              "religiousHoliday",
              "fallBreak",
              "christmasBreak",
              "winterBreak",
              "springBreak",
              "summerVacation"
            ]
          },
          "recurringType": {
            "type": "string",
            "enum": [
              "everyWeek",
              "everyOtherWeek",
              "everyMonth",
              "everyYear"
            ]
          },
          "day": {
            "type": "string"
          },
          "month": {
            "type": "number"
          },
          "repeatedPattern": {
            "type": "string"
          },
          "createdAt": {
            "type": "number"
          },
          "updatedAt": {
            "type": "number"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<FormDataEvents>"
      },
      "Buffer": {},
      "Subscription": {
        "title": "Subscription",
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "sessionID": {
            "type": "string"
          },
          "stripeCustomerID": {
            "type": "string"
          },
          "stripeInvoiceID": {
            "type": "string"
          },
          "stripeSubscriptionID": {
            "type": "string"
          },
          "stripeSubscriptionStatus": {
            "type": "string"
          },
          "startedAt": {
            "type": "number"
          },
          "endedAt": {
            "type": "number"
          },
          "createdAt": {
            "type": "number"
          },
          "amountPaid": {
            "type": "number"
          },
          "amountDue": {
            "type": "number"
          },
          "invoiceURL": {
            "type": "string"
          },
          "invoicePDF": {
            "type": "string"
          },
          "webhooksAt": {
            "type": "number"
          }
        },
        "required": [
          "stripeCustomerID",
          "stripeSubscriptionID"
        ],
        "additionalProperties": false
      },
      "RecurringEventsPartial": {
        "title": "RecurringEventsPartial",
        "type": "object",
        "description": "(tsType: Partial<RecurringEvents>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "number"
          },
          "ownerID": {
            "type": "number"
          },
          "eventSource": {
            "type": "string",
            "enum": [
              "general",
              "user"
            ]
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "mediaID": {
            "type": "number"
          },
          "label": {
            "type": "string"
          },
          "color": {
            "type": "string"
          },
          "eventType": {
            "type": "string",
            "enum": [
              "default",
              "visitation",
              "alimony",
              "childSupport",
              "receipts",
              "martinLutherKingDay",
              "presidentDay",
              "motherDay",
              "memorialDay",
              "fatherDay",
              "fourthofJuly",
              "laborDay",
              "halloween",
              "thanksgiving",
              "christmasEve",
              "veteransDay",
              "birthday",
              "motherBirthday",
              "fatherBirthday",
              "religiousHoliday",
              "fallBreak",
              "christmasBreak",
              "winterBreak",
              "springBreak",
              "summerVacation"
            ]
          },
          "recurringType": {
            "type": "string",
            "enum": [
              "everyWeek",
              "everyOtherWeek",
              "everyMonth",
              "everyYear"
            ]
          },
          "day": {
            "type": "string"
          },
          "month": {
            "type": "number"
          },
          "repeatedPattern": {
            "type": "string"
          },
          "startDate": {
            "type": "number"
          },
          "endDate": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "inactive"
            ]
          },
          "createdAt": {
            "type": "number"
          },
          "updatedAt": {
            "type": "number"
          },
          "eventsAddedUntil": {
            "type": "number"
          },
          "lambdaStatus": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<RecurringEvents>"
      },
      "PaymentsPartialExcluding_failedDetails_": {
        "title": "PaymentsPartialExcluding_failedDetails_",
        "type": "object",
        "description": "(tsType: Omit<Partial<Payments>, 'failedDetails'>, schemaOptions: { partial: true, exclude: [ 'failedDetails' ] })",
        "properties": {
          "id": {
            "type": "number"
          },
          "senderID": {
            "type": "number"
          },
          "receiverID": {
            "type": "number"
          },
          "content": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "fee": {
            "type": "number"
          },
          "updatedAt": {
            "type": "number"
          },
          "createdAt": {
            "type": "number"
          },
          "dwollaTransfer": {
            "type": "string"
          },
          "labelCreatedAt": {
            "type": "string"
          },
          "correlationId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<Partial<Payments>, 'failedDetails'>"
      },
      "PaymentsPartialExcluding_id-createdAt-updatedAt-senderID-receiverID-status-correlationId-fee-dwollaTransfer-failedDetails_": {
        "title": "PaymentsPartialExcluding_id-createdAt-updatedAt-senderID-receiverID-status-correlationId-fee-dwollaTransfer-failedDetails_",
        "type": "object",
        "description": "(tsType: Omit<Partial<Payments>, 'id' | 'createdAt' | 'updatedAt' | 'senderID' | 'receiverID' | 'status' | 'correlationId' | 'fee' | 'dwollaTransfer' | 'failedDetails'>, schemaOptions: { partial: true, exclude: [ 'id', 'createdAt', 'updatedAt', 'senderID', 'receiverID', 'status', 'correlationId', 'fee', 'dwollaTransfer', 'failedDetails' ] })",
        "properties": {
          "content": {
            "type": "string",
            "nullable": true
          },
          "amount": {
            "type": "number"
          },
          "labelCreatedAt": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<Partial<Payments>, 'id' | 'createdAt' | 'updatedAt' | 'senderID' | 'receiverID' | 'status' | 'correlationId' | 'fee' | 'dwollaTransfer' | 'failedDetails'>"
      },
      "ImagesFolder": {
        "title": "ImagesFolder",
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "ownerID": {
            "type": "number"
          },
          "category": {
            "type": "string",
            "enum": [
              "court",
              "receipts",
              "pictures",
              "school",
              "calendar"
            ]
          },
          "name": {
            "type": "string"
          },
          "createdAt": {
            "type": "number"
          },
          "updatedAt": {
            "type": "number"
          },
          "lastUploadedAt": {
            "type": "number"
          }
        },
        "required": [
          "ownerID",
          "category",
          "name"
        ],
        "additionalProperties": false
      },
      "ImagesFolderPartial": {
        "title": "ImagesFolderPartial",
        "type": "object",
        "description": "(tsType: Partial<ImagesFolder>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "number"
          },
          "ownerID": {
            "type": "number"
          },
          "category": {
            "type": "string",
            "enum": [
              "court",
              "receipts",
              "pictures",
              "school",
              "calendar"
            ]
          },
          "name": {
            "type": "string"
          },
          "createdAt": {
            "type": "number"
          },
          "updatedAt": {
            "type": "number"
          },
          "lastUploadedAt": {
            "type": "number"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<ImagesFolder>"
      },
      "ImagesFolderPartialExcluding_id-ownerID-category-createdAt-updatedAt-lastUploadedAt_": {
        "title": "ImagesFolderPartialExcluding_id-ownerID-category-createdAt-updatedAt-lastUploadedAt_",
        "type": "object",
        "description": "(tsType: Omit<Partial<ImagesFolder>, 'id' | 'ownerID' | 'category' | 'createdAt' | 'updatedAt' | 'lastUploadedAt'>, schemaOptions: { partial: true, exclude: [ 'id', 'ownerID', 'category', 'createdAt', 'updatedAt', 'lastUploadedAt' ] })",
        "properties": {
          "name": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<Partial<ImagesFolder>, 'id' | 'ownerID' | 'category' | 'createdAt' | 'updatedAt' | 'lastUploadedAt'>"
      },
      "ImagesFolderPartialExcluding_id-ownerID-createdAt-updatedAt-lastUploadedAt_": {
        "title": "ImagesFolderPartialExcluding_id-ownerID-createdAt-updatedAt-lastUploadedAt_",
        "type": "object",
        "description": "(tsType: Omit<Partial<ImagesFolder>, 'id' | 'ownerID' | 'createdAt' | 'updatedAt' | 'lastUploadedAt'>, schemaOptions: { partial: true, exclude: [ 'id', 'ownerID', 'createdAt', 'updatedAt', 'lastUploadedAt' ] })",
        "properties": {
          "category": {
            "type": "string",
            "enum": [
              "court",
              "receipts",
              "pictures",
              "school",
              "calendar"
            ]
          },
          "name": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<Partial<ImagesFolder>, 'id' | 'ownerID' | 'createdAt' | 'updatedAt' | 'lastUploadedAt'>"
      },
      "Images": {
        "title": "Images",
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "ownerID": {
            "type": "number"
          },
          "folderID": {
            "type": "number"
          },
          "category": {
            "type": "string",
            "enum": [
              "court",
              "receipts",
              "pictures",
              "school",
              "calendar"
            ]
          },
          "imageURL": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "latitude": {
            "type": "number"
          },
          "longitude": {
            "type": "number"
          },
          "mobileCreatedAt": {
            "type": "number"
          },
          "labelCreatedAt": {
            "type": "string"
          },
          "createdAt": {
            "type": "number"
          },
          "updatedAt": {
            "type": "number"
          },
          "eventID": {
            "type": "number"
          }
        },
        "required": [
          "ownerID",
          "category",
          "latitude",
          "longitude"
        ],
        "additionalProperties": false
      },
      "ImagesPartial": {
        "title": "ImagesPartial",
        "type": "object",
        "description": "(tsType: Partial<Images>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "number"
          },
          "ownerID": {
            "type": "number"
          },
          "folderID": {
            "type": "number"
          },
          "category": {
            "type": "string",
            "enum": [
              "court",
              "receipts",
              "pictures",
              "school",
              "calendar"
            ]
          },
          "imageURL": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "latitude": {
            "type": "number"
          },
          "longitude": {
            "type": "number"
          },
          "mobileCreatedAt": {
            "type": "number"
          },
          "labelCreatedAt": {
            "type": "string"
          },
          "createdAt": {
            "type": "number"
          },
          "updatedAt": {
            "type": "number"
          },
          "eventID": {
            "type": "number"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Images>"
      },
      "ImagesPartialExcluding_id-createdAt-updatedAt-ownerID_": {
        "title": "ImagesPartialExcluding_id-createdAt-updatedAt-ownerID_",
        "type": "object",
        "description": "(tsType: Omit<Partial<Images>, 'id' | 'createdAt' | 'updatedAt' | 'ownerID'>, schemaOptions: { partial: true, exclude: [ 'id', 'createdAt', 'updatedAt', 'ownerID' ] })",
        "properties": {
          "folderID": {
            "type": "number"
          },
          "category": {
            "type": "string",
            "enum": [
              "court",
              "receipts",
              "pictures",
              "school",
              "calendar"
            ]
          },
          "imageURL": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "latitude": {
            "type": "number"
          },
          "longitude": {
            "type": "number"
          },
          "mobileCreatedAt": {
            "type": "number"
          },
          "labelCreatedAt": {
            "type": "string"
          },
          "eventID": {
            "type": "number"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<Partial<Images>, 'id' | 'createdAt' | 'updatedAt' | 'ownerID'>"
      },
      "ImagesPartialExcluding_ownerID-imageURL-description-latitude-longitude-mobileCreatedAt-labelCreatedAt-createdAt-updatedAt_": {
        "title": "ImagesPartialExcluding_ownerID-imageURL-description-latitude-longitude-mobileCreatedAt-labelCreatedAt-createdAt-updatedAt_",
        "type": "object",
        "description": "(tsType: Omit<Partial<Images>, 'ownerID' | 'imageURL' | 'description' | 'latitude' | 'longitude' | 'mobileCreatedAt' | 'labelCreatedAt' | 'createdAt' | 'updatedAt'>, schemaOptions: { partial: true, exclude: [ 'ownerID', 'imageURL', 'description', 'latitude', 'longitude', 'mobileCreatedAt', 'labelCreatedAt', 'createdAt', 'updatedAt' ] })",
        "properties": {
          "id": {
            "type": "number"
          },
          "folderID": {
            "type": "number"
          },
          "category": {
            "type": "string",
            "enum": [
              "court",
              "receipts",
              "pictures",
              "school",
              "calendar"
            ]
          },
          "eventID": {
            "type": "number"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<Partial<Images>, 'ownerID' | 'imageURL' | 'description' | 'latitude' | 'longitude' | 'mobileCreatedAt' | 'labelCreatedAt' | 'createdAt' | 'updatedAt'>"
      },
      "ChangeEventsPartial": {
        "title": "ChangeEventsPartial",
        "type": "object",
        "description": "(tsType: Partial<ChangeEvents>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "number"
          },
          "ownerID": {
            "type": "number"
          },
          "eventSource": {
            "type": "string",
            "enum": [
              "general",
              "user"
            ]
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "mediaID": {
            "type": "number"
          },
          "label": {
            "type": "string"
          },
          "color": {
            "type": "string"
          },
          "eventType": {
            "type": "string",
            "enum": [
              "default",
              "visitation",
              "alimony",
              "childSupport",
              "receipts",
              "martinLutherKingDay",
              "presidentDay",
              "motherDay",
              "memorialDay",
              "fatherDay",
              "fourthofJuly",
              "laborDay",
              "halloween",
              "thanksgiving",
              "christmasEve",
              "veteransDay",
              "birthday",
              "motherBirthday",
              "fatherBirthday",
              "religiousHoliday",
              "fallBreak",
              "christmasBreak",
              "winterBreak",
              "springBreak",
              "summerVacation"
            ]
          },
          "recurringType": {
            "type": "string",
            "enum": [
              "everyWeek",
              "everyOtherWeek",
              "everyMonth",
              "everyYear"
            ]
          },
          "day": {
            "type": "string"
          },
          "month": {
            "type": "number"
          },
          "repeatedPattern": {
            "type": "string"
          },
          "startDate": {
            "type": "number"
          },
          "endDate": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "approved",
              "rejected"
            ]
          },
          "createdAt": {
            "type": "number"
          },
          "updatedAt": {
            "type": "number"
          },
          "changedEventID": {
            "type": "number"
          },
          "reasonText": {
            "type": "string",
            "nullable": true
          },
          "reasonImageURL": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<ChangeEvents>"
      },
      "CalendarEventsPartial": {
        "title": "CalendarEventsPartial",
        "type": "object",
        "description": "(tsType: Partial<CalendarEvents>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "number"
          },
          "ownerID": {
            "type": "number"
          },
          "recurringEventID": {
            "type": "number"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "color": {
            "type": "string"
          },
          "mediaID": {
            "type": "number"
          },
          "label": {
            "type": "string"
          },
          "eventSource": {
            "type": "string",
            "enum": [
              "general",
              "user"
            ]
          },
          "eventType": {
            "type": "string",
            "enum": [
              "default",
              "visitation",
              "alimony",
              "childSupport",
              "receipts",
              "martinLutherKingDay",
              "presidentDay",
              "motherDay",
              "memorialDay",
              "fatherDay",
              "fourthofJuly",
              "laborDay",
              "halloween",
              "thanksgiving",
              "christmasEve",
              "veteransDay",
              "birthday",
              "motherBirthday",
              "fatherBirthday",
              "religiousHoliday",
              "fallBreak",
              "christmasBreak",
              "winterBreak",
              "springBreak",
              "summerVacation"
            ]
          },
          "dueDate": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "default",
              "alert"
            ]
          },
          "createdAt": {
            "type": "number"
          },
          "updatedAt": {
            "type": "number"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<CalendarEvents>"
      },
      "UsersWithRelations": {
        "title": "UsersWithRelations",
        "type": "object",
        "description": "(tsType: UsersWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "number"
          },
          "email": {
            "type": "string"
          },
          "role": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "passwordCreatedAt": {
            "type": "number"
          },
          "storageFolder": {
            "type": "string"
          },
          "avatarURL": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "disabled",
              "removed",
              "pending",
              "invited"
            ]
          },
          "loginAttempts": {
            "type": "number"
          },
          "lockedAt": {
            "type": "number"
          },
          "createdAt": {
            "type": "number"
          },
          "updatedAt": {
            "type": "number"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "inviteToken": {
            "type": "string"
          },
          "usedInvitedToken": {
            "type": "string"
          },
          "receiverID": {
            "type": "number"
          },
          "routingNumber": {
            "type": "string"
          },
          "bankAccountType": {
            "type": "string"
          },
          "accountNumber": {
            "type": "string"
          },
          "caseNumber": {
            "type": "string"
          },
          "courtName": {
            "type": "string"
          },
          "actionNumber": {
            "type": "string"
          },
          "lastLogin": {
            "type": "number"
          },
          "acceptTerms": {
            "type": "number"
          },
          "acceptTermsAt": {
            "type": "number"
          },
          "acceptDwollaTerms": {
            "type": "number"
          },
          "acceptDwollaTermsAt": {
            "type": "number"
          },
          "dwollaCustomer": {
            "type": "string"
          },
          "dwollaCustomerStatus": {
            "type": "string"
          },
          "dwollaCustomerStatusTime": {
            "type": "string"
          },
          "dwollaFundSource": {
            "type": "string"
          },
          "dwollaFundSourceStatus": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "postalCode": {
            "type": "string"
          },
          "dateOfBirth": {
            "type": "string"
          },
          "lastSsn": {
            "type": "string"
          },
          "verificationCode": {
            "type": "string"
          },
          "expiredAtVerificationCode": {
            "type": "number"
          },
          "documentUploadedURL": {
            "type": "string"
          },
          "failedDetails": {
            "type": "string"
          },
          "kbaId": {
            "type": "string"
          },
          "stripeCustomerID": {
            "type": "string"
          },
          "receiver": {
            "$ref": "#/components/schemas/UsersWithRelations"
          }
        },
        "required": [
          "email"
        ],
        "additionalProperties": false,
        "x-typescript-type": "UsersWithRelations"
      },
      "AccessTokensWithRelations": {
        "title": "AccessTokensWithRelations",
        "type": "object",
        "description": "(tsType: AccessTokensWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "ttl": {
            "type": "number"
          },
          "type": {
            "type": "string"
          },
          "refreshToken": {
            "type": "string"
          },
          "createdAt": {
            "type": "number"
          },
          "userID": {
            "type": "number"
          },
          "user": {
            "$ref": "#/components/schemas/UsersWithRelations"
          }
        },
        "required": [
          "createdAt"
        ],
        "additionalProperties": false,
        "x-typescript-type": "AccessTokensWithRelations"
      },
      "Settings": {
        "title": "Settings",
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "key": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "key",
          "value",
          "type"
        ],
        "additionalProperties": false
      },
      "FormDataFilesWithRelations": {
        "title": "FormDataFilesWithRelations",
        "type": "object",
        "description": "(tsType: FormDataFilesWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "number"
          },
          "formID": {
            "type": "number"
          },
          "fileUrl": {
            "type": "string"
          },
          "fileName": {
            "type": "string"
          },
          "createdAt": {
            "type": "number"
          },
          "updatedAt": {
            "type": "number"
          },
          "form": {
            "$ref": "#/components/schemas/FormUserDataWithRelations"
          }
        },
        "required": [
          "formID",
          "fileUrl"
        ],
        "additionalProperties": false,
        "x-typescript-type": "FormDataFilesWithRelations"
      },
      "FormDataEventsWithRelations": {
        "title": "FormDataEventsWithRelations",
        "type": "object",
        "description": "(tsType: FormDataEventsWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "number"
          },
          "formID": {
            "type": "number"
          },
          "eventType": {
            "type": "string",
            "enum": [
              "default",
              "visitation",
              "alimony",
              "childSupport",
              "receipts",
              "martinLutherKingDay",
              "presidentDay",
              "motherDay",
              "memorialDay",
              "fatherDay",
              "fourthofJuly",
              "laborDay",
              "halloween",
              "thanksgiving",
              "christmasEve",
              "veteransDay",
              "birthday",
              "motherBirthday",
              "fatherBirthday",
              "religiousHoliday",
              "fallBreak",
              "christmasBreak",
              "winterBreak",
              "springBreak",
              "summerVacation"
            ]
          },
          "recurringType": {
            "type": "string",
            "enum": [
              "everyWeek",
              "everyOtherWeek",
              "everyMonth",
              "everyYear"
            ]
          },
          "day": {
            "type": "string"
          },
          "month": {
            "type": "number"
          },
          "repeatedPattern": {
            "type": "string"
          },
          "createdAt": {
            "type": "number"
          },
          "updatedAt": {
            "type": "number"
          },
          "form": {
            "$ref": "#/components/schemas/FormUserDataWithRelations"
          }
        },
        "required": [
          "formID",
          "eventType",
          "recurringType",
          "day"
        ],
        "additionalProperties": false,
        "x-typescript-type": "FormDataEventsWithRelations"
      },
      "FormUserDataWithRelations": {
        "title": "FormUserDataWithRelations",
        "type": "object",
        "description": "(tsType: FormUserDataWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "number"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "caseNumber": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "accepted",
              "rejected",
              "pending"
            ]
          },
          "storageFolder": {
            "type": "string"
          },
          "createdAt": {
            "type": "number"
          },
          "updatedAt": {
            "type": "number"
          },
          "userID": {
            "type": "number"
          },
          "stripeCustomerID": {
            "type": "string"
          },
          "formDataFiles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FormDataFilesWithRelations"
            }
          },
          "formDataEvents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FormDataEventsWithRelations"
            }
          },
          "user": {
            "$ref": "#/components/schemas/UsersWithRelations"
          }
        },
        "required": [
          "firstName",
          "lastName",
          "phone",
          "caseNumber",
          "email"
        ],
        "additionalProperties": false,
        "x-typescript-type": "FormUserDataWithRelations"
      },
      "FormDataEventsPartialExcluding_formID-createdAt-updatedAt-id_": {
        "title": "FormDataEventsPartialExcluding_formID-createdAt-updatedAt-id_",
        "type": "object",
        "description": "(tsType: Omit<Partial<FormDataEvents>, 'formID' | 'createdAt' | 'updatedAt' | 'id'>, schemaOptions: { partial: true, exclude: [ 'formID', 'createdAt', 'updatedAt', 'id' ] })",
        "properties": {
          "eventType": {
            "type": "string",
            "enum": [
              "default",
              "visitation",
              "alimony",
              "childSupport",
              "receipts",
              "martinLutherKingDay",
              "presidentDay",
              "motherDay",
              "memorialDay",
              "fatherDay",
              "fourthofJuly",
              "laborDay",
              "halloween",
              "thanksgiving",
              "christmasEve",
              "veteransDay",
              "birthday",
              "motherBirthday",
              "fatherBirthday",
              "religiousHoliday",
              "fallBreak",
              "christmasBreak",
              "winterBreak",
              "springBreak",
              "summerVacation"
            ]
          },
          "recurringType": {
            "type": "string",
            "enum": [
              "everyWeek",
              "everyOtherWeek",
              "everyMonth",
              "everyYear"
            ]
          },
          "day": {
            "type": "string"
          },
          "month": {
            "type": "number"
          },
          "repeatedPattern": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<Partial<FormDataEvents>, 'formID' | 'createdAt' | 'updatedAt' | 'id'>"
      },
      "CalendarEvents": {
        "title": "CalendarEvents",
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "ownerID": {
            "type": "number"
          },
          "recurringEventID": {
            "type": "number"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "color": {
            "type": "string"
          },
          "mediaID": {
            "type": "number"
          },
          "label": {
            "type": "string"
          },
          "eventSource": {
            "type": "string",
            "enum": [
              "general",
              "user"
            ]
          },
          "eventType": {
            "type": "string",
            "enum": [
              "default",
              "visitation",
              "alimony",
              "childSupport",
              "receipts",
              "martinLutherKingDay",
              "presidentDay",
              "motherDay",
              "memorialDay",
              "fatherDay",
              "fourthofJuly",
              "laborDay",
              "halloween",
              "thanksgiving",
              "christmasEve",
              "veteransDay",
              "birthday",
              "motherBirthday",
              "fatherBirthday",
              "religiousHoliday",
              "fallBreak",
              "christmasBreak",
              "winterBreak",
              "springBreak",
              "summerVacation"
            ]
          },
          "dueDate": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "default",
              "alert"
            ]
          },
          "createdAt": {
            "type": "number"
          },
          "updatedAt": {
            "type": "number"
          }
        },
        "required": [
          "ownerID",
          "eventSource",
          "eventType"
        ],
        "additionalProperties": false
      },
      "ChangeEvents": {
        "title": "ChangeEvents",
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "ownerID": {
            "type": "number"
          },
          "eventSource": {
            "type": "string",
            "enum": [
              "general",
              "user"
            ]
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "mediaID": {
            "type": "number"
          },
          "label": {
            "type": "string"
          },
          "color": {
            "type": "string"
          },
          "eventType": {
            "type": "string",
            "enum": [
              "default",
              "visitation",
              "alimony",
              "childSupport",
              "receipts",
              "martinLutherKingDay",
              "presidentDay",
              "motherDay",
              "memorialDay",
              "fatherDay",
              "fourthofJuly",
              "laborDay",
              "halloween",
              "thanksgiving",
              "christmasEve",
              "veteransDay",
              "birthday",
              "motherBirthday",
              "fatherBirthday",
              "religiousHoliday",
              "fallBreak",
              "christmasBreak",
              "winterBreak",
              "springBreak",
              "summerVacation"
            ]
          },
          "recurringType": {
            "type": "string",
            "enum": [
              "everyWeek",
              "everyOtherWeek",
              "everyMonth",
              "everyYear"
            ]
          },
          "day": {
            "type": "string"
          },
          "month": {
            "type": "number"
          },
          "repeatedPattern": {
            "type": "string"
          },
          "startDate": {
            "type": "number"
          },
          "endDate": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "approved",
              "rejected"
            ]
          },
          "createdAt": {
            "type": "number"
          },
          "updatedAt": {
            "type": "number"
          },
          "changedEventID": {
            "type": "number"
          },
          "reasonText": {
            "type": "string",
            "nullable": true
          },
          "reasonImageURL": {
            "type": "string"
          }
        },
        "required": [
          "ownerID",
          "eventSource",
          "eventType",
          "recurringType",
          "day",
          "startDate",
          "changedEventID"
        ],
        "additionalProperties": false
      },
      "RecurringEvents": {
        "title": "RecurringEvents",
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "ownerID": {
            "type": "number"
          },
          "eventSource": {
            "type": "string",
            "enum": [
              "general",
              "user"
            ]
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "mediaID": {
            "type": "number"
          },
          "label": {
            "type": "string"
          },
          "color": {
            "type": "string"
          },
          "eventType": {
            "type": "string",
            "enum": [
              "default",
              "visitation",
              "alimony",
              "childSupport",
              "receipts",
              "martinLutherKingDay",
              "presidentDay",
              "motherDay",
              "memorialDay",
              "fatherDay",
              "fourthofJuly",
              "laborDay",
              "halloween",
              "thanksgiving",
              "christmasEve",
              "veteransDay",
              "birthday",
              "motherBirthday",
              "fatherBirthday",
              "religiousHoliday",
              "fallBreak",
              "christmasBreak",
              "winterBreak",
              "springBreak",
              "summerVacation"
            ]
          },
          "recurringType": {
            "type": "string",
            "enum": [
              "everyWeek",
              "everyOtherWeek",
              "everyMonth",
              "everyYear"
            ]
          },
          "day": {
            "type": "string"
          },
          "month": {
            "type": "number"
          },
          "repeatedPattern": {
            "type": "string"
          },
          "startDate": {
            "type": "number"
          },
          "endDate": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "inactive"
            ]
          },
          "createdAt": {
            "type": "number"
          },
          "updatedAt": {
            "type": "number"
          },
          "eventsAddedUntil": {
            "type": "number"
          },
          "lambdaStatus": {
            "type": "string"
          }
        },
        "required": [
          "ownerID",
          "eventSource",
          "eventType",
          "recurringType",
          "day",
          "startDate",
          "eventsAddedUntil"
        ],
        "additionalProperties": false
      },
      "PingResponse": {
        "type": "object",
        "title": "PingResponse",
        "properties": {
          "greeting": {
            "type": "string"
          },
          "date": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "headers": {
            "type": "object",
            "properties": {
              "Content-Type": {
                "type": "string"
              }
            },
            "additionalProperties": true
          }
        }
      }
    },
    "securitySchemes": {
      "access-token": {
        "type": "apiKey",
        "in": "header",
        "name": "Authorization"
      }
    }
  }
}