Apacta icon

Apacta

API for a tool to craftsmen used to register working hours, material usage and quality assurance

COMMUNITYAPI KEY0 INSTALLS
OpenAPI Specificationv3.0
{
  "openapi": "3.0.0",
  "servers": [
    {
      "url": "https://app.apacta.com/api/v1"
    }
  ],
  "info": {
    "description": "API for a tool to craftsmen used to register working hours, material usage and quality assurance.\n# Endpoint\nThe endpoint `https://app.apacta.com/api/v1` should be used to communicate with the API. API access is only allowed with SSL encrypted connection (https).\n# Authentication\nURL query authentication with an API key is used, so appending `?api_key={api_key}` to the URL where `{api_key}` is found within Apacta settings is used for authentication\n# Pagination\nIf the endpoint returns a `pagination` object it means the endpoint supports pagination - currently it's only possible to change pages with `?page={page_number}` but implementing custom page sizes are on the road map.\n\n\n# Search/filter\nIs experimental but implemented in some cases - see the individual endpoints' docs for further explanation.\n# Ordering\nIs currently experimental, but on some endpoints it's implemented on URL querys so eg. to order Invoices by `invoice_number` appending `?sort=Invoices.invoice_number&direction=desc` would sort the list descending by the value of `invoice_number`.\n# Associations\nIs currently implemented on an experimental basis where you can append eg. `?include=Contacts,Projects`  to the `/api/v1/invoices/` endpoint to embed `Contact` and `Project` objects directly.\n# Project Files\nCurrently project files can be retrieved from two endpoints. `/projects/{project_id}/files` handles files uploaded from wall posts or forms. `/projects/{project_id}/project_files` allows uploading and showing files, not belonging to specific form or wall post.\n# Errors/Exceptions\n## 422 (Validation)\nWrite something about how the `errors` object contains keys with the properties that failes validation like:\n```\n  {\n      \"success\": false,\n      \"data\": {\n          \"code\": 422,\n          \"url\": \"/api/v1/contacts?api_key=5523be3b-30ef-425d-8203-04df7caaa93a\",\n          \"message\": \"A validation error occurred\",\n          \"errorCount\": 1,\n          \"errors\": {\n              \"contact_types\": [ ## Property name that failed validation\n                  \"Contacts must have at least one contact type\" ## Message with further explanation\n              ]\n          }\n      }\n  }\n```\n## Code examples\nRunning examples of how to retrieve the 5 most recent forms registered and embed the details of the User that made the form, and eventual products contained in the form\n### Swift\n```\n```\n### Java\n#### OkHttp\n```\n  OkHttpClient client = new OkHttpClient();\n\n  Request request = new Request.Builder()\n    .url(\"https://app.apacta.com/api/v1/forms?extended=true&sort=Forms.created&direction=DESC&include=Products%2CCreatedBy&limit=5\")\n    .get()\n    .addHeader(\"x-auth-token\", \"{INSERT_YOUR_TOKEN}\")\n    .addHeader(\"accept\", \"application/json\")\n    .build();\n\n  Response response = client.newCall(request).execute();\n```\n#### Unirest\n```\n  HttpResponse<String> response = Unirest.get(\"https://app.apacta.com/api/v1/forms?extended=true&sort=Forms.created&direction=DESC&include=Products%2CCreatedBy&limit=5\")\n    .header(\"x-auth-token\", \"{INSERT_YOUR_TOKEN}\")\n    .header(\"accept\", \"application/json\")\n    .asString();\n```\n### Javascript\n#### Native\n```\n  var data = null;\n\n  var xhr = new XMLHttpRequest();\n\n  xhr.addEventListener(\"readystatechange\", function () {\n    if (this.readyState === 4) {\n      console.log(this.responseText);\n    }\n  });\n\n  xhr.open(\"GET\", \"https://app.apacta.com/api/v1/forms?extended=true&sort=Forms.created&direction=DESC&include=Products%2CCreatedBy&limit=5\");\n  xhr.setRequestHeader(\"x-auth-token\", \"{INSERT_YOUR_TOKEN}\");\n  xhr.setRequestHeader(\"accept\", \"application/json\");\n\n  xhr.send(data);\n```\n#### jQuery\n```\n  var settings = {\n    \"async\": true,\n    \"crossDomain\": true,\n    \"url\": \"https://app.apacta.com/api/v1/forms?extended=true&sort=Forms.created&direction=DESC&include=Products%2CCreatedBy&limit=5\",\n    \"method\": \"GET\",\n    \"headers\": {\n      \"x-auth-token\": \"{INSERT_YOUR_TOKEN}\",\n      \"accept\": \"application/json\",\n    }\n  }\n\n  $.ajax(settings).done(function (response) {\n    console.log(response);\n  });\n```\n#### NodeJS (Request)\n```\n  var request = require(\"request\");\n\n  var options = { method: 'GET',\n    url: 'https://app.apacta.com/api/v1/forms',\n    qs:\n     { extended: 'true',\n       sort: 'Forms.created',\n       direction: 'DESC',\n       include: 'Products,CreatedBy',\n       limit: '5' },\n    headers:\n     { accept: 'application/json',\n       'x-auth-token': '{INSERT_YOUR_TOKEN}' } };\n\n  request(options, function (error, response, body) {\n    if (error) throw new Error(error);\n\n    console.log(body);\n  });\n\n```\n### Python 3\n```\n  import http.client\n\n  conn = http.client.HTTPSConnection(\"app.apacta.com\")\n\n  payload = \"\"\n\n  headers = {\n      'x-auth-token': \"{INSERT_YOUR_TOKEN}\",\n      'accept': \"application/json\",\n      }\n\n  conn.request(\"GET\", \"/api/v1/forms?extended=true&sort=Forms.created&direction=DESC&include=Products%2CCreatedBy&limit=5\", payload, headers)\n\n  res = conn.getresponse()\n  data = res.read()\n\n  print(data.decode(\"utf-8\"))\n```\n### C#\n#### RestSharp\n```\n  var client = new RestClient(\"https://app.apacta.com/api/v1/forms?extended=true&sort=Forms.created&direction=DESC&include=Products%2CCreatedBy&limit=5\");\n  var request = new RestRequest(Method.GET);\n  request.AddHeader(\"accept\", \"application/json\");\n  request.AddHeader(\"x-auth-token\", \"{INSERT_YOUR_TOKEN}\");\n  IRestResponse response = client.Execute(request);\n```\n### Ruby\n```\n  require 'uri'\n  require 'net/http'\n\n  url = URI(\"https://app.apacta.com/api/v1/forms?extended=true&sort=Forms.created&direction=DESC&include=Products%2CCreatedBy&limit=5\")\n\n  http = Net::HTTP.new(url.host, url.port)\n  http.use_ssl = true\n  http.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\n  request = Net::HTTP::Get.new(url)\n  request[\"x-auth-token\"] = '{INSERT_YOUR_TOKEN}'\n  request[\"accept\"] = 'application/json'\n\n  response = http.request(request)\n  puts response.read_body\n```\n### PHP (HttpRequest)\n```\n  <?php\n\n  $request = new HttpRequest();\n  $request->setUrl('https://app.apacta.com/api/v1/forms');\n  $request->setMethod(HTTP_METH_GET);\n\n  $request->setQueryData(array(\n    'extended' => 'true',\n    'sort' => 'Forms.created',\n    'direction' => 'DESC',\n    'include' => 'Products,CreatedBy',\n    'limit' => '5'\n  ));\n\n  $request->setHeaders(array(\n    'accept' => 'application/json',\n    'x-auth-token' => '{INSERT_YOUR_TOKEN}'\n  ));\n\n  try {\n    $response = $request->send();\n\n    echo $response->getBody();\n  } catch (HttpException $ex) {\n    echo $ex;\n  }\n```\n### Shell (cURL)\n```\n\n  $ curl --request GET --url 'https://app.apacta.com/api/v1/forms?extended=true&sort=Forms.created&direction=DESC&include=Products%2CCreatedBy&limit=5' --header 'accept: application/json' --header 'x-auth-token: {INSERT_YOUR_TOKEN}'\n\n```",
    "title": "Apacta",
    "version": "0.0.42",
    "x-apisguru-categories": [
      "time_management",
      "project_management"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_twitter.com_apactadk_profile_image.png"
    },
    "x-origin": [
      {
        "format": "openapi",
        "url": "http://apidoc.apacta.com/swagger.yaml",
        "version": "3.0"
      }
    ],
    "x-providerName": "apacta.com"
  },
  "tags": [
    {
      "name": "Activities"
    },
    {
      "description": "Experimental",
      "name": "TimeEntries"
    },
    {
      "description": "Experimental",
      "name": "TimeEntryIntervals"
    },
    {
      "description": "Experimental",
      "name": "TimeEntryTypes"
    },
    {
      "description": "Experimental",
      "name": "TimeEntryUnitTypes"
    },
    {
      "description": "Experimental",
      "name": "TimeEntryValueTypes"
    },
    {
      "name": "Contacts"
    },
    {
      "name": "ContactPersons"
    },
    {
      "name": "Invoices"
    },
    {
      "name": "InvoiceEmails"
    },
    {
      "name": "InvoiceFiles"
    },
    {
      "name": "InvoiceLineTextTemplates"
    },
    {
      "name": "ProjectStatusTypes"
    }
  ],
  "paths": {
    "/activities": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/Activity"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Get a list of activities",
        "tags": [
          "Activities"
        ]
      },
      "post": {
        "requestBody": {
          "$ref": "#/components/requestBodies/Activity"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "summary": "Create an activity",
        "tags": [
          "Activities"
        ]
      }
    },
    "/activities/bulkDelete": {
      "delete": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkActionRequestBody"
              }
            }
          },
          "description": "Activities ids",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            },
            "description": "Forbidden"
          }
        },
        "summary": "Bulk delete activities",
        "tags": [
          "Activities"
        ]
      }
    },
    "/activities/{activity_id}": {
      "delete": {
        "parameters": [
          {
            "in": "path",
            "name": "activity_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Record not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "summary": "Delete an activity",
        "tags": [
          "Activities"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "path",
            "name": "activity_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/Activity"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Record not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "summary": "Edit an activity",
        "tags": [
          "Activities"
        ]
      }
    },
    "/cities": {
      "get": {
        "parameters": [
          {
            "description": "Used to search for a city with specific zip code",
            "in": "query",
            "name": "zip_code",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used to search for a city by name",
            "in": "query",
            "name": "name",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used to search for a city without filtering by country",
            "in": "query",
            "name": "include_all",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/City"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get list of cities supported in Apacta",
        "tags": [
          "Cities"
        ]
      }
    },
    "/cities/{city_id}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "city_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/City"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get details about one city",
        "tags": [
          "Cities"
        ]
      }
    },
    "/clocking_records": {
      "get": {
        "parameters": [
          {
            "description": "Used to search for active clocking records",
            "in": "query",
            "name": "active",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/ClockingRecord"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a list of clocking records",
        "tags": [
          "ClockingRecords"
        ]
      },
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "checkin_latitude": {
                    "type": "string"
                  },
                  "checkin_longitude": {
                    "type": "string"
                  },
                  "checkout_latitude": {
                    "type": "string"
                  },
                  "checkout_longitude": {
                    "type": "string"
                  },
                  "project_id": {
                    "format": "uuid",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "id": {
                          "format": "uuid",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Successfully added clocking record"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Create clocking record for authenticated user",
        "tags": [
          "ClockingRecords"
        ]
      }
    },
    "/clocking_records/checkout": {
      "post": {
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Successfully checked out"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Checkout active clocking record for authenticated user",
        "tags": [
          "ClockingRecords"
        ]
      }
    },
    "/clocking_records/{clocking_record_id}": {
      "delete": {
        "parameters": [
          {
            "in": "path",
            "name": "clocking_record_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Delete a clocking record",
        "tags": [
          "ClockingRecords"
        ]
      },
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "clocking_record_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ClockingRecord"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Clocking record not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Details of 1 clocking_record",
        "tags": [
          "ClockingRecords"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "path",
            "name": "clocking_record_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Edit a clocking record",
        "tags": [
          "ClockingRecords"
        ]
      }
    },
    "/companies": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/Company"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a list of companies",
        "tags": [
          "Companies"
        ]
      }
    },
    "/companies/subscription_self_service": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/SubscriptionSelfServiceRequestBody"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Self service url"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Company not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "URL for subscription selfservice",
        "tags": [
          "Companies"
        ]
      }
    },
    "/companies/{company_id}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "company_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Company"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Company object"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Company not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Details of 1 company",
        "tags": [
          "Companies"
        ]
      }
    },
    "/companies/{company_id}/companies_integration_feature_settings": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "company_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/CompaniesIntegrationFeatureSetting"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Company not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "List a company integration feature settings",
        "tags": [
          "Companies"
        ]
      },
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "company_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "integration_feature_setting_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateSuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Company not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Add a company integration feature setting",
        "tags": [
          "Companies"
        ]
      }
    },
    "/companies/{company_id}/companies_integration_feature_settings/{c_integration_feature_setting_id}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "company_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "c_integration_feature_setting_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/CompaniesIntegrationFeatureSetting"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "IntegrationFeatureSetting not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "View a company integration feature setting",
        "tags": [
          "Companies"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "path",
            "name": "company_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "c_integration_feature_setting_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/CompaniesIntegrationFeatureSetting"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "IntegrationFeatureSetting not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Edit a company integration feature setting",
        "tags": [
          "Companies"
        ]
      }
    },
    "/companies/{company_id}/form_templates/": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "company_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "form_template_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {},
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Company not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a list of company form templates",
        "tags": [
          "Companies"
        ]
      }
    },
    "/companies/{company_id}/form_templates/{form_template_id}": {
      "delete": {
        "parameters": [
          {
            "in": "path",
            "name": "company_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Automatically added",
            "in": "path",
            "name": "form_template_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Companies form template not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Delete a form template company",
        "tags": [
          "Companies"
        ]
      },
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "company_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Automatically added",
            "in": "path",
            "name": "form_template_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {},
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Form template company not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a company form template",
        "tags": [
          "Companies"
        ]
      }
    },
    "/companies/{company_id}/integration_feature_settings": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "company_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/IntegrationFeatureSetting"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a list of integration feature settings",
        "tags": [
          "Companies"
        ]
      }
    },
    "/companies/{company_id}/integration_feature_settings/{integration_feature_setting_id}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "company_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "integration_feature_setting_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/IntegrationFeatureSetting"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "IntegrationFeatureSetting not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Show details of 1 integration feature setting",
        "tags": [
          "Companies"
        ]
      }
    },
    "/companies/{company_id}/integration_settings": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "company_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The identifier of an ERP integration",
            "in": "query",
            "name": "identifier",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/CompaniesIntegrationSetting"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Company not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a list of company integration settings",
        "tags": [
          "Companies"
        ]
      },
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "company_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/Companiesintegrationsetting"
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateSuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Company not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Add a company integration setting",
        "tags": [
          "Companies"
        ]
      }
    },
    "/companies/{company_id}/integration_settings/{companies_integration_setting_id}": {
      "delete": {
        "parameters": [
          {
            "in": "path",
            "name": "company_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "companies_integration_setting_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Companies integration setting not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Delete a company integration setting",
        "tags": [
          "Companies"
        ]
      },
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "company_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "companies_integration_setting_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/CompaniesIntegrationSetting"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Companies integration setting not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a company integration setting",
        "tags": [
          "Companies"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "path",
            "name": "company_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "companies_integration_setting_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Companies integration setting not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Edit a company integration setting",
        "tags": [
          "Companies"
        ]
      }
    },
    "/companies/{company_id}/price_margins/{price_margins_id}": {
      "delete": {
        "parameters": [
          {
            "in": "path",
            "name": "company_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "price_margin_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Automatically added",
            "in": "path",
            "name": "price_margins_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Companies integration setting not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Delete a company price margin",
        "tags": [
          "Companies"
        ]
      },
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "company_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Automatically added",
            "in": "path",
            "name": "price_margins_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/CompanyPriceMargins"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Company not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a list of company price margins",
        "tags": [
          "Companies"
        ]
      },
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "company_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Automatically added",
            "in": "path",
            "name": "price_margins_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateSuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Company not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Add a company price margin",
        "tags": [
          "Companies"
        ]
      }
    },
    "/companies_vendors": {
      "get": {
        "operationId": "getCompaiesVendorsList",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/CompaniesVendor"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a list of companies vendors",
        "tags": [
          "CompaniesVendors"
        ]
      },
      "post": {
        "operationId": "addCompaniesVendor",
        "requestBody": {
          "$ref": "#/components/requestBodies/addCompaniesVendorCompaniesvendor"
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "id": {
                          "format": "uuid",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Successfully added companies vendor"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Add a new companies vendor",
        "tags": [
          "CompaniesVendors"
        ]
      }
    },
    "/companies_vendors/bulkDelete": {
      "delete": {
        "operationId": "bulkCompaniesVendors",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkActionRequestBody"
              }
            }
          },
          "description": "Companies vendors ids",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Bulk delete companies vendors",
        "tags": [
          "CompaniesVendors"
        ]
      }
    },
    "/companies_vendors/{companies_vendor_id}": {
      "delete": {
        "parameters": [
          {
            "in": "path",
            "name": "companies_vendor_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Delete a companies vendor",
        "tags": [
          "CompaniesVendors"
        ]
      },
      "get": {
        "operationId": "getCompaniesVendor",
        "parameters": [
          {
            "in": "path",
            "name": "companies_vendor_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/CompaniesVendor"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  }
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a companies vendor",
        "tags": [
          "CompaniesVendors"
        ]
      },
      "put": {
        "operationId": "editCompaniesVendor",
        "parameters": [
          {
            "in": "path",
            "name": "companies_vendor_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/addCompaniesVendorCompaniesvendor"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Edit a companies vendor",
        "tags": [
          "CompaniesVendors"
        ]
      }
    },
    "/companies_vendors/{companies_vendor_id}/expense_statistics": {
      "get": {
        "operationId": "getCompaniesVendorsExpenseStatistics",
        "parameters": [
          {
            "in": "path",
            "name": "companies_vendor_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "properties": {
                          "last_month": {
                            "items": {
                              "properties": {
                                "amount": {
                                  "format": "float",
                                  "type": "number"
                                },
                                "count": {
                                  "format": "int32",
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "thirty_days": {
                            "items": {
                              "properties": {
                                "amount": {
                                  "format": "float",
                                  "type": "number"
                                },
                                "count": {
                                  "format": "int32",
                                  "type": "number"
                                }
                              },
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "vendor_id": {
                            "format": "uuid",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get companies vendor expense statistics",
        "tags": [
          "CompaniesVendors"
        ]
      }
    },
    "/company_settings": {
      "get": {
        "operationId": "getCompaySettingsList",
        "parameters": [
          {
            "description": "Filter by name",
            "in": "query",
            "name": "name",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by description",
            "in": "query",
            "name": "description",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/CompanySettings"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "IntegrationFeatureSetting not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a list of company settings",
        "tags": [
          "CompanySettings"
        ]
      }
    },
    "/contact_custom_field_attributes": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/ContactCustomFieldAttribute"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a list of contact custom field attributes",
        "tags": [
          "ContactCustomFieldAttributes"
        ]
      }
    },
    "/contact_custom_field_attributes/{contact_custom_field_attribute_id}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "contact_custom_field_attribute_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ContactCustomFieldAttribute"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "ContactCustomFieldAttribute not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Details of 1 contact custom field attribute",
        "tags": [
          "ContactCustomFieldAttributes"
        ]
      }
    },
    "/contact_types": {
      "get": {
        "parameters": [
          {
            "description": "Search for specific identifier value",
            "in": "query",
            "name": "identifier",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/ContactType"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get list of contact types supported in Apacta",
        "tags": [
          "ContactTypes"
        ]
      }
    },
    "/contact_types/{contact_type_id}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "contact_type_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ContactType"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get details about one contact type",
        "tags": [
          "ContactTypes"
        ]
      }
    },
    "/contacts": {
      "get": {
        "parameters": [
          {
            "description": "Used to search for a contact with a specific name",
            "in": "query",
            "name": "name",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Search for values in CVR field",
            "in": "query",
            "name": "cvr",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Search for values in EAN field",
            "in": "query",
            "name": "ean",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Search for values in ERP id field",
            "in": "query",
            "name": "erp_id",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used to show only contacts with with one specific `ContactType`",
            "in": "query",
            "name": "contact_type",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "Used to show only contacts with with one specific `City`",
            "in": "query",
            "name": "city",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "modified_gte",
            "schema": {
              "format": "datetime",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/Contact"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a list of contacts",
        "tags": [
          "Contacts"
        ]
      },
      "post": {
        "requestBody": {
          "$ref": "#/components/requestBodies/Contact"
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "id": {
                          "format": "uuid",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Successfully added contact"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Add a new contact",
        "tags": [
          "Contacts"
        ]
      }
    },
    "/contacts/bulkDelete": {
      "delete": {
        "operationId": "bulkDeleteContacts",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkActionRequestBody"
              }
            }
          },
          "description": "Contact ids",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Bulk delete contacts",
        "tags": [
          "Contacts"
        ]
      }
    },
    "/contacts/{contact_id}": {
      "delete": {
        "parameters": [
          {
            "in": "path",
            "name": "contact_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Delete a contact",
        "tags": [
          "Contacts"
        ]
      },
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "contact_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Contact"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Contact not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Details of 1 contact",
        "tags": [
          "Contacts"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "path",
            "name": "contact_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/Contact"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Edit a contact",
        "tags": [
          "Contacts"
        ]
      }
    },
    "/contacts/{contact_id}/contact_custom_field_values": {
      "get": {
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "contact_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/ContactCustomFieldValue"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a list of contact custom field values",
        "tags": [
          "ContactCustomFieldValue"
        ]
      }
    },
    "/contacts/{contact_id}/contact_persons": {
      "get": {
        "description": "Get a list of contact people associated with a contact",
        "operationId": "getContactPersonsList",
        "parameters": [
          {
            "in": "path",
            "name": "contact_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "q",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "created_gte",
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "created_lte",
            "schema": {
              "format": "date",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/ContactPerson"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  }
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a list of contact people",
        "tags": [
          "ContactPersons"
        ]
      },
      "post": {
        "operationId": "addContactPerson",
        "parameters": [
          {
            "in": "path",
            "name": "contact_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/addContactPersonContactperson"
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "id": {
                          "format": "uuid",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Successfully added contact person"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Add a new contact person to a contact",
        "tags": [
          "ContactPersons"
        ]
      }
    },
    "/contacts/{contact_id}/contact_persons/{contact_person_id}": {
      "delete": {
        "parameters": [
          {
            "in": "path",
            "name": "contact_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "contact_person_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Delete a contact person",
        "tags": [
          "ContactPersons"
        ]
      },
      "get": {
        "operationId": "getContactPerson",
        "parameters": [
          {
            "in": "path",
            "name": "contact_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "contact_person_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ContactPerson"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  }
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a contact person",
        "tags": [
          "ContactPersons"
        ]
      },
      "put": {
        "operationId": "editContactPerson",
        "parameters": [
          {
            "in": "path",
            "name": "contact_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "contact_person_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/addContactPersonContactperson"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Edit a contact person",
        "tags": [
          "ContactPersons"
        ]
      }
    },
    "/countries": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/Countries"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get list of countries supported in Apacta",
        "tags": [
          "Countries"
        ]
      }
    },
    "/countries/{country_id}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "country_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Countries"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get details about one country",
        "tags": [
          "Countries"
        ]
      }
    },
    "/currencies": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/Currency"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get list of currencies supported in Apacta",
        "tags": [
          "Currencies"
        ]
      }
    },
    "/currencies/{currency_id}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "currency_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Currency"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get details about one currency",
        "tags": [
          "Currencies"
        ]
      }
    },
    "/driving_types": {
      "get": {
        "operationId": "get-driving_types",
        "parameters": [
          {
            "in": "query",
            "name": "q",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "direction",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/DrivingType"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "api_key": []
          },
          {
            "X-Auth-Token": []
          }
        ],
        "summary": "List the driving types of the company",
        "tags": [
          "DrivingTypes"
        ]
      },
      "post": {
        "operationId": "post-driving_types",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "company_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "employee_price": {
                    "format": "float",
                    "type": "number"
                  },
                  "erp_id": {
                    "maxLength": 255,
                    "type": "string"
                  },
                  "invoice_price": {
                    "format": "float",
                    "type": "number"
                  },
                  "name": {
                    "type": "string"
                  },
                  "salary_id": {
                    "maxLength": 255,
                    "type": "string"
                  }
                },
                "required": [
                  "company_id",
                  "name",
                  "employee_price",
                  "invoice_price"
                ],
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateSuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "summary": "Create driving type",
        "tags": [
          "DrivingTypes"
        ]
      }
    },
    "/driving_types/bulkDelete": {
      "delete": {
        "operationId": "bulkDeleteDrivingTypes",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkActionRequestBody"
              }
            }
          },
          "description": "Driving types ids",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            },
            "description": "Bad Request"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Bulk delete driving types",
        "tags": [
          "DrivingTypes"
        ]
      }
    },
    "/driving_types/{driving_type_id}": {
      "delete": {
        "operationId": "delete-driving_types-driving_type_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "summary": "Delete driving type",
        "tags": [
          "DrivingTypes"
        ]
      },
      "get": {
        "operationId": "get-driving_types-driving_type_id",
        "parameters": [
          {
            "in": "query",
            "name": "driving_type_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/DrivingType"
                    }
                  ]
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "View driving type",
        "tags": [
          "DrivingTypes"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "driving_type_id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "put": {
        "description": "",
        "operationId": "put-driving_types-driving_type_id",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/DrivingType"
                    }
                  ]
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "summary": "Edit driving type",
        "tags": [
          "DrivingTypes"
        ]
      }
    },
    "/employee_hours": {
      "get": {
        "parameters": [
          {
            "description": "Date formatted as Y-m-d (2016-06-28)",
            "in": "query",
            "name": "date_from",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Date formatted as Y-m-d (2016-06-28)",
            "in": "query",
            "name": "date_to",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "description": "One element per form in the period",
                      "items": {
                        "properties": {
                          "form_date": {
                            "description": "Y-m-d formatted",
                            "format": "date",
                            "type": "string"
                          },
                          "form_id": {
                            "format": "uuid",
                            "type": "string"
                          },
                          "project_name": {
                            "type": "string"
                          },
                          "total_hours": {
                            "description": "The amount of hours in seconds",
                            "format": "int32",
                            "type": "integer"
                          },
                          "working_description": {
                            "description": "Trimmed at 50 characters",
                            "type": "string"
                          },
                          "working_description_full": {
                            "description": "Full work description (if available)",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Used to retrieve details about the logged in user's hours",
        "tags": [
          "EmployeeHours"
        ]
      }
    },
    "/events": {
      "get": {
        "parameters": [
          {
            "in": "query",
            "name": "user_id",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "project_id",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "start[][gt]",
            "schema": {
              "format": "datetime",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "start[][lt]",
            "schema": {
              "format": "datetime",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "start[][eq]",
            "schema": {
              "format": "datetime",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "end[][gt]",
            "schema": {
              "format": "datetime",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "end[][lt]",
            "schema": {
              "format": "datetime",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "end[][eq]",
            "schema": {
              "format": "datetime",
              "type": "string"
            }
          },
          {
            "description": "List events with given tag ids separated by comma. Example tags=0377d6ce-db5e-4b1e-ac3a-8ca39ea3142e,8cec327e-a559-4b40-9ed6-316b9de46743",
            "in": "query",
            "name": "tags",
            "schema": {
              "format": "string",
              "type": "string"
            }
          },
          {
            "description": "List events without attached user",
            "in": "query",
            "name": "without_users",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/Event"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Show list of events",
        "tags": [
          "Events"
        ]
      },
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "description": {
                    "maxLength": 255,
                    "type": "string"
                  },
                  "end": {
                    "format": "datetime",
                    "type": "string"
                  },
                  "name": {
                    "maxLength": 255,
                    "type": "string"
                  },
                  "project_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "start": {
                    "format": "datetime",
                    "type": "string"
                  },
                  "user_id": {
                    "format": "uuid",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "id": {
                          "format": "uuid",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Create event",
        "tags": [
          "Events"
        ]
      }
    },
    "/events/is_user_free": {
      "get": {
        "parameters": [
          {
            "in": "query",
            "name": "user_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "start",
            "required": true,
            "schema": {
              "format": "dateTime",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "end",
            "required": true,
            "schema": {
              "format": "dateTime",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "result": {
                      "type": "boolean"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            },
            "description": "BadRequestException"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Check if user is available at given datetime range",
        "tags": [
          "Events"
        ]
      }
    },
    "/events/{event_id}": {
      "delete": {
        "parameters": [
          {
            "in": "path",
            "name": "event_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Event"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Delete event",
        "tags": [
          "Events"
        ]
      },
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "event_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Event"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Show event",
        "tags": [
          "Events"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "path",
            "name": "event_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Event"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Edit event",
        "tags": [
          "Events"
        ]
      }
    },
    "/expense_files": {
      "get": {
        "parameters": [
          {
            "in": "query",
            "name": "created_by_id",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "expense_id",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/ExpenseFile"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Show list of expense files",
        "tags": [
          "ExpenseFiles"
        ]
      },
      "post": {
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "description": {
                    "type": "string"
                  },
                  "file": {
                    "format": "binary",
                    "type": "string"
                  }
                },
                "required": [
                  "file"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "id": {
                          "format": "uuid",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Successfully added file"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Add file to expense",
        "tags": [
          "ExpenseFiles"
        ]
      }
    },
    "/expense_files/{expense_file_id}": {
      "delete": {
        "parameters": [
          {
            "in": "path",
            "name": "expense_file_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Delete file",
        "tags": [
          "ExpenseFiles"
        ]
      },
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "expense_file_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Show file",
        "tags": [
          "ExpenseFiles"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "path",
            "name": "expense_file_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Edit file",
        "tags": [
          "ExpenseFiles"
        ]
      }
    },
    "/expense_lines": {
      "get": {
        "parameters": [
          {
            "in": "query",
            "name": "created_by_id",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "currency_id",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "expense_id",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/ExpenseLine"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Show list of expense lines",
        "tags": [
          "ExpenseLines"
        ]
      },
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "buying_price": {
                    "format": "float",
                    "type": "number"
                  },
                  "currency_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "expense_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "quantity": {
                    "format": "int32",
                    "type": "integer"
                  },
                  "selling_price": {
                    "format": "float",
                    "type": "number"
                  },
                  "text": {
                    "maxLength": 255,
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "id": {
                          "format": "uuid",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Add line to expense",
        "tags": [
          "ExpenseLines"
        ]
      }
    },
    "/expense_lines/{expense_line_id}": {
      "delete": {
        "parameters": [
          {
            "in": "path",
            "name": "expense_line_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ExpenseLine"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Delete expense line",
        "tags": [
          "ExpenseLines"
        ]
      },
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "expense_line_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ExpenseLine"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Show expense line",
        "tags": [
          "ExpenseLines"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "path",
            "name": "expense_line_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ExpenseLine"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Edit expense line",
        "tags": [
          "ExpenseLines"
        ]
      }
    },
    "/expenses": {
      "get": {
        "parameters": [
          {
            "in": "query",
            "name": "created_by_id",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "contact_id",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "project_id",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "Filter by [valid=records in future including today], [exceeded=records in past] or [null=all records]",
            "in": "query",
            "name": "due_date",
            "schema": {
              "enum": [
                "valid",
                "exceeded",
                null
              ],
              "format": "string",
              "type": "string"
            }
          },
          {
            "description": "Created after date",
            "in": "query",
            "name": "gt_created",
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "description": "Created before date",
            "in": "query",
            "name": "lt_created",
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "description": "Filter by status identifier. [null=all records]",
            "in": "query",
            "name": "status",
            "schema": {
              "enum": [
                "expired_subscription",
                "approved",
                null
              ],
              "format": "string",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "is_imported",
            "schema": {
              "default": true,
              "type": "boolean"
            }
          },
          {
            "description": "Expenses `total_selling_price` > `min_amount`",
            "in": "query",
            "name": "min_amount",
            "schema": {
              "format": "float",
              "type": "number"
            }
          },
          {
            "description": "Expenses `total_selling_price` < `max_amount`",
            "in": "query",
            "name": "max_amount",
            "schema": {
              "format": "float",
              "type": "number"
            }
          },
          {
            "description": "You can select `all projects`, `no projects` or select `multiple projects`",
            "in": "query",
            "name": "projects",
            "schema": {
              "enum": [
                "all",
                "none",
                [
                  "project1",
                  "project2",
                  "project3"
                ]
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/Expense"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Show list of expenses",
        "tags": [
          "Expenses"
        ]
      },
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "contact_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "currency_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "delivery_date": {
                    "format": "date",
                    "type": "string"
                  },
                  "description": {
                    "maxLength": 8192,
                    "type": "string"
                  },
                  "project_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "reference": {
                    "maxLength": 8192,
                    "type": "string"
                  },
                  "short_text": {
                    "maxLength": 255,
                    "type": "string"
                  },
                  "supplier_invoice_number": {
                    "maxLength": 255,
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "id": {
                          "format": "uuid",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Add line to expense",
        "tags": [
          "Expenses"
        ]
      }
    },
    "/expenses/bulkDelete": {
      "delete": {
        "operationId": "bulkDeleteExpenses",
        "requestBody": {
          "$ref": "#/components/requestBodies/BulkActionRequestBody"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            },
            "description": "Bad Request"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Bulk delete expenses",
        "tags": [
          "Expenses"
        ]
      }
    },
    "/expenses/highest_amount": {
      "get": {
        "parameters": [
          {
            "description": "Used to filter time range",
            "in": "query",
            "name": "gt_created",
            "required": true,
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "description": "Used to filter time range",
            "in": "query",
            "name": "lt_created",
            "required": true,
            "schema": {
              "format": "date",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "maxItems": 1,
                        "properties": {
                          "highest_amount": {
                            "default": 135.54,
                            "format": "float",
                            "type": "number"
                          }
                        }
                      },
                      "type": "array"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Show highest Expense amount(`total_selling_price`)",
        "tags": [
          "Expenses"
        ]
      }
    },
    "/expenses/sendEmails": {
      "delete": {
        "operationId": "sendEmailsExpenses",
        "requestBody": {
          "$ref": "#/components/requestBodies/BulkActionRequestBody"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            },
            "description": "Bad Request"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Bulk delete expenses",
        "tags": [
          "Expenses"
        ]
      }
    },
    "/expenses/{expense_id}": {
      "delete": {
        "parameters": [
          {
            "in": "path",
            "name": "expense_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Expense"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Delete expense",
        "tags": [
          "Expenses"
        ]
      },
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "expense_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Expense"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Show expense",
        "tags": [
          "Expenses"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "path",
            "name": "expense_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Expense"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Edit expense",
        "tags": [
          "Expenses"
        ]
      }
    },
    "/expenses/{expense_id}/original_files": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "expense_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Show list of all OIOUBL files for the expense",
        "tags": [
          "Expense OIOUBL files"
        ]
      }
    },
    "/expenses/{expense_id}/original_files/{file_id}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "expense_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "file_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Show OIOUBL file",
        "tags": [
          "Expense OIOUBL files"
        ]
      }
    },
    "/financial_statistics": {
      "get": {
        "operationId": "getFinancialStatistics",
        "parameters": [
          {
            "in": "query",
            "name": "date_from",
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "date_to",
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "project_id",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "project_status_ids[]",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "only_not_invoiced",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "details",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "invoicedAmount": {
                          "format": "float",
                          "type": "number"
                        },
                        "invoicedWorkingHours": {
                          "example": "00:00",
                          "type": "string"
                        },
                        "notInvoicedAmount": {
                          "format": "float",
                          "type": "number"
                        },
                        "notInvoicedWorkingHours": {
                          "example": "00:00",
                          "type": "string"
                        },
                        "productsCosts": {
                          "format": "float",
                          "type": "number"
                        },
                        "productsSales": {
                          "format": "float",
                          "type": "number"
                        },
                        "rentalsCosts": {
                          "format": "float",
                          "type": "number"
                        },
                        "rentalsSales": {
                          "format": "float",
                          "type": "number"
                        },
                        "totalCosts": {
                          "format": "float",
                          "type": "number"
                        },
                        "totalSales": {
                          "format": "float",
                          "type": "number"
                        },
                        "workTimeCosts": {
                          "format": "float",
                          "type": "number"
                        },
                        "workTimeSales": {
                          "format": "float",
                          "type": "number"
                        }
                      },
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get general statistics",
        "tags": [
          "Financial Statistics"
        ]
      }
    },
    "/financial_statistics/expensesSalesPrice": {
      "get": {
        "operationId": "getExpensesSalesPrice",
        "parameters": [
          {
            "in": "query",
            "name": "date_from",
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "date_to",
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "project_id",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "expensesSalesPrice": {
                      "format": "float",
                      "type": "number"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get expenses sales price",
        "tags": [
          "Financial Statistics"
        ]
      }
    },
    "/financial_statistics/invoicedAmount": {
      "get": {
        "operationId": "getInvoicedAmount",
        "parameters": [
          {
            "in": "query",
            "name": "date_from",
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "date_to",
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "project_id",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "invoicedAmount": {
                      "format": "float",
                      "type": "number"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get invoiced amount",
        "tags": [
          "Financial Statistics"
        ]
      }
    },
    "/financial_statistics/margin": {
      "get": {
        "operationId": "getMargin",
        "parameters": [
          {
            "in": "query",
            "name": "date_from",
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "date_to",
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "project_id",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "margin": {
                      "format": "float",
                      "type": "number"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get margin",
        "tags": [
          "Financial Statistics"
        ]
      }
    },
    "/financial_statistics/materialRentalsCostPrice": {
      "get": {
        "operationId": "getMaterialRentalsCostPrice",
        "parameters": [
          {
            "in": "query",
            "name": "date_from",
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "date_to",
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "project_id",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "materialRentalsCostPrice": {
                      "format": "float",
                      "type": "number"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get products material rentals cost price",
        "tags": [
          "Financial Statistics"
        ]
      }
    },
    "/financial_statistics/overview": {
      "get": {
        "operationId": "getFinancialStatisticsOverview",
        "parameters": [
          {
            "in": "query",
            "name": "date_from",
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "date_to",
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "project_id",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "expensesSalesPrice": {
                          "format": "float",
                          "type": "number"
                        },
                        "invoicedAmount": {
                          "format": "float",
                          "type": "number"
                        },
                        "margin": {
                          "format": "float",
                          "type": "number"
                        },
                        "materialRentalsCostPrice": {
                          "format": "float",
                          "type": "number"
                        },
                        "productsCostPrice": {
                          "format": "float",
                          "type": "number"
                        },
                        "totalWorkingHours": {
                          "example": "00:00",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get statistics overview",
        "tags": [
          "Financial Statistics"
        ]
      }
    },
    "/financial_statistics/productsCostPrice": {
      "get": {
        "operationId": "getProductsCostPrice",
        "parameters": [
          {
            "in": "query",
            "name": "date_from",
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "date_to",
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "project_id",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "productsCostPrice": {
                      "format": "float",
                      "type": "number"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get products cost price",
        "tags": [
          "Financial Statistics"
        ]
      }
    },
    "/financial_statistics/workingHours": {
      "get": {
        "parameters": [
          {
            "in": "query",
            "name": "date_from",
            "required": false,
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "date_to",
            "required": false,
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "project_id",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "normalWorkingHours": {
                      "type": "string"
                    },
                    "timeEntries": {
                      "items": {
                        "properties": {
                          "id": {
                            "format": "uuid",
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "total": {
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "totalWorkingHours": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get Total working hours grouped by time entry type",
        "tags": [
          "FinancialStatistics"
        ]
      }
    },
    "/form_field_types": {
      "get": {
        "parameters": [
          {
            "description": "Used to filter on the `name` of the form_fields",
            "in": "query",
            "name": "name",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used to filter on the `identifier` of the form_fields",
            "in": "query",
            "name": "identifier",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/FormFieldType"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get list of form field types",
        "tags": [
          "FormFieldTypes"
        ]
      }
    },
    "/form_field_types/{form_field_type_id}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "form_field_type_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/FormFieldType"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get details about single `FormField`",
        "tags": [
          "FormFieldTypes"
        ]
      }
    },
    "/form_fields": {
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "comment": {
                    "maxLength": 8192,
                    "type": "string"
                  },
                  "content_value": {
                    "maxLength": 255,
                    "type": "string"
                  },
                  "file_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "form_field_type_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "form_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "form_template_field_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "placement": {
                    "format": "int32",
                    "type": "integer"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "id": {
                          "format": "uuid",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Successfully added field"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Add a new field to a `Form`",
        "tags": [
          "FormFields"
        ]
      }
    },
    "/form_fields/{form_field_id}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "form_field_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/FormField"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get details about single `FormField`",
        "tags": [
          "FormFields"
        ]
      }
    },
    "/form_templates": {
      "get": {
        "parameters": [
          {
            "description": "Used to filter on the `name` of the form_templates",
            "in": "query",
            "name": "name",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used to filter on the `identifier` of the form_templates",
            "in": "query",
            "name": "identifier",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used to filter on the `pdf_template_identifier` of the form_templates",
            "in": "query",
            "name": "pdf_template_identifier",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used to filter on the `description` of the form_templates",
            "in": "query",
            "name": "description",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/FormTemplate"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get array of form_templates for your company",
        "tags": [
          "FormTemplates"
        ]
      }
    },
    "/form_templates/{form_template_id}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "form_template_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/FormTemplate"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "View one form template",
        "tags": [
          "FormTemplates"
        ]
      }
    },
    "/forms": {
      "get": {
        "parameters": [
          {
            "description": "Used to have extended details from the forms from the `Form`'s `FormFields`",
            "in": "query",
            "name": "extended",
            "schema": {
              "enum": [
                true,
                false
              ],
              "type": "string"
            }
          },
          {
            "description": "Used in conjunction with `date_to` to only show forms within these dates - format like `2016-28-05`",
            "in": "query",
            "name": "date_from",
            "schema": {
              "format": "Y-m-d",
              "type": "string"
            }
          },
          {
            "description": "Used in conjunction with `date_from` to only show forms within these dates - format like `2016-28-30`",
            "in": "query",
            "name": "date_to",
            "schema": {
              "format": "Y-m-d",
              "type": "string"
            }
          },
          {
            "description": "Used to show forms with trashed",
            "in": "query",
            "name": "show",
            "schema": {
              "format": "with_trashed",
              "type": "string"
            }
          },
          {
            "description": "Used to filter on the `project_id` of the forms",
            "in": "query",
            "name": "project_id",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "Used to filter on the `created_by_id` of the forms",
            "in": "query",
            "name": "created_by_id",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used to filter on the `form_template_id` of the forms. Accept single value and array.",
            "explode": false,
            "in": "query",
            "name": "form_template_id",
            "schema": {
              "items": {
                "format": "uuid",
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "Filter by `form_templates.identifier` containing string passed in `form_template_type`. Accept strings like [`qa`, `dagseddel`]",
            "in": "query",
            "name": "form_template_type",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used to filter forms by user's first or last name",
            "in": "query",
            "name": "employee_name",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/Form"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Retrieve array of forms",
        "tags": [
          "Forms"
        ]
      },
      "post": {
        "description": "Used to add a form into the system",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "form_template_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "project_id": {
                    "format": "uuid",
                    "type": "string"
                  }
                },
                "required": [
                  "project_id",
                  "form_template_id"
                ],
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "id": {
                          "format": "uuid",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Add new form",
        "tags": [
          "Forms"
        ]
      }
    },
    "/forms/undelete/{form_id}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "form_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Undelete form and related entities to it",
        "tags": [
          "Forms"
        ]
      }
    },
    "/forms/view_time_form_pdf/{form_id}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "form_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Generate time form pdf",
        "tags": [
          "Forms"
        ]
      }
    },
    "/forms/{form_id}": {
      "delete": {
        "description": "You can only delete the forms that you've submitted yourself",
        "parameters": [
          {
            "in": "path",
            "name": "form_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Delete a form",
        "tags": [
          "Forms"
        ]
      },
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "form_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Form"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "View form",
        "tags": [
          "Forms"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "path",
            "name": "form_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Edit a form",
        "tags": [
          "Forms"
        ]
      }
    },
    "/integrations": {
      "get": {
        "operationId": "get-integrations-list",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            },
            "description": "Bad Request"
          }
        },
        "summary": "Get integrations list",
        "tags": [
          "Integrations"
        ]
      }
    },
    "/integrations/billysAuthenticate": {
      "post": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "accessToken": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            },
            "description": "Bad Request"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Authenticate to Billys",
        "tags": [
          "Integrations"
        ]
      }
    },
    "/integrations/contactsSync": {
      "get": {
        "operationId": "get-integrations-contactsSync",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            },
            "description": "Bad Request"
          }
        },
        "summary": "Force Synchronization with ERP systems",
        "tags": [
          "Integrations"
        ]
      }
    },
    "/integrations/productsSync": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            },
            "description": "Bad Request"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Sync products from erp integration",
        "tags": [
          "Integrations"
        ]
      }
    },
    "/integrations/{integration_id}": {
      "get": {
        "operationId": "get-integrations-view",
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "integration_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            },
            "description": "Bad Request"
          }
        },
        "summary": "View integration details",
        "tags": [
          "Integrations"
        ]
      }
    },
    "/invoice_line_text_template": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/InvoiceLineTextTemplate"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a list of invoice line text templates",
        "tags": [
          "InvoiceLineTextTemplates"
        ]
      },
      "post": {
        "requestBody": {
          "$ref": "#/components/requestBodies/postInvoiceLineTexts_invoiceLineTextId_"
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateSuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "summary": "Add a new invoice line text template",
        "tags": [
          "InvoiceLineTextTemplates"
        ]
      }
    },
    "/invoice_line_text_template/{invoice_line_text_template_id}": {
      "delete": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Delete an invoice line text template",
        "tags": [
          "InvoiceLineTextTemplates"
        ]
      },
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/InvoiceLineTextTemplate"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a single invoice line text template",
        "tags": [
          "InvoiceLineTextTemplates"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "invoice_line_text_template_id",
          "required": true,
          "schema": {
            "format": "uuid",
            "type": "string"
          }
        }
      ],
      "post": {
        "requestBody": {
          "$ref": "#/components/requestBodies/postInvoiceLineTexts_invoiceLineTextId_"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Edit an invoice line text template",
        "tags": [
          "InvoiceLineTextTemplates"
        ]
      }
    },
    "/invoice_line_texts/": {
      "post": {
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "html": {
                    "type": "string"
                  },
                  "image": {
                    "format": "binary",
                    "type": "string"
                  },
                  "invoice_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "placement": {
                    "type": "integer"
                  }
                },
                "required": [
                  "invoice_id",
                  "html"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateSuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Add invoice line text",
        "tags": [
          "InvoiceLines"
        ]
      }
    },
    "/invoice_line_texts/{invoice_line_text_id}": {
      "post": {
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "invoice_line_text_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/postInvoiceLineTexts_invoiceLineTextId_"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Edit invoice line text",
        "tags": [
          "InvoiceLines"
        ]
      }
    },
    "/invoice_lines": {
      "get": {
        "parameters": [
          {
            "in": "query",
            "name": "invoice_id",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "product_id",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "user_id",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "name",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "discount_text",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/InvoiceLine"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "View list of invoice lines",
        "tags": [
          "InvoiceLines"
        ]
      },
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "child_invoice_lines": {
                    "items": {
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "description": {
                    "maxLength": 8192,
                    "type": "string"
                  },
                  "discount_percent": {
                    "format": "int32",
                    "type": "integer"
                  },
                  "discount_text": {
                    "maxLength": 255,
                    "type": "string"
                  },
                  "invoice_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "name": {
                    "maxLength": 2048,
                    "type": "string"
                  },
                  "product_bundle_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "product_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "quantity": {
                    "format": "int32",
                    "type": "integer"
                  },
                  "selling_price": {
                    "format": "float",
                    "type": "number"
                  },
                  "user_id": {
                    "format": "uuid",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "id": {
                          "format": "uuid",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Add invoice line",
        "tags": [
          "InvoiceLines"
        ]
      }
    },
    "/invoice_lines/{invoice_line_id}": {
      "delete": {
        "parameters": [
          {
            "in": "path",
            "name": "invoice_line_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Delete invoice line",
        "tags": [
          "InvoiceLines"
        ]
      },
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "invoice_line_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/InvoiceLine"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "View invoice line",
        "tags": [
          "InvoiceLines"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "path",
            "name": "invoice_line_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "description": {
                    "maxLength": 8192,
                    "type": "string"
                  },
                  "discount_percent": {
                    "format": "int32",
                    "type": "integer"
                  },
                  "discount_text": {
                    "maxLength": 255,
                    "type": "string"
                  },
                  "invoice_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "name": {
                    "maxLength": 2048,
                    "type": "string"
                  },
                  "product_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "quantity": {
                    "format": "int32",
                    "type": "integer"
                  },
                  "selling_price": {
                    "format": "float",
                    "type": "number"
                  },
                  "user_id": {
                    "format": "uuid",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Edit invoice line",
        "tags": [
          "InvoiceLines"
        ]
      }
    },
    "/invoices": {
      "get": {
        "parameters": [
          {
            "description": "Used to filter on the `contact_id` of the invoices",
            "in": "query",
            "name": "contact_id",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "Used to filter on the `project_id` of the invoices",
            "in": "query",
            "name": "project_id",
            "required": false,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "Used to filter on the `invoice_number` of the invoices",
            "in": "query",
            "name": "invoice_number",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "offer_number",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "is_draft",
            "schema": {
              "enum": [
                0,
                1
              ],
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "is_offer",
            "schema": {
              "enum": [
                0,
                1
              ],
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "is_locked",
            "schema": {
              "enum": [
                0,
                1
              ],
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "is_fixed_price",
            "schema": {
              "enum": [
                0,
                1
              ],
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "date_from",
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "date_to",
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "issued_date",
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "description": "Used to filter invoices which are sent as draft to integration",
            "in": "query",
            "name": "sent_as_draft",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/Invoice"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "View list of invoices",
        "tags": [
          "Invoices"
        ]
      },
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "contact_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "created_or_modified_gte": {
                    "format": "date",
                    "type": "string"
                  },
                  "date_from": {
                    "format": "date",
                    "type": "string"
                  },
                  "date_to": {
                    "format": "date",
                    "type": "string"
                  },
                  "erp_id": {
                    "maxLength": 255,
                    "type": "string"
                  },
                  "erp_payment_term_id": {
                    "maxLength": 255,
                    "type": "string"
                  },
                  "invoice_number": {
                    "format": "int32",
                    "maxLength": 8,
                    "type": "integer"
                  },
                  "is_draft": {
                    "type": "boolean"
                  },
                  "is_locked": {
                    "type": "boolean"
                  },
                  "is_offer": {
                    "type": "boolean"
                  },
                  "issued_date": {
                    "format": "date",
                    "type": "string"
                  },
                  "message": {
                    "maxLength": 8192,
                    "type": "string"
                  },
                  "offer_number": {
                    "format": "int32",
                    "maxLength": 8,
                    "type": "integer"
                  },
                  "payment_due_date": {
                    "format": "date",
                    "type": "string"
                  },
                  "payment_term_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "project_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "reference": {
                    "maxLength": 255,
                    "type": "string"
                  },
                  "vat_percent": {
                    "format": "int32",
                    "maxLength": 2,
                    "type": "integer"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "id": {
                          "format": "uuid",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Add invoice",
        "tags": [
          "Invoices"
        ]
      }
    },
    "/invoices/bulkDelete": {
      "delete": {
        "operationId": "bulkDeleteInvoices",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkActionRequestBody"
              }
            }
          },
          "description": "Invoices ids",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            },
            "description": "Bad Request"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Bulk delete invoices",
        "tags": [
          "Invoices"
        ]
      }
    },
    "/invoices/vatOptions": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "List VAT options",
        "tags": [
          "Invoices"
        ]
      }
    },
    "/invoices/{invoice_id}": {
      "delete": {
        "parameters": [
          {
            "in": "path",
            "name": "invoice_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Delete invoice",
        "tags": [
          "Invoices"
        ]
      },
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "invoice_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Invoice"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "View invoice",
        "tags": [
          "Invoices"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "path",
            "name": "invoice_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "contact_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "date_from": {
                    "format": "date",
                    "type": "string"
                  },
                  "date_to": {
                    "format": "date",
                    "type": "string"
                  },
                  "erp_id": {
                    "maxLength": 255,
                    "type": "string"
                  },
                  "erp_payment_term_id": {
                    "maxLength": 255,
                    "type": "string"
                  },
                  "invoice_number": {
                    "format": "int32",
                    "maxLength": 8,
                    "type": "integer"
                  },
                  "is_draft": {
                    "type": "boolean"
                  },
                  "is_locked": {
                    "type": "boolean"
                  },
                  "is_offer": {
                    "type": "boolean"
                  },
                  "issued_date": {
                    "format": "date",
                    "type": "string"
                  },
                  "message": {
                    "maxLength": 8192,
                    "type": "string"
                  },
                  "offer_number": {
                    "format": "int32",
                    "maxLength": 8,
                    "type": "integer"
                  },
                  "payment_due_date": {
                    "format": "date",
                    "type": "string"
                  },
                  "payment_term_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "project_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "reference": {
                    "maxLength": 255,
                    "type": "string"
                  },
                  "vat_percent": {
                    "format": "int32",
                    "maxLength": 2,
                    "type": "integer"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Edit invoice",
        "tags": [
          "Invoices"
        ]
      }
    },
    "/invoices/{invoice_id}/copy": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "invoice_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "project_id",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "contact_id",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateSuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Create a copy of an invoice",
        "tags": [
          "Invoices"
        ]
      }
    },
    "/invoices/{invoice_id}/emails/{email_id}": {
      "get": {
        "operationId": "getOneInvoiceEmails",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Email"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "summary": "Get an invoice emails",
        "tags": [
          "InvoiceEmails"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "invoice_id",
          "required": true,
          "schema": {
            "format": "uuid",
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "email_id",
          "required": true,
          "schema": {
            "format": "uuid",
            "type": "string"
          }
        }
      ]
    },
    "/invoices/{invoice_id}/files": {
      "get": {
        "operationId": "getInvoiceFiles",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/InvoiceFile"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "summary": "Get list of invoice files",
        "tags": [
          "InvoiceFiles"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "invoice_id",
          "required": true,
          "schema": {
            "format": "uuid",
            "type": "string"
          }
        }
      ],
      "post": {
        "operationId": "createInvoiceFile",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "properties": {
                  "file_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "invoice_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "type": {
                    "maxLength": 255,
                    "type": "string"
                  }
                },
                "required": [
                  "invoice_id",
                  "file_id"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateSuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            },
            "description": "Unautorized"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "summary": "Create a new invoice file",
        "tags": [
          "InvoiceFiles"
        ]
      }
    },
    "/invoices/{invoice_id}/files/{file_id}": {
      "delete": {
        "parameters": [
          {
            "in": "path",
            "name": "invoice_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "file_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedError"
                }
              }
            },
            "description": "Unautorized"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Delete invoice file",
        "tags": [
          "InvoiceFiles"
        ]
      },
      "get": {
        "operationId": "getOneInvoiceFiles",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/InvoiceFile"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "summary": "Get an invoice files",
        "tags": [
          "InvoiceFiles"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "invoice_id",
          "required": true,
          "schema": {
            "format": "uuid",
            "type": "string"
          }
        },
        {
          "in": "path",
          "name": "file_id",
          "required": true,
          "schema": {
            "format": "uuid",
            "type": "string"
          }
        }
      ]
    },
    "/invoices/{invoice_id}/linkProjectPdf": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "invoice_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Creates an invoice file containing the project's pdf overview",
        "tags": [
          "Invoices"
        ]
      }
    },
    "/invoices/{invoice_id}/unlinkProjectPdf": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "invoice_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Deletes the linked project overview pdf",
        "tags": [
          "Invoices"
        ]
      }
    },
    "/mass_messages_users": {
      "get": {
        "parameters": [
          {
            "description": "Used to filter on the `is_read` of the mass messages",
            "in": "query",
            "name": "is_read",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/MassMessagesUser"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "View list of mass messages for specific user",
        "tags": [
          "MassMessagesUsers"
        ]
      }
    },
    "/mass_messages_users/{mass_messages_user_id}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "mass_messages_user_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/MassMessagesUser"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "View mass message",
        "tags": [
          "MassMessagesUsers"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "path",
            "name": "mass_messages_user_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Edit mass message",
        "tags": [
          "MassMessagesUsers"
        ]
      }
    },
    "/materials": {
      "get": {
        "parameters": [
          {
            "description": "Used to filter on the `barcode` of the materials",
            "in": "query",
            "name": "barcode",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used to filter on the `name` of the materials",
            "in": "query",
            "name": "name",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used to find materials used in specific project by `project_id`",
            "in": "query",
            "name": "project_id",
            "required": false,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "Used to find currently rented materials",
            "in": "query",
            "name": "currently_rented",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/Material"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "View list of all materials",
        "tags": [
          "Materials"
        ]
      },
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "barcode": {
                    "type": "string"
                  },
                  "billing_cysle": {
                    "enum": [
                      "hourly",
                      "daily",
                      "weekly"
                    ],
                    "type": "string"
                  },
                  "cost_price": {
                    "format": "float",
                    "type": "number"
                  },
                  "description": {
                    "type": "string"
                  },
                  "is_single_usage": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "string"
                  },
                  "selling_price": {
                    "format": "float",
                    "type": "number"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "id": {
                          "format": "uuid",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Add material",
        "tags": [
          "Materials"
        ]
      }
    },
    "/materials/{material_id}": {
      "delete": {
        "parameters": [
          {
            "in": "path",
            "name": "material_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Delete material",
        "tags": [
          "Materials"
        ]
      },
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "material_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Material"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "View material",
        "tags": [
          "Materials"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "path",
            "name": "material_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Edit material",
        "tags": [
          "Materials"
        ]
      }
    },
    "/materials/{material_id}/rentals/": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "material_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/MaterialRental"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Show list of rentals for specific material",
        "tags": [
          "MaterialRentals"
        ]
      },
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "material_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "form_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "from_date": {
                    "format": "dateTime",
                    "type": "string"
                  },
                  "is_invoiced": {
                    "format": "dateTime",
                    "type": "string"
                  },
                  "material_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "project_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "quantity": {
                    "format": "float",
                    "type": "number"
                  },
                  "to_date": {
                    "format": "dateTime",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "id": {
                          "format": "uuid",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Add material rental",
        "tags": [
          "MaterialRentals"
        ]
      }
    },
    "/materials/{material_id}/rentals/checkout/": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "material_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "form_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "material_rental_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "to_date": {
                    "format": "dateTime",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "id": {
                          "format": "uuid",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Checkout material rental",
        "tags": [
          "MaterialRentals"
        ]
      }
    },
    "/materials/{material_id}/rentals/{material_rental_id}/": {
      "delete": {
        "description": "Delete rental for material",
        "parameters": [
          {
            "in": "path",
            "name": "material_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "material_rental_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Delete material rental",
        "tags": [
          "MaterialRentals"
        ]
      },
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "material_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "material_rental_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/MaterialRental"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Show rental foor materi",
        "tags": [
          "MaterialRentals"
        ]
      },
      "put": {
        "description": "Edit material rental",
        "parameters": [
          {
            "in": "path",
            "name": "material_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "material_rental_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Edit material rental",
        "tags": [
          "MaterialRentals"
        ]
      }
    },
    "/offer_statuses": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/OfferStatus"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get list of offer statuses",
        "tags": [
          "OfferStatuses"
        ]
      },
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "company_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "description": {
                    "maxLength": 8192,
                    "type": "string"
                  },
                  "identifier": {
                    "maxLength": 255,
                    "type": "string"
                  },
                  "is_custom": {
                    "type": "boolean"
                  },
                  "name": {
                    "maxLength": 255,
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Create a new offer status",
        "tags": [
          "OfferStatuses"
        ]
      }
    },
    "/offer_statuses/bulkDelete": {
      "delete": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkActionRequestBody"
              }
            }
          },
          "description": "Offer statuses ids",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            },
            "description": "Forbidden"
          }
        },
        "summary": "Bulk delete offer statuses",
        "tags": [
          "OfferStatuses"
        ]
      }
    },
    "/offer_statuses/{offer_status_id}": {
      "delete": {
        "parameters": [
          {
            "in": "path",
            "name": "offer_status_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Record not found"
          }
        },
        "summary": "Delete a offer status",
        "tags": [
          "OfferStatuses"
        ]
      },
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "offer_status_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/OfferStatus"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a single offer status",
        "tags": [
          "OfferStatuses"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "path",
            "name": "offer_status_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Record Not Found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Edit a offer status",
        "tags": [
          "OfferStatuses"
        ]
      }
    },
    "/offers": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/Offer"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "View list of offers",
        "tags": [
          "Offers"
        ]
      },
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "offer_lines": {
                    "items": {},
                    "type": "array"
                  },
                  "project_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "status": {
                    "default": "draft",
                    "enum": [
                      "draft",
                      "accepted",
                      "rejected"
                    ],
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateSuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            },
            "description": "Bad Request"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Add new offer",
        "tags": [
          "Offers"
        ]
      }
    },
    "/offers/{offer_id}": {
      "delete": {
        "parameters": [
          {
            "in": "path",
            "name": "offer_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not Found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Delete an offer",
        "tags": [
          "Offers"
        ]
      },
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "offer_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Offer"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not Found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "View offer",
        "tags": [
          "Offers"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "path",
            "name": "offer_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "properties": {
                  "status": {
                    "default": "draft",
                    "enum": [
                      "draft",
                      "accepted",
                      "rejected"
                    ],
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not Found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Edit an offer",
        "tags": [
          "Offers"
        ]
      }
    },
    "/offers/{offer_id}/changelog": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/Offer"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "summary": "Get list of changelog history for the offer. Returns offer object with contact and user objects if they are provided",
        "tags": [
          "Changelog"
        ]
      },
      "parameters": [
        {
          "in": "path",
          "name": "offer_id",
          "required": true,
          "schema": {
            "format": "uuid",
            "type": "string"
          }
        }
      ]
    },
    "/overview/rejection_reasons": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {},
                      "type": "array"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a statistics data for rejection reasons",
        "tags": [
          "RejectionReasons"
        ]
      }
    },
    "/payment_term_types": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/PaymentTermType"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a list of payment term types",
        "tags": [
          "PaymentTermTypes"
        ]
      }
    },
    "/payment_term_types/{payment_term_type_id}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "payment_term_type_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/PaymentTermType"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Details of 1 payment term type",
        "tags": [
          "PaymentTermTypes"
        ]
      }
    },
    "/payment_terms": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/PaymentTerm"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a list of payment terms",
        "tags": [
          "PaymentTerms"
        ]
      }
    },
    "/payment_terms/erp": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/PaymentTermsData"
                      },
                      "type": "array"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get integration payment terms list",
        "tags": [
          "PaymentTerms"
        ]
      }
    },
    "/payment_terms/{payment_term_id}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "payment_term_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/PaymentTerm"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "PaymentTerm not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Details of 1 payment term",
        "tags": [
          "PaymentTerms"
        ]
      }
    },
    "/ping": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "status": {
                      "default": "ok",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Check if API is up and API key works",
        "tags": [
          "Ping"
        ]
      }
    },
    "/products": {
      "get": {
        "parameters": [
          {
            "description": "Used to filter on the `name` of the products",
            "in": "query",
            "name": "name",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used to filter on the `product_number` of the products",
            "in": "query",
            "name": "product_number",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "Used to filter on the `barcode` of the products",
            "in": "query",
            "name": "barcode",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "modified_gte",
            "schema": {
              "format": "datetime",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/Product"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "List products",
        "tags": [
          "Products"
        ]
      },
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "barcode": {
                    "maxLength": 255,
                    "type": "string"
                  },
                  "buying_price": {
                    "format": "double",
                    "type": "number"
                  },
                  "description": {
                    "maxLength": 8192,
                    "type": "string"
                  },
                  "erp_id": {
                    "maxLength": 255,
                    "type": "string"
                  },
                  "name": {
                    "maxLength": 255,
                    "type": "string"
                  },
                  "product_number": {
                    "maxLength": 255,
                    "type": "string"
                  },
                  "selling_price": {
                    "format": "double",
                    "type": "number"
                  }
                },
                "required": [
                  "name"
                ],
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "id": {
                          "format": "uuid",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Add new product",
        "tags": [
          "Products"
        ]
      }
    },
    "/products/bulkDelete": {
      "delete": {
        "operationId": "bulkDeleteProducts",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkActionRequestBody"
              }
            }
          },
          "description": "Products ids",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            },
            "description": "Bad Request"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Bulk delete products",
        "tags": [
          "Products"
        ]
      }
    },
    "/products/undelete/{product_id}": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "product_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Restore a deleted product",
        "tags": [
          "Products"
        ]
      }
    },
    "/products/{product_id}": {
      "delete": {
        "parameters": [
          {
            "in": "path",
            "name": "product_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Delete a product",
        "tags": [
          "Products"
        ]
      },
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "product_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Product"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "View single product",
        "tags": [
          "Products"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "path",
            "name": "product_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Edit a product",
        "tags": [
          "Products"
        ]
      }
    },
    "/products/{product_id}/uploadImage": {
      "parameters": [
        {
          "in": "path",
          "name": "product_id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "description": "Upload or delete product image",
        "operationId": "Upload or delete product image",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "properties": {
                  "image": {
                    "format": "binary",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "summary": "",
        "tags": [
          "Products"
        ]
      }
    },
    "/products/{product_id}/variants": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "product_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/ProductVariant"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "summary": "Get a product's variants",
        "tags": [
          "ProductVariants"
        ]
      },
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "product_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "Filters by name",
            "in": "query",
            "name": "name",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "properties": {
                  "ratio": {
                    "type": "number"
                  },
                  "variant_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "variant_type": {
                    "enum": [
                      "expense_line",
                      "vendor_product"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "variant_type",
                  "variant_id",
                  "ratio"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Add a new variant to a product",
        "tags": [
          "ProductVariants"
        ]
      }
    },
    "/products/{product_id}/variants/{variant_type}/{variant_id}": {
      "delete": {
        "parameters": [
          {
            "in": "path",
            "name": "product_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "variant_type",
            "required": true,
            "schema": {
              "enum": [
                "expense_line",
                "vendor_product"
              ],
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "variant_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "summary": "Delete a product variant",
        "tags": [
          "ProductVariants"
        ]
      }
    },
    "/project_custom_field_attributes": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/ProjectCustomFieldAttribute"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a list of project custom field attributes",
        "tags": [
          "ProjectCustomFieldAttributes"
        ]
      }
    },
    "/project_custom_field_attributes/{project_custom_field_attribute_id}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "project_custom_field_attribute_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ProjectCustomFieldAttribute"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "ProjectCustomFieldAttribute not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Details of 1 project custom field attribute",
        "tags": [
          "ProjectCustomFieldAttributes"
        ]
      }
    },
    "/project_status_types": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/ProjectStatusType"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a list of project status types",
        "tags": [
          "ProjectStatusTypes"
        ]
      }
    },
    "/project_statuses": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/ProjectStatus"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get list of project statuses",
        "tags": [
          "ProjectStatuses"
        ]
      },
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "description": {
                    "maxLength": 8192,
                    "type": "string"
                  },
                  "name": {
                    "maxLength": 255,
                    "type": "string"
                  },
                  "project_status_type_id": {
                    "format": "uuid",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateSuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Create a new project status",
        "tags": [
          "ProjectStatuses"
        ]
      }
    },
    "/project_statuses/add_default": {
      "post": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AddDefaultProjectStatusesError"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AddDefaultProjectStatusesSuccess"
                }
              }
            },
            "description": "Bad Request"
          }
        },
        "summary": "Add default project statuses to company",
        "tags": [
          "DefaultProjectStatuses"
        ]
      }
    },
    "/project_statuses/bulkDelete": {
      "delete": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkActionRequestBody"
              }
            }
          },
          "description": "Project statuses ids",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            },
            "description": "Forbidden"
          }
        },
        "summary": "Bulk delete project statuses",
        "tags": [
          "ProjectStatuses"
        ]
      }
    },
    "/project_statuses/{project_status_id}": {
      "delete": {
        "parameters": [
          {
            "in": "path",
            "name": "project_status_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Record not found"
          }
        },
        "summary": "Delete a project status",
        "tags": [
          "ProjectStatuses"
        ]
      },
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "project_status_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ProjectStatus"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a single project status",
        "tags": [
          "ProjectStatuses"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "path",
            "name": "project_status_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Record Not Found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Edit a project status",
        "tags": [
          "ProjectStatuses"
        ]
      }
    },
    "/projects": {
      "get": {
        "parameters": [
          {
            "description": "Unless this is set to `true` only open projects will be shown",
            "in": "query",
            "name": "show_all",
            "required": false,
            "schema": {
              "default": false,
              "type": "boolean"
            }
          },
          {
            "description": "Sort projects by `not_invoiced_amount`",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "direction",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used to filter on the `contact_id` of the projects",
            "in": "query",
            "name": "contact_id",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "Used to filter on the `company_id` of the projects",
            "in": "query",
            "name": "company_id",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "Used to filter on the `project_status_id` of the projects",
            "in": "query",
            "name": "project_status_id",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "Used to filter on the `project_status_id` of the projects (match any of the provided values)",
            "explode": false,
            "in": "query",
            "name": "project_status_ids",
            "schema": {
              "items": {
                "format": "uuid",
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "Used to search on the `name` of the projects",
            "in": "query",
            "name": "name",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used to search on the `erp_project_id` of the projects",
            "in": "query",
            "name": "erp_project_id",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used to search on the `erp_task_id` of the projects",
            "in": "query",
            "name": "erp_task_id",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Show projects with start time after than this value",
            "in": "query",
            "name": "start_time_gte",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Show projects with start time before this value",
            "in": "query",
            "name": "start_time_lte",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Show only projects with start time on specific date",
            "in": "query",
            "name": "start_time_eq",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "event_start[][gt]",
            "schema": {
              "format": "datetime",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "event_start[][lt]",
            "schema": {
              "format": "datetime",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "event_start[][eq]",
            "schema": {
              "format": "datetime",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "event_end[][gt]",
            "schema": {
              "format": "datetime",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "event_end[][lt]",
            "schema": {
              "format": "datetime",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "event_end[][eq]",
            "schema": {
              "format": "datetime",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/Project"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "View list of projects",
        "tags": [
          "Projects"
        ]
      },
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "child_projects": {
                    "items": {
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "city_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "contact_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "description": {
                    "maxLength": 8192,
                    "type": "string"
                  },
                  "erp_project_id": {
                    "maxLength": 255,
                    "type": "string"
                  },
                  "erp_task_id": {
                    "maxLength": 255,
                    "type": "string"
                  },
                  "name": {
                    "maxLength": 255,
                    "type": "string"
                  },
                  "parent_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "project_status_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "start_time": {
                    "format": "datetime",
                    "type": "string"
                  },
                  "street_name": {
                    "maxLength": 255,
                    "type": "string"
                  }
                },
                "required": [
                  "name"
                ],
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "id": {
                          "format": "uuid",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Add a project",
        "tags": [
          "Projects"
        ]
      }
    },
    "/projects/has_projects_with_custom_statuses": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "has_custom_statuses": {
                      "type": "boolean"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Check if the company has projects with custom statuses",
        "tags": [
          "ProjectStatuses",
          "Projects"
        ]
      }
    },
    "/projects/{project_id}": {
      "delete": {
        "parameters": [
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Delete a project",
        "tags": [
          "Projects"
        ]
      },
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Project"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "View specific project",
        "tags": [
          "Projects"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "contact_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "description": {
                    "maxLength": 8192,
                    "type": "string"
                  },
                  "erp_project_id": {
                    "maxLength": 255,
                    "type": "string"
                  },
                  "erp_task_id": {
                    "maxLength": 255,
                    "type": "string"
                  },
                  "name": {
                    "maxLength": 255,
                    "type": "string"
                  },
                  "project_status_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "start_time": {
                    "format": "datetime",
                    "type": "string"
                  },
                  "street_name": {
                    "maxLength": 255,
                    "type": "string"
                  }
                },
                "required": [
                  "name"
                ],
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Edit a project",
        "tags": [
          "Projects"
        ]
      }
    },
    "/projects/{project_id}/all_files": {
      "get": {
        "description": "Used to show files uploaded to a project from form, expense and project",
        "parameters": [
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Show list of all files uploaded to project",
        "tags": [
          "Projects"
        ]
      }
    },
    "/projects/{project_id}/files": {
      "get": {
        "description": "Used to show files uploaded to a project from wall post or form",
        "parameters": [
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Show list of files uploaded to project",
        "tags": [
          "Projects"
        ]
      }
    },
    "/projects/{project_id}/files/{file_id}/": {
      "delete": {
        "description": "Delete file uploaded to a project from wall post or form",
        "parameters": [
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "file_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Delete file",
        "tags": [
          "Projects"
        ]
      },
      "get": {
        "description": "Show file uploaded to a project from wall post or form",
        "parameters": [
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "file_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Show file",
        "tags": [
          "Projects"
        ]
      },
      "put": {
        "description": "Edit file uploaded to a project from wall post or form",
        "parameters": [
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "file_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Edit file",
        "tags": [
          "Projects"
        ]
      }
    },
    "/projects/{project_id}/project_files": {
      "get": {
        "description": "Returns files belonging to the project, not uploaded from wall post or form",
        "parameters": [
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Show list of project files uploaded to project",
        "tags": [
          "Projects"
        ]
      },
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "file": {
                    "format": "binary",
                    "type": "string"
                  }
                },
                "required": [
                  "file"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "id": {
                          "format": "uuid",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Successfully added project file"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Add project file to projects",
        "tags": [
          "Projects"
        ]
      }
    },
    "/projects/{project_id}/project_files/{project_file_id}/": {
      "delete": {
        "parameters": [
          {
            "in": "path",
            "name": "project_file_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Delete project file",
        "tags": [
          "Projects"
        ]
      },
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "project_file_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Show project file",
        "tags": [
          "Projects"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "project_file_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Edit project file",
        "tags": [
          "Projects"
        ]
      }
    },
    "/projects/{project_id}/send_bulk_pdf": {
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "form_id": {
                    "items": {
                      "format": "uuid",
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Send bulk forms pdf by email",
        "tags": [
          "Projects"
        ]
      }
    },
    "/projects/{project_id}/users/": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/User"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Show list of users added to project",
        "tags": [
          "Projects"
        ]
      },
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "user_id": {
                    "format": "uuid",
                    "type": "string"
                  }
                },
                "required": [
                  "user_id"
                ],
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "id": {
                          "format": "uuid",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Add user to project",
        "tags": [
          "Projects"
        ]
      }
    },
    "/projects/{project_id}/users/{user_id}": {
      "delete": {
        "parameters": [
          {
            "in": "path",
            "name": "user_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Delete user from project",
        "tags": [
          "Projects"
        ]
      },
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "user_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/User"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "View specific user assigned to project",
        "tags": [
          "Projects"
        ]
      }
    },
    "/reports": {
      "get": {
        "description": "View list of report types",
        "operationId": "",
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "summary": "",
        "tags": [
          "Reports"
        ]
      },
      "parameters": []
    },
    "/roles": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/Role"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a list of roles",
        "tags": [
          "Roles"
        ]
      }
    },
    "/stock_locations": {
      "get": {
        "parameters": [
          {
            "description": "Used to filter on the `name` of the stock_locations",
            "in": "query",
            "name": "name",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/StockLocation"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "List stock_locations",
        "tags": [
          "StockLocations"
        ]
      },
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "name": {
                    "maxLength": 255,
                    "type": "string"
                  }
                },
                "required": [
                  "name"
                ],
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "id": {
                          "format": "uuid",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Add new stock_locations",
        "tags": [
          "StockLocations"
        ]
      }
    },
    "/stock_locations/{location_id}": {
      "delete": {
        "parameters": [
          {
            "in": "path",
            "name": "location_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Delete location",
        "tags": [
          "StockLocations"
        ]
      },
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "location_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/StockLocation"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "View single location",
        "tags": [
          "StockLocations"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "path",
            "name": "location_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Edit location",
        "tags": [
          "StockLocations"
        ]
      }
    },
    "/time_entries": {
      "get": {
        "parameters": [
          {
            "in": "query",
            "name": "user_id",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "form_id",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "project_id",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "gt_from_time",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "lt_from_time",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "gt_to_time",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "lt_to_time",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "lt_sum",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "gt_sum",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/TimeEntry"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "List time entries",
        "tags": [
          "TimeEntries"
        ]
      },
      "post": {
        "requestBody": {
          "$ref": "#/components/requestBodies/TimeEntry"
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "id": {
                          "format": "uuid",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Add new time entry",
        "tags": [
          "TimeEntries"
        ]
      }
    },
    "/time_entries/{time_entry_id}": {
      "delete": {
        "parameters": [
          {
            "in": "path",
            "name": "time_entry_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Delete time entry",
        "tags": [
          "TimeEntries"
        ]
      },
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "time_entry_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/TimeEntry"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "View time entry",
        "tags": [
          "TimeEntries"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "path",
            "name": "time_entry_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Edit time entry",
        "tags": [
          "TimeEntries"
        ]
      }
    },
    "/time_entry_intervals": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/TimeEntryInterval"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "List possible time entry intervals",
        "tags": [
          "TimeEntryIntervals"
        ]
      }
    },
    "/time_entry_intervals/{time_entry_interval_id}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "time_entry_interval_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/TimeEntryInterval"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "View time entry interval",
        "tags": [
          "TimeEntryIntervals"
        ]
      }
    },
    "/time_entry_rates": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/TimeEntryRate"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "List time entry rates",
        "tags": [
          "TimeEntryRates"
        ]
      },
      "post": {
        "requestBody": {
          "$ref": "#/components/requestBodies/TimeEntry"
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "id": {
                          "format": "uuid",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Add new time entry rate",
        "tags": [
          "TimeEntryRates"
        ]
      }
    },
    "/time_entry_rates/{time_entry_rate_id}": {
      "delete": {
        "parameters": [
          {
            "in": "path",
            "name": "time_entry_rate_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Delete time entry rate",
        "tags": [
          "TimeEntryRate"
        ]
      },
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "time_entry_rate_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/TimeEntryRate"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "View time entry rate",
        "tags": [
          "TimeEntryRates"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "path",
            "name": "time_entry_rate_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Edit time entry rate",
        "tags": [
          "TimeEntryRates"
        ]
      }
    },
    "/time_entry_rule_groups": {
      "get": {
        "parameters": [
          {
            "in": "query",
            "name": "q",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/TimeEntryRuleGroup"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "List time entry rule groups",
        "tags": [
          "TimeEntryRuleGroups"
        ]
      }
    },
    "/time_entry_types": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/TimeEntryType"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "List time entries types",
        "tags": [
          "TimeEntryTypes"
        ]
      },
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "description": {
                    "maxLength": 8192,
                    "type": "string"
                  },
                  "name": {
                    "maxLength": 255,
                    "type": "string"
                  },
                  "time_entry_interval_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "time_entry_value_type_id": {
                    "format": "uuid",
                    "type": "string"
                  }
                },
                "required": [
                  "time_entry_interval_id",
                  "time_entry_value_type_id",
                  "name"
                ],
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "id": {
                          "format": "uuid",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Add new time entry type",
        "tags": [
          "TimeEntryTypes"
        ]
      }
    },
    "/time_entry_types/bulkActivate": {
      "post": {
        "operationId": "bulkActivateTimeEntryTypes",
        "requestBody": {
          "$ref": "#/components/requestBodies/BulkActionRequestBody2"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            },
            "description": "Bad Request"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Bulk activate time entry types",
        "tags": [
          "TimeEntryTypes"
        ]
      }
    },
    "/time_entry_types/bulkDeactivate": {
      "post": {
        "operationId": "bulkDeactivateTimeEntryTypes",
        "requestBody": {
          "$ref": "#/components/requestBodies/BulkActionRequestBody2"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            },
            "description": "Bad Request"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Bulk deactivate time entry types",
        "tags": [
          "TimeEntryTypes"
        ]
      }
    },
    "/time_entry_types/bulkDelete": {
      "delete": {
        "operationId": "bulkDeleteTimeEntryTypes",
        "requestBody": {
          "$ref": "#/components/requestBodies/BulkActionRequestBody2"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            },
            "description": "Bad Request"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Bulk delete time entry types",
        "tags": [
          "TimeEntryTypes"
        ]
      }
    },
    "/time_entry_types/{time_entry_type_id}": {
      "delete": {
        "parameters": [
          {
            "in": "path",
            "name": "time_entry_type_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Delete time entry type",
        "tags": [
          "TimeEntryTypes"
        ]
      },
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "time_entry_type_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/TimeEntryType"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "View time entry type",
        "tags": [
          "TimeEntryTypes"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "path",
            "name": "time_entry_type_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Edit time entry type",
        "tags": [
          "TimeEntryTypes"
        ]
      }
    },
    "/time_entry_unit_types": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/TimeEntryUnitType"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "List possible time entry unit types",
        "tags": [
          "TimeEntryUnitTypes"
        ]
      }
    },
    "/time_entry_unit_types/{time_entry_unit_type_id}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "time_entry_unit_type_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/TimeEntryUnitType"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "View time entry unit type",
        "tags": [
          "TimeEntryUnitTypes"
        ]
      }
    },
    "/time_entry_value_types": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/TimeEntryValueType"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "List possible time entry value types",
        "tags": [
          "TimeEntryValueTypes"
        ]
      }
    },
    "/time_entry_value_types/{time_entry_value_type_id}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "time_entry_value_type_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/TimeEntryValueType"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "View time entry value type",
        "tags": [
          "TimeEntryValueTypes"
        ]
      }
    },
    "/user_custom_field_attributes": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/UserCustomFieldAttribute"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a list of user custom field attributes",
        "tags": [
          "UserCustomFieldAttributes"
        ]
      }
    },
    "/user_custom_field_attributes/{user_custom_field_attribute_id}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "user_custom_field_attribute_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/UserCustomFieldAttribute"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "UserCustomFieldAttribute not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Details of 1 user custom field attribute",
        "tags": [
          "UserCustomFieldAttributes"
        ]
      }
    },
    "/users": {
      "get": {
        "parameters": [
          {
            "description": "Used to filter on the `first_name` of the users",
            "in": "query",
            "name": "first_name",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used to filter on the `last_name` of the users",
            "in": "query",
            "name": "last_name",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used to filter on the `email` of the users",
            "in": "query",
            "name": "email",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used to filter on the `stock_location_id` of the users",
            "in": "query",
            "name": "stock_location_id",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filters active/inactive users",
            "in": "query",
            "name": "is_active",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/User"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get list of users in company",
        "tags": [
          "Users"
        ]
      },
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "city_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "cost_price": {
                    "description": "Cost of salaries",
                    "format": "float",
                    "type": "number"
                  },
                  "email": {
                    "format": "email",
                    "maxLength": 255,
                    "type": "string"
                  },
                  "expected_billable_hours": {
                    "format": "float",
                    "type": "number"
                  },
                  "extra_price": {
                    "description": "Additional cost on this employee (pension, vacation etc.)",
                    "format": "float",
                    "type": "number"
                  },
                  "first_name": {
                    "maxLength": 255,
                    "type": "string"
                  },
                  "hide_address": {
                    "type": "boolean"
                  },
                  "hide_phone": {
                    "type": "boolean"
                  },
                  "initials": {
                    "maxLength": 3,
                    "type": "string"
                  },
                  "is_active": {
                    "type": "boolean"
                  },
                  "language_id": {
                    "format": "uuid",
                    "type": "string"
                  },
                  "last_name": {
                    "maxLength": 255,
                    "type": "string"
                  },
                  "mobile": {
                    "maxLength": 32,
                    "type": "string"
                  },
                  "mobile_countrycode": {
                    "maxLength": 8,
                    "type": "string"
                  },
                  "password": {
                    "format": "password",
                    "maxLength": 255,
                    "type": "string"
                  },
                  "phone": {
                    "maxLength": 32,
                    "type": "string"
                  },
                  "phone_countrycode": {
                    "maxLength": 8,
                    "type": "string"
                  },
                  "receive_form_mails": {
                    "description": "If `true` the employee will receive an email receipt of every form submitted",
                    "type": "boolean"
                  },
                  "roles": {
                    "properties": {
                      "_ids": {
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      }
                    },
                    "type": "object"
                  },
                  "sale_price": {
                    "description": "The price this employee costs per hour when working",
                    "format": "float",
                    "type": "number"
                  },
                  "street_name": {
                    "maxLength": 255,
                    "type": "string"
                  }
                },
                "required": [
                  "first_name"
                ],
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "id": {
                          "format": "uuid",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Add user to company",
        "tags": [
          "Users"
        ]
      }
    },
    "/users/bulkActivate": {
      "post": {
        "operationId": "usersBulkActivate",
        "requestBody": {
          "$ref": "#/components/requestBodies/BulkActionRequestBody3"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            },
            "description": "Bad Request"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Activate multiple users",
        "tags": [
          "Users"
        ]
      }
    },
    "/users/bulkDeactivate": {
      "post": {
        "operationId": "usersBulkDeactivate",
        "requestBody": {
          "$ref": "#/components/requestBodies/BulkActionRequestBody3"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            },
            "description": "Bad Request"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Deactivate multiple users",
        "tags": [
          "Users"
        ]
      }
    },
    "/users/resendWelcomeSms": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "message": {
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "status": {
                      "enum": [
                        "success",
                        "error"
                      ],
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Resend Welcome SMS to the user",
        "tags": [
          "Users"
        ]
      }
    },
    "/users/{user_id}": {
      "delete": {
        "parameters": [
          {
            "in": "path",
            "name": "user_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Delete user",
        "tags": [
          "Users"
        ]
      },
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "user_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/User"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "View user",
        "tags": [
          "Users"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "path",
            "name": "user_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Edit user",
        "tags": [
          "Users"
        ]
      }
    },
    "/users/{user_id}/integration_settings": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "user_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/IntegrationSettingsUser"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "User not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a list of user integration settings",
        "tags": [
          "Users"
        ]
      },
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "user_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/Companiesintegrationsetting"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateSuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "User not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Add a user integration setting",
        "tags": [
          "Users"
        ]
      }
    },
    "/users/{user_id}/integration_settings/{integration_settings_user_id}": {
      "delete": {
        "parameters": [
          {
            "in": "path",
            "name": "user_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "integration_settings_user_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Companies integration setting not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Delete a user integration setting",
        "tags": [
          "Users"
        ]
      },
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "user_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "integration_settings_user_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/IntegrationSettingsUser"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Users integration setting not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a user integration setting",
        "tags": [
          "Users"
        ]
      },
      "put": {
        "parameters": [
          {
            "in": "path",
            "name": "user_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "integration_settings_user_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmptySuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForbiddenError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Users integration setting not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Edit a user integration setting",
        "tags": [
          "Users"
        ]
      }
    },
    "/users/{user_id}/uploadImage": {
      "parameters": [
        {
          "in": "path",
          "name": "user_id",
          "required": true,
          "schema": {
            "type": "string"
          }
        }
      ],
      "post": {
        "parameters": [
          {
            "in": "path",
            "name": "user_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "image": {
                    "format": "binary",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateSuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "User not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Upload a new image to a user",
        "tags": [
          "Users"
        ]
      }
    },
    "/users/{user_id}/user_custom_field_value": {
      "get": {
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "user_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/UserCustomFieldValue"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a list of user custom field values",
        "tags": [
          "UserCustomFieldValue"
        ]
      }
    },
    "/users/{user_id}/user_custom_field_value/{user_custom_field_value_id}": {
      "get": {
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "user_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Automatically added",
            "in": "path",
            "name": "user_custom_field_value_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/UserCustomFieldValue"
                      },
                      "type": "array"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a single record of user custom field value",
        "tags": [
          "UserCustomFieldValue"
        ]
      },
      "put": {
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "user_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Automatically added",
            "in": "path",
            "name": "user_custom_field_value_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "default": [],
                      "items": {},
                      "type": "array"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Update a single record of user custom field value",
        "tags": [
          "UserCustomFieldValue"
        ]
      }
    },
    "/vendor_product_price_files": {
      "get": {
        "parameters": [
          {
            "in": "query",
            "name": "file_name",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "vendor_name",
            "schema": {
              "type": "string"
            }
          },
          {
            "explode": false,
            "in": "query",
            "name": "vendor_ids",
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "enum": [
                "awaiting",
                "fresh",
                "expired",
                "failed"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/VendorProductPriceFile"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a list of price files",
        "tags": [
          "VendorProductPriceFiles"
        ]
      },
      "post": {
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "properties": {
                  "companies_vendor_id": {
                    "type": "string"
                  },
                  "file": {
                    "format": "binary",
                    "type": "string"
                  }
                },
                "required": [
                  "file",
                  "companies_vendor_id"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateSuccessResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestResponse"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Bad Request"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Upload a vendor price file",
        "tags": [
          "VendorProductPriceFiles"
        ]
      }
    },
    "/vendor_product_price_files/{vendor_product_price_file_id}": {
      "get": {
        "parameters": [
          {
            "description": "Automatically added",
            "in": "path",
            "name": "vendor_product_price_file_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/VendorProductPriceFile"
                        },
                        {
                          "properties": {
                            "download_link": {
                              "format": "uri",
                              "type": "string"
                            }
                          }
                        }
                      ]
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a single price file",
        "tags": [
          "VendorProductPriceFiles"
        ]
      }
    },
    "/vendor_products": {
      "get": {
        "parameters": [
          {
            "description": "Used to filter on the `name` of the vendor products",
            "in": "query",
            "name": "name",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used to filter on the `product_number` of the vendor products",
            "in": "query",
            "name": "product_number",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "Used to filter on the `barcode` of the vendor products",
            "in": "query",
            "name": "barcode",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Used to filter on the `vendor_id` of the vendor products",
            "in": "query",
            "name": "vendor_id",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/VendorProduct"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "List vendor products",
        "tags": [
          "VendorProducts"
        ]
      }
    },
    "/vendor_products/{vendor_product_id}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "vendor_product_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/VendorProduct"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "View single vendor product",
        "tags": [
          "VendorProducts"
        ]
      }
    },
    "/vendors": {
      "get": {
        "operationId": "getVendorsList",
        "parameters": [
          {
            "in": "query",
            "name": "with_custom",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "email",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "name",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "cvr",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/Vendor"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a list of vendors",
        "tags": [
          "Vendors"
        ]
      },
      "post": {
        "operationId": "addVendor",
        "requestBody": {
          "$ref": "#/components/requestBodies/addVendorVendor"
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "id": {
                          "format": "uuid",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Successfully added vendor"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Add a new vendor",
        "tags": [
          "Vendors"
        ]
      }
    },
    "/vendors/{vendor_id}": {
      "delete": {
        "parameters": [
          {
            "in": "path",
            "name": "vendor_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Delete a vendor",
        "tags": [
          "Vendors"
        ]
      },
      "get": {
        "operationId": "getVendor",
        "parameters": [
          {
            "in": "path",
            "name": "vendor_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Vendor"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  }
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorNotFound"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Get a vendor",
        "tags": [
          "Vendors"
        ]
      },
      "put": {
        "operationId": "editVendor",
        "parameters": [
          {
            "in": "path",
            "name": "vendor_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/addVendorVendor"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Edit a vendor",
        "tags": [
          "Vendors"
        ]
      }
    },
    "/wages/downloadSalaryFile": {
      "get": {
        "parameters": [
          {
            "in": "query",
            "name": "date_from",
            "required": false,
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "date_to",
            "required": false,
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "company_id",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Download salary file",
        "tags": [
          "Wages"
        ]
      }
    },
    "/wall_comments": {
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "message": {
                    "type": "string"
                  },
                  "wall_post_id": {
                    "format": "uuid",
                    "type": "string"
                  }
                },
                "required": [
                  "wall_post_id",
                  "message"
                ],
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "id": {
                          "format": "uuid",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Add wall comment",
        "tags": [
          "WallComments"
        ]
      }
    },
    "/wall_comments/{wall_comment_id}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "wall_comment_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/WallComment"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "View wall comment",
        "tags": [
          "WallComments"
        ]
      }
    },
    "/wall_posts": {
      "get": {
        "parameters": [
          {
            "in": "query",
            "name": "project_id",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "user_id",
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/WallPost"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "401": {
            "description": "Not authorized to access project"
          },
          "404": {
            "description": "Project not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "View list of wall posts",
        "tags": [
          "WallPosts"
        ]
      },
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "message": {
                    "type": "string"
                  },
                  "project_id": {
                    "format": "uuid",
                    "type": "string"
                  }
                },
                "required": [
                  "project_id",
                  "message"
                ],
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "properties": {
                        "id": {
                          "format": "uuid",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "success": {
                      "default": true,
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorValidation"
                }
              }
            },
            "description": "Validation error"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "Add a wall post",
        "tags": [
          "WallPosts"
        ]
      }
    },
    "/wall_posts/{wall_post_id}": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "wall_post_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/WallPost"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "View wall post",
        "tags": [
          "WallPosts"
        ]
      }
    },
    "/wall_posts/{wall_post_id}/wall_comments": {
      "get": {
        "parameters": [
          {
            "in": "path",
            "name": "wall_post_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/WallComment"
                      },
                      "type": "array"
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/PaginationDetails"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "OK"
          },
          "401": {
            "description": "Not authorized to access project"
          },
          "404": {
            "description": "Wall post not found"
          }
        },
        "security": [
          {
            "X-Auth-Token": []
          },
          {
            "api_key": []
          }
        ],
        "summary": "See wall comments to a wall post",
        "tags": [
          "WallPosts"
        ]
      }
    }
  },
  "components": {
    "requestBodies": {
      "Activity": {
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "hex_code": {
                  "maxLength": 6,
                  "type": "string"
                },
                "name": {
                  "maxLength": 255,
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "required": true
      },
      "BulkActionRequestBody": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/BulkActionRequestBody"
            }
          }
        },
        "description": "expense ids",
        "required": true
      },
      "BulkActionRequestBody2": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/BulkActionRequestBody"
            }
          }
        },
        "description": "Time entry types ids",
        "required": true
      },
      "BulkActionRequestBody3": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/BulkActionRequestBody"
            }
          }
        },
        "description": "User ids"
      },
      "Companiesintegrationsetting": {
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "integration_setting_id": {
                  "format": "uuid",
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        }
      },
      "Contact": {
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "address": {
                  "description": "Street address",
                  "maxLength": 255,
                  "type": "string"
                },
                "city_id": {
                  "format": "uuid",
                  "type": "string"
                },
                "contact_types": {
                  "properties": {
                    "_ids": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object"
                },
                "cvr": {
                  "maxLength": 255,
                  "type": "string"
                },
                "description": {
                  "maxLength": 8192,
                  "type": "string"
                },
                "email": {
                  "maxLength": 255,
                  "type": "string"
                },
                "erp_id": {
                  "description": "If company has integration to an ERP system, and the contacts are synchronized, this will be the ERP-systems ID of this contact",
                  "maxLength": 255,
                  "type": "string"
                },
                "name": {
                  "maxLength": 255,
                  "type": "string"
                },
                "phone": {
                  "description": "Format like eg. `28680133` or `046158971404`",
                  "maxLength": 32,
                  "type": "string"
                },
                "website": {
                  "maxLength": 255,
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        }
      },
      "TimeEntry": {
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "form_id": {
                  "format": "uuid",
                  "type": "string"
                },
                "from_time": {
                  "format": "dateTime",
                  "type": "string"
                },
                "is_all_day": {
                  "type": "boolean"
                },
                "project_id": {
                  "format": "uuid",
                  "type": "string"
                },
                "sum": {
                  "description": "Amount of seconds - should only be included when using is_all_day, otherwise will be calculated from from_time and to_time",
                  "format": "int32",
                  "type": "integer"
                },
                "time_entry_type_id": {
                  "format": "uuid",
                  "type": "string"
                },
                "to_time": {
                  "format": "dateTime",
                  "type": "string"
                },
                "user_id": {
                  "format": "uuid",
                  "type": "string"
                }
              },
              "required": [
                "user_id",
                "time_entry_type_id"
              ],
              "type": "object"
            }
          }
        }
      },
      "addCompaniesVendorCompaniesvendor": {
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "company_id": {
                  "format": "uuid",
                  "type": "string"
                },
                "delivery_price": {
                  "format": "float",
                  "type": "number"
                },
                "free_delivery_price": {
                  "format": "float",
                  "type": "number"
                },
                "is_active": {
                  "type": "boolean"
                },
                "password": {
                  "maxLength": 255,
                  "type": "string"
                },
                "receive_automatic_price_files": {
                  "type": "boolean"
                },
                "receive_invoice_mails": {
                  "type": "boolean"
                },
                "reviewed": {
                  "type": "boolean"
                },
                "use_price_files": {
                  "type": "boolean"
                },
                "username": {
                  "maxLength": 255,
                  "type": "string"
                },
                "vendor_account_reference": {
                  "maxLength": 255,
                  "type": "string"
                },
                "vendor_department_id": {
                  "format": "uuid",
                  "type": "string"
                },
                "vendor_email": {
                  "maxLength": 255,
                  "type": "string"
                },
                "vendor_id": {
                  "format": "uuid",
                  "type": "string"
                },
                "vendor_name": {
                  "maxLength": 255,
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        }
      },
      "addContactPersonContactperson": {
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "email": {
                  "maxLength": 255,
                  "type": "string"
                },
                "name": {
                  "maxLength": 255,
                  "type": "string"
                },
                "phone": {
                  "maxLength": 32,
                  "type": "string"
                },
                "title": {
                  "maxLength": 255,
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        }
      },
      "addVendorVendor": {
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "country_id": {
                  "format": "uuid",
                  "type": "string"
                },
                "cvr": {
                  "maxLength": 12,
                  "type": "string"
                },
                "email": {
                  "maxLength": 255,
                  "type": "string"
                },
                "identifier": {
                  "maxLength": 255,
                  "type": "string"
                },
                "is_custom": {
                  "type": "boolean"
                },
                "name": {
                  "maxLength": 255,
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        }
      },
      "postInvoiceLineTexts_invoiceLineTextId_": {
        "content": {
          "multipart/form-data": {
            "schema": {
              "properties": {
                "html": {
                  "type": "string"
                },
                "image": {
                  "format": "binary",
                  "type": "string"
                }
              },
              "required": [
                "html"
              ],
              "type": "object"
            }
          }
        },
        "required": true
      }
    },
    "schemas": {
      "Activity": {
        "properties": {
          "company_id": {
            "format": "uuid",
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "hex_code": {
            "maxLength": 6,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "AddDefaultProjectStatusesError": {
        "properties": {
          "message": {
            "type": "string"
          },
          "success": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "AddDefaultProjectStatusesSuccess": {
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "BadRequestResponse": {
        "properties": {
          "data": {
            "properties": {
              "code": {
                "default": 400,
                "type": "integer"
              },
              "message": {
                "type": "string"
              },
              "url": {
                "type": "string"
              }
            },
            "type": "object"
          },
          "success": {
            "default": false,
            "type": "boolean"
          }
        },
        "title": "BadRequestResponse",
        "type": "object"
      },
      "BulkActionRequestBody": {
        "properties": {
          "id": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "title": "BulkActionRequestBody",
        "type": "object"
      },
      "BulkEditIntegrationSettingsUsersItemsRequestBody": {
        "properties": {
          "integration_setting_id": {
            "format": "uuid",
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "title": "BulkEditIntegrationSettingsUsersItemsRequestBody",
        "type": "object"
      },
      "BulkEditIntegrationSettingsUsersRequestBody": {
        "properties": {
          "integration_settings": {
            "items": {
              "$ref": "#/components/schemas/BulkEditIntegrationSettingsUsersItemsRequestBody"
            },
            "type": "array"
          },
          "user_id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "title": "BulEditIntegrationSettingsUsersRequestBody",
        "type": "object"
      },
      "City": {
        "properties": {
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          },
          "zip_code": {
            "maxLength": 11,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ClockingRecord": {
        "properties": {
          "checked_in": {
            "format": "dateTime",
            "type": "string"
          },
          "checked_out": {
            "format": "dateTime",
            "type": "string"
          },
          "checkin_latitude": {
            "type": "string"
          },
          "checkin_longitude": {
            "type": "string"
          },
          "checkout_latitude": {
            "type": "string"
          },
          "checkout_longitude": {
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "modified_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "project_id": {
            "format": "uuid",
            "type": "string"
          },
          "user_id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "CompaniesFormTemplates": {
        "properties": {
          "company_id": {
            "format": "uuid",
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "description": "Read-only",
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "form_template_id": {
            "format": "uuid",
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          }
        },
        "type": "object"
      },
      "CompaniesIntegrationFeatureSetting": {
        "properties": {
          "company_id": {
            "format": "uuid",
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "integration_feature_setting_id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "value": {
            "type": "string"
          }
        },
        "title": "CompaniesIntegrationFeatureSetting",
        "type": "object"
      },
      "CompaniesIntegrationSetting": {
        "properties": {
          "company_id": {
            "format": "uuid",
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "integration_setting_id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "value": {
            "type": "string"
          }
        },
        "title": "CompaniesIntegrationSetting",
        "type": "object"
      },
      "CompaniesVendor": {
        "properties": {
          "company_id": {
            "format": "uuid",
            "type": "string"
          },
          "company_password": {
            "maxLength": 255,
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "readOnly": true,
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "delivery_price": {
            "format": "float",
            "type": "number"
          },
          "free_delivery_price": {
            "format": "float",
            "type": "number"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "is_active": {
            "type": "boolean"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "modified_by_id": {
            "format": "uuid",
            "readOnly": true,
            "type": "string"
          },
          "receive_automatic_price_files": {
            "type": "boolean"
          },
          "receive_invoice_mails": {
            "type": "boolean"
          },
          "reviewed": {
            "type": "boolean"
          },
          "use_price_files": {
            "type": "boolean"
          },
          "username": {
            "maxLength": 255,
            "type": "string"
          },
          "vendor": {
            "$ref": "#/components/schemas/Vendor"
          },
          "vendor_account_reference": {
            "maxLength": 255,
            "type": "string"
          },
          "vendor_department_id": {
            "format": "uuid",
            "type": "string"
          },
          "vendor_email": {
            "maxLength": 255,
            "type": "string"
          },
          "vendor_id": {
            "format": "uuid",
            "type": "string"
          },
          "vendor_name": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "Company": {
        "properties": {
          "city_id": {
            "format": "uuid",
            "type": "string"
          },
          "contact_person_id": {
            "format": "uuid",
            "type": "string"
          },
          "country_id": {
            "format": "uuid",
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "description": "Read-only",
            "format": "uuid",
            "type": "string"
          },
          "cvr": {
            "maxLength": 255,
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "expired": {
            "format": "date-time",
            "type": "string"
          },
          "file_id": {
            "format": "uuid",
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "invoice_email": {
            "format": "email",
            "maxLength": 255,
            "type": "string"
          },
          "language_id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          },
          "next_invoice_number": {
            "format": "int32",
            "maxLength": 8,
            "type": "integer"
          },
          "next_offer_number": {
            "format": "int32",
            "maxLength": 8,
            "type": "integer"
          },
          "next_project_number": {
            "format": "int32",
            "maxLength": 8,
            "type": "integer"
          },
          "phone": {
            "description": "Format like eg. `28680133` or `046158971404`",
            "maxLength": 32,
            "type": "string"
          },
          "phone_countrycode": {
            "description": "Format like eg. `45` or `49`",
            "maxLength": 3,
            "type": "string"
          },
          "receive_form_mails": {
            "format": "email",
            "maxLength": 255,
            "type": "string"
          },
          "street_name": {
            "maxLength": 255,
            "type": "string"
          },
          "vat_percent": {
            "format": "int32",
            "maxLength": 12,
            "type": "integer"
          },
          "website": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "CompanyPriceMargins": {
        "properties": {
          "amount_from": {
            "format": "double",
            "type": "number"
          },
          "amount_to": {
            "format": "double",
            "type": "number"
          },
          "company_id": {
            "format": "uuid",
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "percentage_ratio": {
            "format": "double",
            "type": "number"
          },
          "ratio": {
            "format": "float",
            "type": "number"
          },
          "type": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "CompanySettings": {
        "properties": {
          "company_settings_category_id": {
            "format": "uuid",
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "readOnly": true,
            "type": "string"
          },
          "default_value": {
            "maxLength": 255,
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "description": {
            "maxLength": 8192,
            "type": "string"
          },
          "feature_id": {
            "format": "uuid",
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "identifier": {
            "maxLength": 255,
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "modified_by_id": {
            "format": "uuid",
            "readOnly": true,
            "type": "string"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          },
          "options": {
            "maxLength": 255,
            "type": "string"
          },
          "placement": {
            "type": "integer"
          },
          "type": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "Contact": {
        "properties": {
          "address": {
            "description": "Street address",
            "maxLength": 255,
            "type": "string"
          },
          "centiga_id": {
            "maxLength": 255,
            "type": "string"
          },
          "city_id": {
            "format": "uuid",
            "type": "string"
          },
          "company_id": {
            "description": "Only filled out if this represents another company within Apacta (used for partners)",
            "format": "uuid",
            "type": "string"
          },
          "country_id": {
            "format": "uuid",
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "description": "Read-only",
            "format": "uuid",
            "type": "string"
          },
          "cvr": {
            "maxLength": 255,
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "description": {
            "maxLength": 8192,
            "type": "string"
          },
          "email": {
            "maxLength": 255,
            "type": "string"
          },
          "erp_id": {
            "description": "If company has integration to an ERP system, and the contacts are synchronized, this will be the ERP-systems ID of this contact",
            "maxLength": 255,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          },
          "phone": {
            "description": "Format like eg. `28680133` or `046158971404`",
            "maxLength": 32,
            "type": "string"
          },
          "pogo_id": {
            "maxLength": 255,
            "type": "string"
          },
          "tripletex_id": {
            "maxLength": 255,
            "type": "string"
          },
          "website": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ContactCustomFieldAttribute": {
        "properties": {
          "access_type": {
            "maxLength": 255,
            "type": "string"
          },
          "company_id": {
            "format": "uuid",
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "description": "Read-only",
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "is_active": {
            "type": "boolean"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          },
          "placement": {
            "maxLength": 11,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ContactCustomFieldValue": {
        "properties": {
          "contact_custom_field_attribute_id": {
            "format": "uuid",
            "type": "string"
          },
          "contact_id": {
            "format": "uuid",
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "description": "Read-only",
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "value": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ContactPerson": {
        "properties": {
          "contact_id": {
            "format": "uuid",
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "readOnly": true,
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "email": {
            "maxLength": 255,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          },
          "phone": {
            "maxLength": 32,
            "type": "string"
          },
          "title": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ContactType": {
        "properties": {
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "description": "Read-only",
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "description": {
            "maxLength": 8192,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "identifier": {
            "description": "One of 3 values",
            "enum": [
              "client",
              "partner",
              "supplier"
            ],
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "Countries": {
        "properties": {
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "currency_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "identifier": {
            "maxLength": 255,
            "type": "string"
          },
          "language_id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          },
          "phone_code": {
            "maxLength": 10,
            "type": "string"
          },
          "time_zone": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "CreateSuccessResponse": {
        "properties": {
          "data": {
            "properties": {
              "id": {
                "format": "uuid",
                "type": "string"
              }
            },
            "type": "object"
          },
          "success": {
            "default": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "Currency": {
        "properties": {
          "centiga_id": {
            "maxLength": 255,
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "currency_sign": {
            "maxLength": 8,
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "description": {
            "maxLength": 8192,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "identifier": {
            "maxLength": 255,
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          },
          "pogo_id": {
            "maxLength": 255,
            "type": "string"
          },
          "tripletex_id": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "DrivingType": {
        "properties": {
          "company_id": {
            "format": "uuid",
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "employee_price": {
            "format": "double",
            "type": "number"
          },
          "erp_id": {
            "maxLength": 255,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "invoice_price": {
            "format": "double",
            "type": "number"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "modified_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          },
          "salary_id": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "required": [
          "id",
          "company_id",
          "name",
          "employee_price",
          "invoice_price",
          "created",
          "modified"
        ],
        "type": "object"
      },
      "Email": {
        "properties": {
          "api_response": {
            "type": "string"
          },
          "body": {
            "type": "string"
          },
          "carbon_copy": {
            "type": "string"
          },
          "company_id": {
            "format": "uuid",
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "is_sent": {
            "type": "boolean"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "recipients": {
            "maxLength": 1024,
            "type": "string"
          },
          "reply_to": {
            "format": "email",
            "type": "string"
          },
          "subject": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "EmptySuccessResponse": {
        "properties": {
          "data": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "success": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ErrorNotFound": {
        "properties": {
          "data": {
            "properties": {
              "code": {
                "default": 404,
                "description": "The HTTP status code",
                "type": "integer"
              },
              "message": {
                "default": "Record not found",
                "description": "Error message",
                "type": "string"
              },
              "url": {
                "description": "The url from which this originated",
                "type": "string"
              }
            },
            "type": "object"
          },
          "success": {
            "default": false,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ErrorValidation": {
        "properties": {
          "data": {
            "properties": {
              "code": {
                "description": "The HTTP status code",
                "type": "integer"
              },
              "errorCount": {
                "description": "The amount of validation errors",
                "type": "integer"
              },
              "errors": {
                "description": "Object that contains details information about which properties failed validation and what rules they failed.",
                "type": "object"
              },
              "message": {
                "default": "A validation error occurred",
                "description": "Error message",
                "type": "string"
              },
              "url": {
                "description": "The url from which this originated",
                "type": "string"
              }
            },
            "type": "object"
          },
          "success": {
            "default": false,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "Event": {
        "properties": {
          "company_id": {
            "description": "Read-only",
            "format": "uuid",
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "description": "Read-only",
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "description": {
            "maxLength": 8192,
            "type": "string"
          },
          "end": {
            "format": "datetime",
            "type": "string"
          },
          "id": {
            "description": "Read-only",
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "modified_by_id": {
            "description": "Read-only",
            "format": "uuid",
            "type": "string"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          },
          "project_id": {
            "format": "uuid",
            "type": "string"
          },
          "start": {
            "format": "datetime",
            "type": "string"
          },
          "user_id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Expense": {
        "properties": {
          "activity_id": {
            "format": "uuid",
            "type": "string"
          },
          "comment": {
            "maxLength": 8192,
            "type": "string"
          },
          "company_id": {
            "description": "Read-only",
            "format": "uuid",
            "type": "string"
          },
          "contact_id": {
            "format": "uuid",
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "description": "Read-only",
            "format": "uuid",
            "type": "string"
          },
          "currency_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "delivery_date": {
            "format": "date",
            "type": "string"
          },
          "description": {
            "maxLength": 8192,
            "type": "string"
          },
          "due_date": {
            "format": "date",
            "type": "string"
          },
          "file_reference": {
            "maxLength": 255,
            "type": "string"
          },
          "id": {
            "description": "Read-only",
            "format": "uuid",
            "type": "string"
          },
          "is_imported": {
            "maxLength": 8192,
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "order_number": {
            "maxLength": 8192,
            "type": "string"
          },
          "project_id": {
            "format": "uuid",
            "type": "string"
          },
          "readsoft_id": {
            "maxLength": 255,
            "type": "string"
          },
          "reference": {
            "maxLength": 8192,
            "type": "string"
          },
          "roger_id": {
            "format": "uuid",
            "type": "string"
          },
          "sent_to_email": {
            "maxLength": 8192,
            "type": "string"
          },
          "short_text": {
            "maxLength": 255,
            "type": "string"
          },
          "status": {
            "maxLength": 255,
            "type": "string"
          },
          "supplier_invoice_number": {
            "maxLength": 255,
            "type": "string"
          },
          "total_buying_price": {
            "description": "Sum of all `buying_price` from expense lines",
            "format": "float",
            "type": "number"
          },
          "total_selling_price": {
            "description": "Sum of all `selling_price` from expense lines",
            "format": "float",
            "type": "number"
          }
        },
        "type": "object"
      },
      "ExpenseFile": {
        "properties": {
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "description": "Read-only",
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "description": {
            "maxLength": 8192,
            "type": "string"
          },
          "expense_id": {
            "format": "uuid",
            "type": "string"
          },
          "file": {
            "description": "File's name",
            "maxLength": 255,
            "type": "string"
          },
          "file_extension": {
            "maxLength": 255,
            "type": "string"
          },
          "file_original_name": {
            "maxLength": 255,
            "type": "string"
          },
          "file_size": {
            "description": "File size in bytes",
            "maxLength": 255,
            "type": "string"
          },
          "file_type": {
            "description": "File's MIME type",
            "maxLength": 255,
            "type": "string"
          },
          "file_url": {
            "description": "Read-only",
            "maxLength": 255,
            "type": "string"
          },
          "id": {
            "description": "Read-only",
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          }
        },
        "type": "object"
      },
      "ExpenseLine": {
        "properties": {
          "buying_price": {
            "format": "float",
            "type": "number"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "description": "Read-only",
            "format": "uuid",
            "type": "string"
          },
          "currency_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "expense_id": {
            "format": "uuid",
            "type": "string"
          },
          "id": {
            "description": "Read-only",
            "format": "uuid",
            "type": "string"
          },
          "is_invoiced": {
            "default": null,
            "format": "dateTime",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "quantity": {
            "format": "int32",
            "type": "integer"
          },
          "selling_price": {
            "format": "float",
            "type": "number"
          },
          "text": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ForbiddenError": {
        "properties": {
          "data": {
            "properties": {
              "code": {
                "default": 403,
                "description": "The HTTP status code",
                "type": "integer"
              },
              "message": {
                "default": "Forbidden",
                "description": "Error message",
                "type": "string"
              },
              "url": {
                "description": "The url from which this originated",
                "type": "string"
              }
            },
            "type": "object"
          },
          "success": {
            "default": false,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "Form": {
        "properties": {
          "approved_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "company_id": {
            "format": "uuid",
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "description": "Read-only",
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "form_date": {
            "format": "date",
            "type": "string"
          },
          "form_template_id": {
            "format": "uuid",
            "type": "string"
          },
          "id": {
            "description": "Read-only",
            "format": "uuid",
            "type": "string"
          },
          "is_draft": {
            "default": false,
            "type": "boolean"
          },
          "is_invoiced": {
            "default": null,
            "format": "dateTime",
            "type": "string"
          },
          "is_shared": {
            "default": false,
            "type": "boolean"
          },
          "mass_form_id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "project_id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "FormField": {
        "properties": {
          "comment": {
            "maxLength": 8192,
            "type": "string"
          },
          "content_value": {
            "maxLength": 255,
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "description": "Read-only",
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "file_id": {
            "format": "uuid",
            "type": "string"
          },
          "form_field_type_id": {
            "format": "uuid",
            "type": "string"
          },
          "form_id": {
            "format": "uuid",
            "type": "string"
          },
          "form_template_field_id": {
            "format": "uuid",
            "type": "string"
          },
          "id": {
            "description": "Read-only",
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "placement": {
            "format": "int32",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "FormFieldType": {
        "properties": {
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "description": "Read-only",
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "description": {
            "maxLength": 8192,
            "type": "string"
          },
          "id": {
            "description": "Read-only",
            "format": "uuid",
            "type": "string"
          },
          "identifier": {
            "maxLength": 255,
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "FormTemplate": {
        "properties": {
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "description": {
            "maxLength": 8192,
            "type": "string"
          },
          "form_category_id": {
            "format": "uuid",
            "type": "string"
          },
          "form_overview_category_id": {
            "format": "uuid",
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "identifier": {
            "maxLength": 255,
            "type": "string"
          },
          "is_active": {
            "type": "boolean"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          },
          "pdf_template_identifier": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "IntegrationFeatureSetting": {
        "properties": {
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "default_value": {
            "maxLength": 255,
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "description": {
            "maxLength": 8192,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "identifier": {
            "maxLength": 255,
            "type": "string"
          },
          "integration_feature_id": {
            "format": "uuid",
            "type": "string"
          },
          "is_custom_setting": {
            "type": "boolean"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "IntegrationSettingsUser": {
        "properties": {
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "integration_setting_id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "user_id": {
            "format": "uuid",
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "title": "IntegrationSettingsUser",
        "type": "object"
      },
      "IntegrationSettingsUsers": {
        "properties": {
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "integration_setting_id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "user_id": {
            "format": "uuid",
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "Invoice": {
        "properties": {
          "all_products_one_line": {
            "type": "boolean"
          },
          "all_working_hours_one_line": {
            "type": "boolean"
          },
          "company_id": {
            "format": "uuid",
            "type": "string"
          },
          "contact_id": {
            "format": "uuid",
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "currency_id": {
            "format": "uuid",
            "type": "string"
          },
          "date_from": {
            "format": "date",
            "type": "string"
          },
          "date_to": {
            "format": "date",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "downloaded": {
            "format": "dateTime",
            "type": "string"
          },
          "erp_id": {
            "maxLength": 255,
            "type": "string"
          },
          "erp_payment_term_id": {
            "maxLength": 255,
            "type": "string"
          },
          "eu_customer": {
            "type": "boolean"
          },
          "gross_payment": {
            "format": "float",
            "type": "number"
          },
          "group_by_forms": {
            "type": "boolean"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "include_invoiced_lines": {
            "type": "boolean"
          },
          "integration_id": {
            "format": "uuid",
            "type": "string"
          },
          "invoice_number": {
            "format": "int32",
            "maxLength": 8,
            "type": "integer"
          },
          "is_draft": {
            "type": "boolean"
          },
          "is_final_invoice": {
            "type": "boolean"
          },
          "is_locked": {
            "type": "boolean"
          },
          "is_offer": {
            "type": "boolean"
          },
          "issued_date": {
            "format": "date",
            "type": "string"
          },
          "message": {
            "maxLength": 8192,
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "net_payment": {
            "format": "float",
            "type": "number"
          },
          "offer_number": {
            "format": "int32",
            "maxLength": 8,
            "type": "integer"
          },
          "order_line_group_id": {
            "format": "uuid",
            "type": "string"
          },
          "payment_due_date": {
            "format": "date",
            "type": "string"
          },
          "payment_term_id": {
            "format": "uuid",
            "type": "string"
          },
          "project_id": {
            "format": "uuid",
            "type": "string"
          },
          "project_overview_attached": {
            "type": "boolean"
          },
          "reference": {
            "maxLength": 255,
            "type": "string"
          },
          "show_employee_name": {
            "type": "boolean"
          },
          "show_price_product_bundle": {
            "type": "boolean"
          },
          "show_prices_products_and_hours": {
            "type": "boolean"
          },
          "show_product_images": {
            "type": "boolean"
          },
          "show_products_product_bundle": {
            "type": "boolean"
          },
          "title": {
            "maxLength": 255,
            "type": "string"
          },
          "total_cost_price": {
            "format": "float",
            "type": "number"
          },
          "total_discount_percent": {
            "format": "float",
            "type": "number"
          },
          "vat_percent": {
            "format": "int32",
            "maxLength": 2,
            "type": "integer"
          },
          "vendor_id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "InvoiceFile": {
        "properties": {
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "file_id": {
            "format": "uuid",
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "invoice_id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "type": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "InvoiceLine": {
        "properties": {
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "description": {
            "maxLength": 8192,
            "type": "string"
          },
          "discount_percent": {
            "format": "int32",
            "type": "integer"
          },
          "discount_text": {
            "maxLength": 255,
            "type": "string"
          },
          "ean_product_id": {
            "format": "uuid",
            "type": "string"
          },
          "form_id": {
            "format": "uuid",
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "invoice_id": {
            "format": "uuid",
            "type": "string"
          },
          "material_id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "name": {
            "maxLength": 2048,
            "type": "string"
          },
          "parent_id": {
            "format": "uuid",
            "type": "string"
          },
          "product_bundle_id": {
            "format": "uuid",
            "type": "string"
          },
          "product_id": {
            "format": "uuid",
            "type": "string"
          },
          "quantity": {
            "format": "int32",
            "type": "integer"
          },
          "selling_price": {
            "format": "float",
            "type": "number"
          },
          "type": {
            "enum": [
              "normal",
              "text",
              "bundle"
            ],
            "type": "string"
          },
          "user_id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "InvoiceLineText": {
        "properties": {
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "file_id": {
            "format": "uuid",
            "type": "string"
          },
          "html": {
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "invoice_line_id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          }
        },
        "type": "object"
      },
      "InvoiceLineTextTemplate": {
        "properties": {
          "company_id": {
            "format": "uuid",
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "html": {
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "image": {
            "maxLength": 255,
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          }
        },
        "type": "object"
      },
      "MassMessage": {
        "properties": {
          "company_id": {
            "format": "uuid",
            "type": "string"
          },
          "content": {
            "maxLength": 8192,
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          }
        },
        "type": "object"
      },
      "MassMessagesUser": {
        "properties": {
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "is_read": {
            "type": "boolean"
          },
          "is_sent_email": {
            "type": "boolean"
          },
          "mass_message": {
            "$ref": "#/components/schemas/MassMessage"
          },
          "mass_message_id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "modified_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "user_id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Material": {
        "properties": {
          "barcode": {
            "maxLength": 255,
            "type": "string"
          },
          "billing_cycle": {
            "maxLength": 255,
            "type": "string"
          },
          "centiga_id": {
            "maxLength": 255,
            "type": "string"
          },
          "company_id": {
            "format": "uuid",
            "type": "string"
          },
          "cost_price": {
            "format": "float",
            "type": "number"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "description": {
            "maxLength": 8192,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "is_single_usage": {
            "type": "boolean"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "modified_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "name": {
            "maxLength": 2048,
            "type": "string"
          },
          "pogo_id": {
            "maxLength": 255,
            "type": "string"
          },
          "selling_price": {
            "format": "float",
            "type": "number"
          },
          "tripletex_id": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "MaterialRental": {
        "properties": {
          "amount": {
            "format": "float",
            "type": "number"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "from_date": {
            "format": "dateTime",
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "is_invoiced": {
            "format": "dateTime",
            "type": "string"
          },
          "material_id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "modified_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "project_id": {
            "format": "uuid",
            "type": "string"
          },
          "quantity": {
            "format": "float",
            "type": "number"
          },
          "to_date": {
            "format": "dateTime",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Offer": {
        "properties": {
          "address": {
            "description": "Street address",
            "maxLength": 255,
            "type": "string"
          },
          "all_lines_one_line": {
            "type": "boolean"
          },
          "all_products_one_line": {
            "type": "boolean"
          },
          "all_working_hours_one_line": {
            "type": "boolean"
          },
          "city_id": {
            "format": "uuid",
            "type": "string"
          },
          "company_id": {
            "format": "uuid",
            "type": "string"
          },
          "contact_id": {
            "format": "uuid",
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "description": {
            "maxLength": 255,
            "type": "string"
          },
          "discount_percent": {
            "format": "int32",
            "maxLength": 2,
            "type": "integer"
          },
          "erp_payment_term_id": {
            "maxLength": 255,
            "type": "string"
          },
          "expiraton_date": {
            "format": "datetime",
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "issue_date": {
            "format": "date",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "modified_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "offer_number": {
            "format": "int32",
            "maxLength": 8,
            "type": "integer"
          },
          "offer_status_id": {
            "format": "uuid",
            "type": "string"
          },
          "payment_term_id": {
            "maxLength": 255,
            "type": "string"
          },
          "rejection_reason": {
            "maxLength": 255,
            "type": "string"
          },
          "sender_id": {
            "format": "uuid",
            "type": "string"
          },
          "show_employee_name": {
            "type": "boolean"
          },
          "show_offer_lines": {
            "type": "boolean"
          },
          "show_payment_term": {
            "type": "boolean"
          },
          "show_prices": {
            "type": "boolean"
          },
          "show_product_images": {
            "type": "boolean"
          },
          "show_products_product_bundle": {
            "type": "boolean"
          },
          "slug": {
            "maxLength": 255,
            "type": "string"
          },
          "status": {
            "format": "enum - draft - accepted - rejected",
            "type": "string"
          },
          "title": {
            "maxLength": 255,
            "type": "string"
          },
          "vat_percent": {
            "format": "int32",
            "maxLength": 2,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "OfferLine": {
        "properties": {
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "description": {
            "maxLength": 8192,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "modified_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          },
          "offer_id": {
            "format": "uuid",
            "type": "string"
          },
          "product_bundle_id": {
            "format": "uuid",
            "type": "string"
          },
          "quantity": {
            "format": "int32",
            "type": "integer"
          },
          "sales_price": {
            "format": "float",
            "type": "number"
          }
        },
        "type": "object"
      },
      "OfferStatus": {
        "properties": {
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "description": {
            "maxLength": 8192,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "identifier": {
            "description": "One of 6 values",
            "enum": [
              "accepted",
              "rejected",
              "draft",
              "sent",
              "sent_and_seen",
              "declined"
            ],
            "maxLength": 255,
            "type": "string"
          },
          "is_custom": {
            "type": "boolean"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "modified_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "PaginationDetails": {
        "properties": {
          "count": {
            "type": "integer"
          },
          "current_page": {
            "type": "string"
          },
          "has_next_page": {
            "type": "boolean"
          },
          "has_prev_page": {
            "type": "boolean"
          },
          "limit": {
            "type": "integer"
          },
          "page_count": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "PaymentTerm": {
        "properties": {
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "days_of_credit": {
            "format": "int32",
            "maxLength": 11,
            "type": "integer"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "payment_term_type_id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "PaymentTermType": {
        "properties": {
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "description": {
            "maxLength": 8192,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "identifier": {
            "maxLength": 255,
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "PaymentTermsData": {
        "properties": {
          "daysOfCredit": {
            "type": "integer"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "pretty_string": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "PlannedProduct": {
        "properties": {
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          },
          "price": {
            "format": "double",
            "type": "number"
          },
          "product_number": {
            "maxLength": 255,
            "type": "string"
          },
          "project_id": {
            "format": "uuid",
            "type": "string"
          },
          "quantity": {
            "format": "int32",
            "type": "integer"
          },
          "vendor_product_id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Product": {
        "properties": {
          "average_cost_price": {
            "format": "double",
            "type": "number"
          },
          "barcode": {
            "maxLength": 255,
            "type": "string"
          },
          "buying_price": {
            "format": "double",
            "type": "number"
          },
          "centiga_id": {
            "maxLength": 255,
            "type": "string"
          },
          "company_id": {
            "format": "uuid",
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "description": {
            "maxLength": 8192,
            "type": "string"
          },
          "erp_id": {
            "maxLength": 255,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          },
          "pogo_id": {
            "maxLength": 255,
            "type": "string"
          },
          "product_number": {
            "maxLength": 255,
            "type": "string"
          },
          "project_status_type_id": {
            "format": "uuid",
            "type": "string"
          },
          "selling_price": {
            "format": "double",
            "type": "number"
          },
          "tripletex_id": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ProductVariant": {
        "properties": {
          "name": {
            "maxLength": 255,
            "type": "string"
          },
          "price": {
            "format": "double",
            "type": "number"
          },
          "product_number": {
            "maxLength": 255,
            "type": "string"
          },
          "variant_id": {
            "format": "uuid",
            "type": "string"
          },
          "variant_type": {
            "enum": [
              "expense_line",
              "vendor_product"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "Project": {
        "properties": {
          "city_id": {
            "format": "uuid",
            "type": "string"
          },
          "company_id": {
            "format": "uuid",
            "type": "string"
          },
          "contact_id": {
            "format": "uuid",
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "description": {
            "maxLength": 8192,
            "type": "string"
          },
          "end_time": {
            "format": "datetime",
            "type": "string"
          },
          "erp_project_id": {
            "maxLength": 255,
            "type": "string"
          },
          "erp_task_id": {
            "maxLength": 255,
            "type": "string"
          },
          "full_name": {
            "description": "Project number + name",
            "maxLength": 255,
            "type": "string"
          },
          "has_final_invoice": {
            "description": "Is there at least one final invoice",
            "type": "boolean"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "is_fixed_price": {
            "type": "boolean"
          },
          "is_offer": {
            "description": "Is the project was offer",
            "format": "boolean",
            "type": "string"
          },
          "is_rotten": {
            "description": "Last form date - read-only",
            "format": "datetime",
            "type": "string"
          },
          "latitude": {
            "maxLength": 255,
            "type": "string"
          },
          "longitude": {
            "maxLength": 255,
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          },
          "not_invoiced_amount": {
            "format": "float",
            "type": "number"
          },
          "offer_id": {
            "format": "uuid",
            "type": "string"
          },
          "parent_id": {
            "format": "uuid",
            "type": "string"
          },
          "pre_calculation_id": {
            "format": "uuid",
            "type": "string"
          },
          "products_total_cost_price": {
            "format": "float",
            "type": "number"
          },
          "project_image_url": {
            "type": "string"
          },
          "project_number": {
            "type": "number"
          },
          "project_status_id": {
            "format": "uuid",
            "type": "string"
          },
          "shared_project_id": {
            "format": "uuid",
            "type": "string"
          },
          "start_time": {
            "format": "datetime",
            "type": "string"
          },
          "street_name": {
            "maxLength": 255,
            "type": "string"
          },
          "thumbnail": {
            "type": "string"
          },
          "total_sales_price": {
            "format": "float",
            "type": "number"
          },
          "working_hours_total_cost_price": {
            "format": "float",
            "type": "number"
          }
        },
        "required": [
          "id",
          "name"
        ],
        "type": "object"
      },
      "ProjectCustomFieldAttribute": {
        "properties": {
          "access_type": {
            "maxLength": 255,
            "type": "string"
          },
          "company_id": {
            "format": "uuid",
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "description": "Read-only",
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "is_active": {
            "type": "boolean"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          },
          "placement": {
            "maxLength": 11,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ProjectCustomFieldValue": {
        "properties": {
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "description": "Read-only",
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "project_custom_field_attribute_id": {
            "format": "uuid",
            "type": "string"
          },
          "project_id": {
            "format": "uuid",
            "type": "string"
          },
          "value": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ProjectStatus": {
        "properties": {
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "description": {
            "maxLength": 8192,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "identifier": {
            "description": "One of 3 values",
            "enum": [
              "ready_for_billing",
              "open",
              "closed"
            ],
            "maxLength": 255,
            "type": "string"
          },
          "is_custom": {
            "type": "boolean"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ProjectStatusType": {
        "properties": {
          "_locale": {
            "example": "en_US",
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "description": {
            "maxLength": 8192,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "identifier": {
            "maxLength": 255,
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "Role": {
        "properties": {
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "description": {
            "maxLength": 255,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "identifier": {
            "maxLength": 255,
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "Sender": {
        "properties": {
          "city_id": {
            "format": "uuid",
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "description": "Read-only",
            "format": "uuid",
            "type": "string"
          },
          "cvr": {
            "maxLength": 255,
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "email": {
            "format": "email",
            "maxLength": 255,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "language_id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          },
          "phone": {
            "description": "Format like eg. `28680133` or `046158971404`",
            "maxLength": 32,
            "type": "string"
          },
          "phone_countrycode": {
            "description": "Format like eg. `45` or `49`",
            "maxLength": 3,
            "type": "string"
          },
          "street_name": {
            "maxLength": 255,
            "type": "string"
          },
          "website": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "SharedProjectContact": {
        "properties": {
          "contact_id": {
            "format": "uuid",
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "modified_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "project_id": {
            "format": "uuid",
            "type": "string"
          },
          "sent_email": {
            "type": "boolean"
          },
          "sent_sms": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "SharedProjectVendor": {
        "properties": {
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "project_id": {
            "format": "uuid",
            "type": "string"
          },
          "sent_email": {
            "type": "boolean"
          },
          "sent_sms": {
            "type": "boolean"
          },
          "vendor_id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "StockLocation": {
        "properties": {
          "company_id": {
            "format": "uuid",
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "SubscriptionSelfServiceRequestBody": {
        "properties": {
          "subscription_self_service_url": {
            "type": "string"
          }
        },
        "title": "SubscriptionSelfServiceRequestBody",
        "type": "object"
      },
      "TimeEntry": {
        "properties": {
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "form_id": {
            "format": "uuid",
            "type": "string"
          },
          "from_time": {
            "format": "dateTime",
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "is_all_day": {
            "type": "boolean"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "modified_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "project_id": {
            "format": "uuid",
            "type": "string"
          },
          "sum": {
            "description": "Amount of seconds",
            "format": "int32",
            "type": "integer"
          },
          "time_entry_type_id": {
            "format": "uuid",
            "type": "string"
          },
          "to_time": {
            "format": "dateTime",
            "type": "string"
          },
          "user_id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "TimeEntryInterval": {
        "properties": {
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "description": {
            "maxLength": 8192,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "identifier": {
            "maxLength": 255,
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "modified_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "TimeEntryRate": {
        "properties": {
          "amount": {
            "format": "float",
            "type": "number"
          },
          "company_id": {
            "format": "uuid",
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "currency_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "modified_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "selling_amount": {
            "format": "float",
            "type": "number"
          },
          "time_entry_type_id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "TimeEntryRuleGroup": {
        "properties": {
          "company_id": {
            "format": "uuid",
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "modified_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          },
          "salary_period_days": {
            "format": "float",
            "type": "number"
          },
          "salary_period_from": {
            "format": "dateTime",
            "type": "string"
          }
        },
        "type": "object"
      },
      "TimeEntryType": {
        "properties": {
          "company_id": {
            "format": "uuid",
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "description": {
            "maxLength": 8192,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "modified_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          },
          "time_entry_interval_id": {
            "format": "uuid",
            "type": "string"
          },
          "time_entry_value_type_id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "TimeEntryUnitType": {
        "properties": {
          "abbreviation": {
            "maxLength": 255,
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "description": {
            "maxLength": 8192,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "identifier": {
            "maxLength": 255,
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "modified_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "TimeEntryValueType": {
        "properties": {
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "description": {
            "maxLength": 8192,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "identifier": {
            "maxLength": 255,
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "modified_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          },
          "time_entry_unit_type_id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "UnauthorizedError": {
        "properties": {
          "data": {
            "properties": {
              "code": {
                "default": 401,
                "description": "The HTTP status code",
                "type": "integer"
              },
              "message": {
                "default": "Unauthorized",
                "description": "Error message",
                "type": "string"
              },
              "url": {
                "description": "The url from which this originated",
                "type": "string"
              }
            },
            "type": "object"
          },
          "success": {
            "default": false,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "User": {
        "properties": {
          "api_key": {
            "format": "uuid",
            "type": "string"
          },
          "city_id": {
            "format": "uuid",
            "type": "string"
          },
          "company_id": {
            "format": "uuid",
            "type": "string"
          },
          "cost_price": {
            "description": "Cost of salaries",
            "format": "float",
            "type": "number"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "email": {
            "format": "email",
            "maxLength": 255,
            "type": "string"
          },
          "expected_billable_hours": {
            "format": "float",
            "type": "number"
          },
          "extra_price": {
            "description": "Additional cost on this employee (pension, vacation etc.)",
            "format": "float",
            "type": "number"
          },
          "first_name": {
            "maxLength": 255,
            "type": "string"
          },
          "full_name": {
            "description": "READ-ONLY",
            "type": "string"
          },
          "hide_address": {
            "type": "boolean"
          },
          "hide_phone": {
            "type": "boolean"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "initials": {
            "maxLength": 3,
            "type": "string"
          },
          "is_active": {
            "type": "boolean"
          },
          "language_id": {
            "format": "uuid",
            "type": "string"
          },
          "last_name": {
            "maxLength": 255,
            "type": "string"
          },
          "mobile": {
            "maxLength": 32,
            "type": "string"
          },
          "mobile_countrycode": {
            "maxLength": 8,
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "password": {
            "format": "password",
            "maxLength": 255,
            "type": "string"
          },
          "phone": {
            "maxLength": 32,
            "type": "string"
          },
          "phone_countrycode": {
            "maxLength": 8,
            "type": "string"
          },
          "receive_form_mails": {
            "description": "If `true` the employee will receive an email receipt of every form submitted",
            "type": "boolean"
          },
          "sale_price": {
            "description": "The price this employee costs per hour when working",
            "format": "float",
            "type": "number"
          },
          "street_name": {
            "maxLength": 255,
            "type": "string"
          },
          "website": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "UserCustomFieldAttribute": {
        "properties": {
          "access_type": {
            "maxLength": 255,
            "type": "string"
          },
          "company_id": {
            "format": "uuid",
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "description": "Read-only",
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "is_active": {
            "type": "boolean"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          },
          "placement": {
            "maxLength": 11,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "UserCustomFieldValue": {
        "properties": {
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "description": "Read-only",
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "user_custom_field_attribute_id": {
            "format": "uuid",
            "type": "string"
          },
          "user_id": {
            "format": "uuid",
            "type": "string"
          },
          "value": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "Vendor": {
        "properties": {
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "cvr": {
            "maxLength": 12,
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "email": {
            "maxLength": 255,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "identifier": {
            "maxLength": 255,
            "type": "string"
          },
          "is_custom": {
            "type": "boolean"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          }
        },
        "type": "object"
      },
      "VendorProduct": {
        "properties": {
          "barcode": {
            "maxLength": 255,
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "description": {
            "maxLength": 255,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "name": {
            "maxLength": 255,
            "type": "string"
          },
          "price": {
            "format": "double",
            "type": "number"
          },
          "product_category_number": {
            "maxLength": 255,
            "type": "string"
          },
          "product_number": {
            "maxLength": 255,
            "type": "string"
          },
          "vendor_id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "VendorProductPriceFile": {
        "properties": {
          "companies_vendor_id": {
            "format": "uuid",
            "type": "string"
          },
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "created_by_id": {
            "format": "uuid",
            "type": "string"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "dir": {
            "type": "string"
          },
          "file": {
            "type": "string"
          },
          "finished": {
            "type": "boolean"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "original_file_name": {
            "type": "string"
          },
          "progress": {
            "type": "integer"
          },
          "size": {
            "type": "integer"
          },
          "status": {
            "enum": [
              "awaiting",
              "fresh",
              "expired",
              "failed"
            ],
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "vendor_products_count": {
            "type": "integer"
          },
          "vendor_products_count_total": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "WallComment": {
        "properties": {
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "user_id": {
            "maxLength": 255,
            "type": "string"
          },
          "wall_post_id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "WallPost": {
        "properties": {
          "created": {
            "$ref": "#/components/schemas/created"
          },
          "deleted": {
            "$ref": "#/components/schemas/deleted"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "modified": {
            "$ref": "#/components/schemas/modified"
          },
          "project_id": {
            "format": "uuid",
            "type": "string"
          },
          "user_id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "created": {
        "format": "dateTime",
        "readOnly": true,
        "type": "string"
      },
      "deleted": {
        "description": "Only present if it's a deleted object",
        "format": "dateTime",
        "readOnly": true,
        "type": "string"
      },
      "modified": {
        "format": "dateTime",
        "readOnly": true,
        "type": "string"
      }
    },
    "securitySchemes": {
      "X-Auth-Token": {
        "in": "header",
        "name": "X-Auth-Token",
        "type": "apiKey"
      },
      "api_key": {
        "description": "Uses the user's API token found from within the control panel in \"settings\" -> \"additional settings\"",
        "in": "query",
        "name": "api_token",
        "type": "apiKey"
      }
    }
  }
}